diff --git a/1.10.3/_static/_sphinx_javascript_frameworks_compat.js b/1.10.3/_static/_sphinx_javascript_frameworks_compat.js index 8549469dc..81415803e 100644 --- a/1.10.3/_static/_sphinx_javascript_frameworks_compat.js +++ b/1.10.3/_static/_sphinx_javascript_frameworks_compat.js @@ -1,20 +1,9 @@ -/* - * _sphinx_javascript_frameworks_compat.js - * ~~~~~~~~~~ - * - * Compatability shim for jQuery and underscores.js. - * - * WILL BE REMOVED IN Sphinx 6.0 - * xref RemovedInSphinx60Warning +/* Compatability shim for jQuery and underscores.js. * + * Copyright Sphinx contributors + * Released under the two clause BSD licence */ -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - - /** * small helper function to urldecode strings * diff --git a/1.10.3/_static/basic.css b/1.10.3/_static/basic.css index eeb0519a6..f316efcb4 100644 --- a/1.10.3/_static/basic.css +++ b/1.10.3/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -236,17 +236,11 @@ div.body p, div.body dd, div.body li, div.body blockquote { a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} -a.brackets:after, -span.brackets > a:after { - content: "]"; +a:visited { + color: #551A8B; } - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -334,11 +328,17 @@ aside.sidebar { p.sidebar-title { font-weight: bold; } + +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; padding: 7px; @@ -377,6 +377,8 @@ div.body p.centered { div.sidebar > :last-child, aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; @@ -384,6 +386,8 @@ div.admonition > :last-child { div.sidebar::after, aside.sidebar::after, +nav.contents::after, +aside.topic::after, div.topic::after, div.admonition::after, blockquote::after { @@ -608,19 +612,27 @@ ol.simple p, ul.simple p { margin-bottom: 0; } -dl.footnote > dt, -dl.citation > dt { + +aside.footnote > span, +div.citation > span { float: left; - margin-right: 0.5em; } - -dl.footnote > dd, -dl.citation > dd { +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { margin-bottom: 0em; } - -dl.footnote > dd:after, -dl.citation > dd:after { +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { content: ""; clear: both; } @@ -636,10 +648,6 @@ dl.field-list > dt { padding-left: 0.5em; padding-right: 5px; } -dl.field-list > dt:after { - content: ":"; -} - dl.field-list > dd { padding-left: 0.5em; @@ -666,6 +674,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -734,6 +752,14 @@ abbr, acronym { cursor: help; } +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + /* -- code displays --------------------------------------------------------- */ pre { diff --git a/1.10.3/_static/doctools.js b/1.10.3/_static/doctools.js index 527b876ca..4d67807d1 100644 --- a/1.10.3/_static/doctools.js +++ b/1.10.3/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/1.10.3/_static/documentation_options.js b/1.10.3/_static/documentation_options.js index b06b3fdd6..643ee261e 100644 --- a/1.10.3/_static/documentation_options.js +++ b/1.10.3/_static/documentation_options.js @@ -1,5 +1,4 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), +const DOCUMENTATION_OPTIONS = { VERSION: '1.10.3', LANGUAGE: 'en', COLLAPSE_INDEX: false, diff --git a/1.10.3/_static/jquery-3.6.0.js b/1.10.3/_static/jquery-3.6.0.js deleted file mode 100644 index fc6c299b7..000000000 --- a/1.10.3/_static/jquery-3.6.0.js +++ /dev/null @@ -1,10881 +0,0 @@ -/*! - * jQuery JavaScript Library v3.6.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 - // Plus for old WebKit, typeof returns "function" for HTML collections - // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) - return typeof obj === "function" && typeof obj.nodeType !== "number" && - typeof obj.item !== "function"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.6.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : 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.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), - function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); - } ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.6 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2021-02-16 - */ -( function( window ) { -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - return nonHex ? - - // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - /* jshint -W018 */ - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem && elem.namespaceURI, - docElem = elem && ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } - } - - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; - } ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); - } ); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; - } ); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); - - assert( function( el ) { - el.innerHTML = "" + - ""; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } - - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { - - assert( function( el ) { - - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( support.matchesSelector && documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ - - }; - }, - - "CHILD": function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - "not": markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element (issue #299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - "has": markFunction( function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - } ), - - "contains": markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); - }, - - "selected": function( elem ) { - - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo( function() { - return [ 0 ]; - } ), - - "last": createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - "even": createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "odd": createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = ""; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = ""; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -} -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the primary Deferred - primary = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - primary.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( primary.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return primary.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); - } - - return primary.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [ 1, "", "
" ], - col: [ 2, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { - - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var notAsync, result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); - this[ type ](); - result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - - // Support: Chrome 86+ - // In Chrome, if an element having a focusout handler is blurred by - // clicking outside of it, it invokes the handler synchronously. If - // that handler calls `.remove()` on the element, the data is cleared, - // leaving `result` undefined. We need to guard against this. - return result && result.value; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { - - // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - which: true -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - // Suppress native focus or blur as it's already being fired - // in leverageNative. - _default: function() { - return true; - }, - - delegateType: delegateType - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - // - // Support: Firefox 70+ - // Only Firefox includes border widths - // in computed dimensions. (gh-4529) - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; - tr.style.cssText = "border:1px solid"; - - // Support: Chrome 86+ - // Height set through cssText does not get applied. - // Computed height then comes back as 0. - tr.style.height = "1px"; - trChild.style.height = "9px"; - - // Support: Android 8 Chrome 86+ - // In our bodyBackground.html iframe, - // display for all div elements is set to "inline", - // which causes a problem only in Android 8 Chrome 86. - // Ensuring the div is display: block - // gets around this issue. - trChild.style.display = "block"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + - parseInt( trStyle.borderTopWidth, 10 ) + - parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( isValidValue ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = classesToArray( value ); - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -support.focusin = "onfocusin" in window; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, parserErrorElem; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) {} - - parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; - if ( !xml || parserErrorElem ) { - jQuery.error( "Invalid XML: " + ( - parserErrorElem ? - jQuery.map( parserErrorElem.childNodes, function( el ) { - return el.textContent; - } ).join( "\n" ) : - data - ) ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ).filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ).map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - -originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script but not if jsonp - if ( !isSuccess && - jQuery.inArray( "script", s.dataTypes ) > -1 && - jQuery.inArray( "json", s.dataTypes ) < 0 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( " - - - - - - + + + + + + + @@ -174,8 +174,8 @@
-

Access control

-
+

Access control

+
+
-

Permissions

+

Permissions

-

List all permissions

+

List all permissions

-GET /api/access/permissions
+GET /api/access/permissions

Retrieves all permissions available in the system.

Will return a 200 OK with a permission list as body.

-
Status Codes
+
Status Codes:
@@ -257,18 +257,18 @@
-

Groups

+

Groups

-

Get group list

+

Get group list

-GET /api/access/groups
+GET /api/access/groups

Retrieves all groups registered in the system.

Will return a 200 OK with a group list as body.

Requires the SETTINGS permission.

-
Status Codes
+
Status Codes:
@@ -278,16 +278,16 @@
-

Add a new group

+

Add a new group

-POST /api/access/groups
+POST /api/access/groups

Adds a new group to the system.

Expects a group registration request as request body.

Will return a group list response on success.

Requires the SETTINGS permission and a recent credentials check.

-
JSON Parameters
+
JSON Parameters:
  • key – The group’s identifier

  • name – The user’s name

  • @@ -297,7 +297,7 @@
  • default – Whether the group should be assigned to new users by default or not

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -310,16 +310,16 @@

-

Retrieve a group

+

Retrieve a group

-GET /api/access/groups/(string: key)
+GET /api/access/groups/(string: key)

Retrieves an individual group record.

Will return a 200 OK with a group record as body.

Requires the SETTINGS permission.

-
Status Codes
+
Status Codes:
@@ -329,16 +329,16 @@
-

Update a group

+

Update a group

-PUT /api/access/groups/(string: key)
+PUT /api/access/groups/(string: key)

Updates an existing group.

Expects a group update request as request body.

Will return a group list response on success.

Requires the SETTINGS permission and a recent credentials check.

-
JSON Parameters
+
JSON Parameters:
  • description – A human readable description of the group

  • permissions – The permissions to assign to the group

  • @@ -346,7 +346,7 @@
  • default – Whether the group should be assigned to new users by default or not

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -358,15 +358,15 @@

-

Delete a group

+

Delete a group

-DELETE /api/access/groups/(string: key)
+DELETE /api/access/groups/(string: key)

Deletes a group.

Will return a group list response on success.

Requires the SETTINGS permission and a recent credentials check.

-
Status Codes
+
Status Codes:
@@ -377,19 +377,19 @@
-

Users

+

Users

-

Retrieve a list of users

+

Retrieve a list of users

-GET /api/access/users
+GET /api/access/users

Retrieves a list of all registered users in OctoPrint.

Will return a 200 OK with a user list response as body.

Requires the SETTINGS permission.

-
Status Codes
+
Status Codes:
@@ -398,21 +398,21 @@
-

Retrieve a user

+

Retrieve a user

-GET /api/access/users/(string: username)
+GET /api/access/users/(string: username)

Retrieves information about a user.

Will return a 200 OK with a user record as body.

Requires either the SETTINGS permission or to be logged in as the user.

-
Parameters
+
Parameters:
  • username – Name of the user which to retrieve

-
Status Codes
+
Status Codes:
-

Add a new user

+

Add a new user

-POST /api/access/users
+POST /api/access/users

Adds a user to OctoPrint.

Expects a user registration request as request body.

Returns a list of registered users on success, see Retrieve a list of users.

Requires the SETTINGS permission and a recent credentials check.

-
JSON Parameters
+
JSON Parameters:
  • name – The user’s name

  • password – The user’s password

  • @@ -441,7 +441,7 @@
  • admin – Whether to give the account admin rights (true) or not (false)

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -454,28 +454,28 @@

-

Update a user

+

Update a user

-PUT /api/access/users/(string: username)
+PUT /api/access/users/(string: username)

Updates a user record.

Expects a user update request as request body.

Returns a list of registered users on success, see Retrieve a list of users.

Requires the SETTINGS permission and a recent credentials check.

-
Parameters
+
Parameters:
  • username – Name of the user to update

-
JSON Parameters
+
JSON Parameters:
  • admin – Whether to mark the user as admin (true) or not (false), can be left out (no change)

  • active – Whether to mark the account as activated (true) or deactivated (false), can be left out (no change)

-
Status Codes
+
Status Codes:
-

Delete a user

+

Delete a user

-DELETE /api/access/users/(string: username)
+DELETE /api/access/users/(string: username)

Delete a user record.

Returns a list of registered users on success, see Retrieve a list of users.

Requires the SETTINGS permission and a recent credentials check.

-
Parameters
+
Parameters:
  • username – Name of the user to delete

-
Status Codes
+
Status Codes:
-

Change a user’s password

+

Change a user’s password

-PUT /api/access/users/(string: username)/password
+PUT /api/access/users/(string: username)/password

Changes the password of a user.

Expects a JSON object with a property password containing the new password as request body. Without the SETTINGS permission, an additional property current @@ -521,18 +521,18 @@

Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check. Note that current will be evaluated even in presence of the SETTINGS permission, if set.

-
Parameters
+
Parameters:
  • username – Name of the user to change the password for

-
JSON Parameters
+
JSON Parameters:
  • password – The new password to set

  • current – The current password

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 400 Bad Request – If the request doesn’t contain a password property, doesn’t @@ -548,21 +548,21 @@

-

Get a user’s settings

+

Get a user’s settings

-GET /api/access/users/(string: username)/settings
+GET /api/access/users/(string: username)/settings

Retrieves a user’s settings.

Will return a 200 OK with a JSON object representing the user’s personal settings (if any) as body.

Requires the SETTINGS permission or to be logged in as the user.

-
Parameters
+
Parameters:
  • username – Name of the user to retrieve the settings for

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 403 Forbidden – No admin rights and not logged in as the user

  • @@ -574,21 +574,21 @@
-

Update a user’s settings

+

Update a user’s settings

-PATCH /api/access/users/(string: username)/settings
+PATCH /api/access/users/(string: username)/settings

Updates a user’s settings.

Expects a new settings JSON object to merge with the current settings as request body.

Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

-
Parameters
+
Parameters:
  • username – Name of the user to retrieve the settings for

-
Status Codes
+
Status Codes:
  • 204 No Content – No error

  • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

  • @@ -600,21 +600,21 @@
-

Regenerate a user’s api key

+

Regenerate a user’s api key

-POST /api/access/users/(string: username)/apikey
+POST /api/access/users/(string: username)/apikey

Generates a new API key for the user.

Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

-
Parameters
+
Parameters:
  • username – Name of the user to retrieve the settings for

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

  • @@ -626,19 +626,19 @@
-

Delete a user’s api key

+

Delete a user’s api key

-DELETE /api/access/users/(string: username)/apikey
+DELETE /api/access/users/(string: username)/apikey

Deletes a user’s personal API key.

Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

-
Parameters
+
Parameters:
  • username – Name of the user to retrieve the settings for

-
Status Codes
+
Status Codes:
  • 204 No Content – No error

  • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

  • @@ -651,17 +651,17 @@
-

Data model

+

Data model

-

Permissions

+

Permissions

-

Permission list response

- +

Permission list response

+
----++++ @@ -681,15 +681,15 @@
-

Groups

+

Groups

-

Group list response

-

Name

+

Group list response

+
----++++ @@ -708,13 +708,13 @@

Name

-

Group registration request

- +

Group registration request

+
----++++ @@ -758,13 +758,13 @@

Name

-

Group update request

- +

Group update request

+
----++++ @@ -799,15 +799,15 @@
-

Users

+

Users

-

User list response

-

Name

+

User list response

+
----++++ @@ -826,13 +826,13 @@

Name

-

User registration request

- +

User registration request

+
----++++ @@ -871,13 +871,13 @@

Name

-

User update request

- +

User update request

+
----++++ diff --git a/1.10.3/api/connection.html b/1.10.3/api/connection.html index d09ff1e78..9d2285d06 100644 --- a/1.10.3/api/connection.html +++ b/1.10.3/api/connection.html @@ -1,26 +1,26 @@ - + - + Connection handling — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -145,8 +145,8 @@
-

Connection handling

-
+

Connection handling

+
+
-

Get connection settings

+

Get connection settings

-GET /api/connection
+GET /api/connection

Retrieve the current connection settings, including information regarding the available baudrates and serial ports and the current connection state.

Requires the STATUS permission.

@@ -194,7 +194,7 @@
-
Status Codes
+
Status Codes:
@@ -204,10 +204,10 @@
-

Issue a connection command

+

Issue a connection command

-POST /api/connection
+POST /api/connection

Issue a connection command. Currently available command are:

connect

Instructs OctoPrint to connect or, if already connected, reconnect to the printer. Additional parameters are:

@@ -281,7 +281,7 @@
-
JSON Parameters
+
JSON Parameters:
  • command (string) – The command to issue, either connect, disconnect or fake_ack.

  • port (string) – connect command: The port to connect to. If left out either the existing portPreference @@ -298,7 +298,7 @@ startup. If not set no changes will be made to the current setting.

-
Status Codes
+
Status Codes:
  • 204 No Content – No error

  • 400 Bad Request – If the selected port or baudrate for a connect command are not part of the available diff --git a/1.10.3/api/datamodel.html b/1.10.3/api/datamodel.html index 50a6d2dfb..89d2845a8 100644 --- a/1.10.3/api/datamodel.html +++ b/1.10.3/api/datamodel.html @@ -1,26 +1,26 @@ - + - + Common data model — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -172,8 +172,8 @@

    -

    Common data model

    -
    +

    Common data model

    +
- +

Name

+

Printer State

+
----++++ @@ -299,13 +299,13 @@

Name

-

Temperature Data

- +

Temperature Data

+
----++++ @@ -334,13 +334,13 @@

Name

-

Historic Temperature Data Point

- +

Historic Temperature Data Point

+
----++++ @@ -370,13 +370,13 @@

Name

-

Temperature offset

- +

Temperature offset

+
----++++ @@ -400,13 +400,13 @@

Name

-

Resend stats

- +

Resend stats

+
----++++ @@ -436,15 +436,15 @@

Name

+

Job information

+
----++++ @@ -488,13 +488,13 @@

Name

-

Progress information

- +

Progress information

+
----++++ @@ -545,15 +545,15 @@

Name

+

File information

+
----++++ @@ -599,13 +599,13 @@ For a type value of folder, see Folders. For any other value see Files.

-

Folders

-

Name

+

Folders

+
----++++ @@ -630,13 +630,13 @@

Name

-

Files

- +

Files

+
----++++ @@ -693,13 +693,13 @@
-

Abridged file or folder information

-

Name

+

Abridged file or folder information

+
----++++ @@ -742,13 +742,13 @@

Name

-

GCODE analysis information

- +

GCODE analysis information

+
----++++ @@ -892,13 +892,13 @@

Name

-

References

- +

References

+
----++++ @@ -928,13 +928,13 @@

Name

-

Permission record

- +

Permission record

+
----++++ @@ -1121,13 +1121,13 @@

Name

-

Group record

- +

Group record

+
----++++ @@ -1192,13 +1192,13 @@

Name

-

Needs

- +

Needs

+
----++++ diff --git a/1.10.3/api/files.html b/1.10.3/api/files.html index 3e42d0e05..cbdb1d3be 100644 --- a/1.10.3/api/files.html +++ b/1.10.3/api/files.html @@ -1,26 +1,26 @@ - + - + File operations — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -154,8 +154,8 @@
-

File operations

-
+

File operations

+
+
-

Retrieve all files

+

Retrieve all files

-GET /api/files
+GET /api/files

Retrieve information regarding all files currently available and regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. Note that @@ -393,13 +393,13 @@

-
Parameters
+
Parameters:
  • force – If set to true, forces a refresh, overriding the cache.

  • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

-
Status Codes
+
Status Codes:
@@ -409,10 +409,10 @@
-

Retrieve files from specific location

+

Retrieve files from specific location

-GET /api/files/(string: location)
+GET /api/files/(string: location)

Retrieve information regarding the files currently available on the selected location and – if targeting the local location – regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. @@ -468,7 +468,7 @@

-
Parameters
+
Parameters:
  • location – The origin location from which to retrieve the files. Currently only local and sdcard are supported, with local referring to files stored in OctoPrint’s uploads folder and sdcard @@ -477,7 +477,7 @@

  • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 404 Not Found – If location is neither local nor sdcard

  • @@ -488,10 +488,10 @@
-

Upload file or create folder

+

Upload file or create folder

-POST /api/files/(string: location)
+POST /api/files/(string: location)

Upload a file to the selected location or create a new empty folder on it.

Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload. A Content-Length header specifying @@ -636,14 +636,14 @@

-
Parameters
+
Parameters:
  • location – The target location to which to upload the file. Currently only local and sdcard are supported here, with local referring to OctoPrint’s uploads folder and sdcard referring to the printer’s SD card. If an upload targets the SD card, it will also be stored locally first.

-
Form Parameters
+
Form Parameters:
  • file – The file to upload, including a valid filename.

  • path – The path within the location to upload the file to or create the folder in (without the future @@ -661,7 +661,7 @@

  • foldername – The name of the folder to create. Ignored when uploading a file.

-
Status Codes
+
Status Codes:
  • 201 Created – No error

  • 400 Bad Request – If no file or foldername are included in the request, userdata was provided but could @@ -680,10 +680,10 @@

-

Retrieve a specific file’s or folder’s information

+

Retrieve a specific file’s or folder’s information

-GET /api/files/(string: location)/(path: filename)
+GET /api/files/(string: location)/(path: filename)

Retrieves the selected file’s or folder’s information.

If the file is unknown, a 404 Not Found is returned.

If the targeted path is a folder, by default only its direct children will be returned. If recursive is @@ -728,14 +728,14 @@

-
Parameters
+
Parameters:
  • location – The location of the file for which to retrieve the information, either local or sdcard.

  • filename – The filename of the file for which to retrieve the information

  • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 404 Not Found – If target is neither local nor sdcard, sdcard but SD card support is disabled or the @@ -747,10 +747,10 @@

-

Issue a file command

+

Issue a file command

-POST /api/files/(string: location)/(path: path)
+POST /api/files/(string: location)/(path: path)

Issue a file command to an existing file. Currently supported commands are:

select

Selects a file for printing. Additional parameters are:

@@ -921,14 +921,14 @@
-
Parameters
+
Parameters:
  • location – The target location on which to send the command for is located, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

  • path – The path of the file for which to issue the command

-
JSON Parameters
+
JSON Parameters:
  • command (string) – The command to issue for the file, currently only select is supported

  • print (boolean) – select and slice command: Optional, whether to start printing the file directly after selection @@ -945,7 +945,7 @@ defaults to false

-
Status Codes
+
Status Codes:
  • 200 OK – No error for a select command.

  • 202 Accepted – No error for a slice command.

  • @@ -963,10 +963,10 @@
-

Delete file

+

Delete file

-DELETE /api/files/(string: location)/(path: path)
+DELETE /api/files/(string: location)/(path: path)

Delete the selected path on the selected location.

If the file to be deleted is currently being printed, a 409 Conflict will be returned.

Returns a 204 No Content after successful deletion.

@@ -978,14 +978,14 @@
-
Parameters
+
Parameters:
  • location – The target location on which to delete the file, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

  • path – The path of the file to delete

-
Status Codes
+
Status Codes:
  • 204 No Content – No error

  • 404 Not Found – If location is neither local nor sdcard or the requested file was not found

  • @@ -997,15 +997,15 @@
-

Data model

+

Data model

-

Retrieve response

-

Name

+

Retrieve response

+
----++++ @@ -1030,13 +1030,13 @@

Name

-

Upload response

- +

Upload response

+
----++++ diff --git a/1.10.3/api/general.html b/1.10.3/api/general.html index fee125831..c4f9f1659 100644 --- a/1.10.3/api/general.html +++ b/1.10.3/api/general.html @@ -1,26 +1,26 @@ - + - + General information — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -156,8 +156,8 @@
-

General information

-
+

General information

+
+
-

Authorization

+

Authorization

If Access Control is enabled OctoPrint’s API expects an API key to be supplied with each request. This API key can be either the globally configured one, a user specific one or an app and user specific one as generated by the authorization workflow implemented by the bundled Application Keys Plugin (since 1.3.10).

@@ -224,28 +224,28 @@
Global API key in the API settings
-

Fig. 22 The global API key can be found in the “API” settings

+

Fig. 22 The global API key can be found in the “API” settings

User specific API key location in user list
-

Fig. 23 The user list in the “Access Control” settings shows the API key for users (if available)

+

Fig. 23 The user list in the “Access Control” settings shows the API key for users (if available)

API key options in "Change password" dialog
-

Fig. 24 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

+

Fig. 24 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

-

Content Type

+

Content Type

If not otherwise stated, OctoPrint’s API expects request bodies and issues response bodies as Content-Type: application/json.

-

Encoding

+

Encoding

OctoPrint uses UTF-8 as charset.

That also includes headers in multipart/form-data requests, in order to allow the full UTF-8 range of characters for uploaded filenames. If a multipart/form-data sub header cannot be decoded as UTF-8, OctoPrint will also attempt @@ -258,7 +258,7 @@ in Upload file.

-

Cross-origin requests

+

Cross-origin requests

To make use of the OctoPrint API from websites other than the OctoPrint web interface, cross-origin resource sharing (CORS) must be enabled. This is the case even when the website in question is served from a different port on the same machine and on localhost.

@@ -273,7 +273,7 @@
CORS configuration in the API settings
-

Fig. 25 Support for CORS can be enabled in the “API” settings

+

Fig. 25 Support for CORS can be enabled in the “API” settings

@@ -295,9 +295,9 @@
-

CSRF Protection

+

CSRF Protection

-

New in version 1.8.3.

+

Added in version 1.8.3.

To protect OctoPrint against CSRF attacks against the non CORS affected upload endpoints, in case of browser session based authorization the API is protected using the Double Submit Cookie mitigation strategy. @@ -316,10 +316,10 @@

-

Login

+

Login

-POST /api/login
+POST /api/login

Creates a login session or retrieves information about the currently existing session (“passive login”).

Can be used in one of two ways: to login a user via username and password and create a persistent session (usually from a UI in the browser), or to retrieve information about the active user (from an existing session or an API key) @@ -340,7 +340,7 @@ on the web socket.

-
JSON Parameters
+
JSON Parameters:
  • passive – If present, performs a passive login only, returning information about the current user that’s active either through an existing session or the used API key

  • @@ -349,7 +349,7 @@
  • remember – (active login only) Whether to set a “remember me” cookie on the session

-
Status Codes
+
Status Codes:
  • 200 OK – Successful login

  • 403 Forbidden – Username/password mismatch, unknown user or deactivated account

  • @@ -360,15 +360,15 @@
-

Logout

+

Logout

-POST /api/logout
+POST /api/logout

Ends the current login session of the current user.

Only makes sense in the context of browser based workflows.

Will return a 204 No Content.

-
Status Codes
+
Status Codes:
@@ -378,15 +378,15 @@
-

Current User

+

Current User

-GET /api/currentuser
+GET /api/currentuser

Retrieves information about the current user.

Will return a 200 OK with a current user object as body.

-
Status Codes
+
Status Codes:
@@ -396,16 +396,16 @@
-

Data model

+

Data model

-

Login response

+

Login response

The Login response is a user record extended by the following fields:

-

Name

+
----++++ @@ -429,13 +429,13 @@

Name

-

Current user

- +

Current user

+
----++++ diff --git a/1.10.3/api/index.html b/1.10.3/api/index.html index 15d133ebb..1585d44f7 100644 --- a/1.10.3/api/index.html +++ b/1.10.3/api/index.html @@ -1,26 +1,26 @@ - + - + REST API — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -139,7 +139,7 @@
-

REST API

+

REST API

  • General information
      diff --git a/1.10.3/api/job.html b/1.10.3/api/job.html index 4680f42b9..c7b081743 100644 --- a/1.10.3/api/job.html +++ b/1.10.3/api/job.html @@ -1,26 +1,26 @@ - + - + Job operations — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -149,10 +149,10 @@
      -

      Job operations

      +

      Job operations

      Use these operations to query the currently selected file and start/cancel/restart/pause the actual print job.

      -
      +
    -
+
-

Issue a job command

+

Issue a job command

-POST /api/job
+POST /api/job

Job commands allow starting, pausing and cancelling print jobs. Available commands are:

start

Starts the print of the currently selected file. For selecting a file, see Issue a file command. @@ -297,12 +297,12 @@

-
JSON Parameters
+
JSON Parameters:
  • command (string) – The command to issue, either start, restart, pause or cancel

-
Status Codes
+
Status Codes:

Name

+

Job information response

+
----++++ diff --git a/1.10.3/api/languages.html b/1.10.3/api/languages.html index 1eb57354b..eea4109bb 100644 --- a/1.10.3/api/languages.html +++ b/1.10.3/api/languages.html @@ -1,26 +1,26 @@ - + - + Languages — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -152,12 +152,12 @@
-

Languages

+

Languages

Note

All language pack management operations require the SETTINGS permission.

-
+
+
-

Retrieve installed language packs

+

Retrieve installed language packs

-GET /api/languages
+GET /api/languages

Retrieves a list of installed language packs.

The response body will contain a list response.

Example

@@ -223,7 +223,7 @@
-
Status Codes
+
Status Codes:
@@ -233,10 +233,10 @@
-

Upload a language pack

+

Upload a language pack

-POST /api/languages
+POST /api/languages

Uploads a new language pack to OctoPrint.

Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload.

@@ -247,12 +247,12 @@

Will return a list of installed language packs upon completion, as described in Retrieve installed language packs.

-
Form Parameters
+
Form Parameters:
  • file – The language pack file to upload

-
Status Codes
+
Status Codes:
  • 200 OK – The file was uploaded successfully

@@ -262,10 +262,10 @@
-

Delete a language pack

+

Delete a language pack

-DELETE /api/languages/(string: locale)/(string: pack)
+DELETE /api/languages/(string: locale)/(string: pack)

Deletes the language pack pack for locale locale. Can be either the _core pack (containing translations for core OctoPrint) or the language pack for a plugin specified by the plugin identifier.

@@ -304,13 +304,13 @@
-
Parameters
+
Parameters:
  • locale – The locale for which to delete the language pack

  • pack – The language pack to delete

-
Status Codes
+
Status Codes:
  • 200 OK – The language pack was deleted

@@ -320,15 +320,15 @@
-

Data model

+

Data model

-

List response

-

Name

+

List response

+
----++++ @@ -347,13 +347,13 @@

Name

-

Component list

- +

Component list

+
----++++ @@ -382,13 +382,13 @@

Name

-

Language pack metadata

- +

Language pack metadata

+
----++++ diff --git a/1.10.3/api/logs.html b/1.10.3/api/logs.html index 2c32cd79f..fd86f1b11 100644 --- a/1.10.3/api/logs.html +++ b/1.10.3/api/logs.html @@ -1,26 +1,26 @@ - + - + Log file management — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,7 +141,7 @@
-

Log file management

+

Log file management

Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins API for the API documentation.

The former endpoints /api/logs and api/logs/<path> are marked as deprecated but still work for now. New diff --git a/1.10.3/api/printer.html b/1.10.3/api/printer.html index fbaa770a7..bb99e5a1c 100644 --- a/1.10.3/api/printer.html +++ b/1.10.3/api/printer.html @@ -1,26 +1,26 @@ - + - + Printer operations — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -165,8 +165,8 @@

-

Printer operations

-
+

Printer operations

+
+

Printer control is mostly achieved through the use of commands, issued to resources reflecting components of the printer. OctoPrint currently knows the following components:

@@ -246,10 +246,10 @@ If you need the printer’s serial communication, you’ll need to subscribe to push updates.

-

Retrieve the current printer state

+

Retrieve the current printer state

-GET /api/printer
+GET /api/printer

Retrieves the current state of the printer. Returned information includes:

-
Query Parameters
+
Query Parameters:
  • exclude – An optional comma-separated list of fields to exclude from the response (e.g. if not needed by the client). Valid values to supply here are temperature, sd and state.

  • @@ -383,7 +383,7 @@ will be returned. Will be ignored if history is not enabled.

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 409 Conflict – If the printer is not operational.

  • @@ -394,10 +394,10 @@
    -

    Issue a print head command

    +

    Issue a print head command

    -POST /api/printer/printhead
    +POST /api/printer/printhead

    Print head commands allow jogging and homing the print head in all three axes. Available commands are:

    jog

    Jogs the print head (relatively) by a defined amount in one or more axes. Additional parameters are:

    @@ -494,7 +494,7 @@
    -
    JSON Parameters
    +
    JSON Parameters:
    • command (string) – The command to issue, either jog or home.

    • x (number) – jog command: The amount to travel on the X axis in mm.

    • @@ -504,7 +504,7 @@
    • factor (number) – feedrate command: The factor to apply to the feed rate, percentage between 50 and 200% as integer or float.

    -
    Status Codes
    +
    Status Codes:
    • 204 No Content – No error

    • 400 Bad Request – Invalid axis specified, invalid value for travel amount for a jog command or factor for feed rate or otherwise invalid @@ -517,10 +517,10 @@

    -

    Issue a tool command

    +

    Issue a tool command

    -POST /api/printer/tool
    +POST /api/printer/tool

    Tool commands allow setting the temperature and temperature offsets for the printer’s tools (hotends), selecting the current tool and extruding/retracting from the currently selected tool. Available commands are:

    @@ -677,7 +677,7 @@
    -
    JSON Parameters
    +
    JSON Parameters:
    • command (string) – The command to issue, either target, offset, select or extrude.

    • targets (object) – target command: The target temperatures to set. Valid properties have to match the format tool{n}.

    • @@ -687,7 +687,7 @@
    • factor (number) – flowrate command: The factor to apply to the flow rate, percentage between 75 and 125% as integer or float.

    -
    Status Codes
    +
    Status Codes:
    • 204 No Content – No error

    • 400 Bad Request – If targets or offsets contains a property or tool contains a value not matching the format @@ -701,10 +701,10 @@

    -

    Retrieve the current tool state

    +

    Retrieve the current tool state

    -GET /api/printer/tool
    +GET /api/printer/tool

    Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for all of the printer’s available tools.

    It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -764,7 +764,7 @@

    -
    Query Parameters
    +
    Query Parameters:
    • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

    • @@ -772,7 +772,7 @@ will be returned. Will be ignored if history is not enabled.

    -
    Status Codes
    +
    Status Codes:
    • 200 OK – No error

    • 409 Conflict – If the printer is not operational.

    • @@ -783,10 +783,10 @@
    -

    Issue a bed command

    +

    Issue a bed command

    -POST /api/printer/bed
    +POST /api/printer/bed

    Bed commands allow setting the temperature and temperature offsets for the printer’s heated bed. Available commands are:

    @@ -840,14 +840,14 @@
    -
    JSON Parameters
    +
    JSON Parameters:
    • command (string) – The command to issue, either target or offset.

    • target (object) – target command: The target temperature to set.

    • offset (object) – offset command: The offset temperature to set.

    -
    Status Codes
    +
    Status Codes:
    • 204 No Content – No error

    • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -861,10 +861,10 @@

    -

    Retrieve the current bed state

    +

    Retrieve the current bed state

    -GET /api/printer/bed
    +GET /api/printer/bed

    Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated bed.

    It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -914,7 +914,7 @@

    -
    Query Parameters
    +
    Query Parameters:
    • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

    • @@ -922,7 +922,7 @@ will be returned. Will be ignored if history is not enabled.

    -
    Status Codes
    +
    Status Codes:
    • 200 OK – No error

    • 409 Conflict – If the printer is not operational or the selected printer profile @@ -934,10 +934,10 @@

    -

    Issue a chamber command

    +

    Issue a chamber command

    -POST /api/printer/chamber
    +POST /api/printer/chamber

    Chamber commands allow setting the temperature and temperature offsets for the printer’s heated chamber. Available commands are:

    @@ -991,14 +991,14 @@
    -
    JSON Parameters
    +
    JSON Parameters:
    • command (string) – The command to issue, either target or offset.

    • target (object) – target command: The target temperature to set.

    • offset (object) – offset command: The offset temperature to set.

    -
    Status Codes
    +
    Status Codes:
    • 204 No Content – No error

    • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -1012,10 +1012,10 @@

    -

    Retrieve the current chamber state

    +

    Retrieve the current chamber state

    -GET /api/printer/chamber
    +GET /api/printer/chamber

    Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated chamber.

    It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -1065,7 +1065,7 @@

    -
    Query Parameters
    +
    Query Parameters:
    • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

    • @@ -1073,7 +1073,7 @@ will be returned. Will be ignored if history is not enabled.

    -
    Status Codes
    +
    Status Codes:
    • 200 OK – No error

    • 409 Conflict – If the printer is not operational or the selected printer profile @@ -1085,10 +1085,10 @@

    -

    Issue an SD command

    +

    Issue an SD command

    -POST /api/printer/sd
    +POST /api/printer/sd

    SD commands allow initialization, refresh and release of the printer’s SD card (if available).

    Available commands are:

    @@ -1157,12 +1157,12 @@
    -
    JSON Parameters
    +
    JSON Parameters:
    • command (string) – The command to issue, either init, refresh or release.

    -
    Status Codes
    +
    Status Codes:
    • 204 No Content – No error

    • 409 Conflict – If a refresh or release command is issued but the SD card has not been initialized (e.g. @@ -1174,10 +1174,10 @@

    -

    Retrieve the current SD state

    +

    Retrieve the current SD state

    -GET /api/printer/sd
    +GET /api/printer/sd

    Retrieves the current state of the printer’s SD card. For this request no authentication is needed.

    If SD support has been disabled in OctoPrint’s settings, a 404 Not Found is returned.

    Returns a 200 OK with an SD State Response in the body @@ -1199,7 +1199,7 @@

    -
    Status Codes
    +
    Status Codes:
    • 200 OK – No error

    • 404 Not Found – If SD support has been disabled in OctoPrint’s config.

    • @@ -1210,10 +1210,10 @@
    -

    Retrieve information about the last error

    +

    Retrieve information about the last error

    -GET /api/printer/error
    +GET /api/printer/error

    Retrieves information about the last error that occurred on the printer.

    Returns a 200 OK with an Error Information in the body upon success.

    @@ -1258,7 +1258,7 @@
    -
    Status Codes
    +
    Status Codes:
    @@ -1268,10 +1268,10 @@
    -

    Send an arbitrary command to the printer

    +

    Send an arbitrary command to the printer

    -POST /api/printer/command
    +POST /api/printer/command

    Sends any command to the printer via the serial interface. Should be used with some care as some commands can interfere with or even stop a running print job.

    Expects a Arbitrary Command Request as the request’s body.

    @@ -1309,13 +1309,13 @@
    -
    JSON Parameters
    +
    JSON Parameters:
    • command (string) – Single command to send to the printer, mutually exclusive with commands.

    • commands (string) – List of commands to send to the printer, mutually exclusive with command.

    -
    Status Codes
    +
    Status Codes:
    @@ -1325,10 +1325,10 @@
    -

    Retrieve custom controls

    +

    Retrieve custom controls

    -GET /api/printer/command/custom
    +GET /api/printer/command/custom

    Retrieves the custom controls as configured in config.yaml.

    Please refer to the documentation of custom controls on what @@ -1337,7 +1337,7 @@ in the body upon success.

    Requires the CONTROL permission.

    -
    Status Codes
    +
    Status Codes:
    @@ -1347,15 +1347,15 @@
    -

    Data model

    +

    Data model

    -

    Full State Response

    -

Name

+

Full State Response

+
----++++ @@ -1384,13 +1384,13 @@

Name

-

Temperature State

- +

Temperature State

+
----++++ @@ -1421,13 +1421,13 @@

Name

-

SD State

- +

SD State

+
----++++ @@ -1446,13 +1446,13 @@

Name

-

Arbitrary Command Request

- +

Arbitrary Command Request

+
----++++ @@ -1491,13 +1491,13 @@

Name

-

Custom Controls Response

- +

Custom Controls Response

+
----++++ @@ -1516,13 +1516,13 @@

Name

-

Error Information

- +

Error Information

+
----++++ diff --git a/1.10.3/api/printerprofiles.html b/1.10.3/api/printerprofiles.html index 9ddeca988..ba05ce159 100644 --- a/1.10.3/api/printerprofiles.html +++ b/1.10.3/api/printerprofiles.html @@ -1,26 +1,26 @@ - + - + Printer profile operations — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -154,8 +154,8 @@
-

Printer profile operations

-
+

Printer profile operations

+
+

OctoPrint allows the management of Printer profiles that define a printer’s physical properties (such as print volume, whether a heated bed is available, maximum speeds on its axes etc). The data stored within these profiles is used for both slicing and gcode visualization.

-

Retrieve all printer profiles

+

Retrieve all printer profiles

-GET /api/printerprofiles
+GET /api/printerprofiles

Retrieves an object representing all configured printer profiles.

Returns a 200 OK with a profile list.

Requires the CONNECTION permission.

@@ -290,15 +290,15 @@
-

Retrieve a single printer profile

+

Retrieve a single printer profile

-GET /api/printerprofiles/(string: identifier)
+GET /api/printerprofiles/(string: identifier)

Retrieves an existing single printer profile.

Returns a 200 OK with a profile.

Requires the CONNECTION permission.

-
Status Codes
+
Status Codes:
-

Add a new printer profile

+

Add a new printer profile

-POST /api/printerprofiles
+POST /api/printerprofiles

Adds a new printer profile based on either the current default profile or the profile identified in basedOn.

The provided profile data will be merged with the profile data from the @@ -472,10 +472,10 @@

-

Update an existing printer profile

+

Update an existing printer profile

-PATCH /api/printerprofiles/(string: profile)
+PATCH /api/printerprofiles/(string: profile)

Updates an existing printer profile by its profile identifier.

The updated (potentially partial) profile is expected in the request’s body as part of an Add or update request.

@@ -552,10 +552,10 @@
-

Remove an existing printer profile

+

Remove an existing printer profile

-DELETE /api/printerprofiles/(string: profile)
+DELETE /api/printerprofiles/(string: profile)

Deletes an existing printer profile by its profile identifier.

If the profile to be deleted is the currently selected profile, a 409 Conflict will be returned.

@@ -574,15 +574,15 @@
-

Data model

+

Data model

-

Profile list

-

Name

+

Profile list

+
----++++ @@ -606,13 +606,13 @@

Name

-

Add or update request

- +

Add or update request

+
----++++ @@ -641,13 +641,13 @@

Name

-

Profile

- +

Profile

+
----++++ diff --git a/1.10.3/api/push.html b/1.10.3/api/push.html index d2f3657c3..dce435b33 100644 --- a/1.10.3/api/push.html +++ b/1.10.3/api/push.html @@ -1,26 +1,26 @@ - + - + Push updates — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -150,14 +150,14 @@
-

Push updates

+

Push updates

Warning

The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

-
+
+

To enable real time information exchange between client and server, OctoPrint uses SockJS to push status updates, temperature changes etc to connected web interface instances.

@@ -315,15 +315,15 @@
-

Data model

+

Data model

-

connected payload

-

Name

+

connected payload

+
----++++ @@ -371,13 +371,13 @@

Name

-

current and history payload

- +

current and history payload

+
----++++ @@ -442,13 +442,13 @@

Name

-

event payload

- +

event payload

+
----++++ @@ -472,13 +472,13 @@

Name

-

slicingProgress payload

- +

slicingProgress payload

+
----++++ diff --git a/1.10.3/api/server.html b/1.10.3/api/server.html index 41afb6b48..7a98087e4 100644 --- a/1.10.3/api/server.html +++ b/1.10.3/api/server.html @@ -1,26 +1,26 @@ - + - + Server information — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,12 +141,12 @@
-

Server information

+

Server information

-GET /api/server
+GET /api/server
-

New in version 1.5.0.

+

Added in version 1.5.0.

Retrieve information regarding server status. Returns a JSON object with two keys, version containing the server version and safemode containing one of settings, incomplete_startup or flag @@ -169,7 +169,7 @@

-
Status Codes
+
Status Codes:
diff --git a/1.10.3/api/settings.html b/1.10.3/api/settings.html index 5ed40c7fb..1a24dae19 100644 --- a/1.10.3/api/settings.html +++ b/1.10.3/api/settings.html @@ -1,26 +1,26 @@ - + - + Settings — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -148,8 +148,8 @@
-

Settings

-
+

Settings

+
+
-

Retrieve current settings

+

Retrieve current settings

-GET /api/settings
+GET /api/settings

Retrieves the current configuration of OctoPrint.

Returns a 200 OK with the current settings as a JSON object in the response body.

@@ -178,10 +178,10 @@
-

Save settings

+

Save settings

-POST /api/settings
+POST /api/settings

Saves the provided settings in OctoPrint.

Expects a JSON object with the settings to change as request body. This can be either a full settings tree, or only a partial tree containing only those fields that should @@ -219,16 +219,16 @@

-

Regenerate the system wide API key

+

Regenerate the system wide API key

-POST /api/settings/apikey
+POST /api/settings/apikey

Generates a new system wide API key.

Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

Requires admin rights.

-
Status Codes
+
Status Codes:
-

Fetch template data

+

Fetch template data

-GET /api/settings/templates
+GET /api/settings/templates

Fetch data (currently only the sorting order) of all registered template components in the system.

Use this to get a full list of the identifiers of all UI components provided either by core OctoPrint or any currently active plugins.

@@ -488,7 +488,7 @@ me an email to make sure I can give you a heads-up when something changes in an backwards incompatible way.

-
Status Codes
+
Status Codes:

Name

---- diff --git a/1.10.3/api/slicing.html b/1.10.3/api/slicing.html index bfa59ba6b..19e80075f 100644 --- a/1.10.3/api/slicing.html +++ b/1.10.3/api/slicing.html @@ -1,26 +1,26 @@ - + - + Slicing — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -157,14 +157,14 @@
-

Slicing

+

Slicing

Warning

The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

-
+
+

The Slicing API on one hand offers methods for managing slicing profiles stored within OctoPrint, on the other hand it will be extended in the future to also allow for multi extruder slicing (which currently is not possible with the slice command of the File operations API and other things.

-

List All Slicers and Slicing Profiles

+

List All Slicers and Slicing Profiles

-GET /api/slicing
+GET /api/slicing

Returns a list of all available slicing profiles for all registered slicers in the system.

Returns a 200 OK response with a Slicer list as the body upon successful completion.

@@ -233,7 +233,7 @@
-
Status Codes
+
Status Codes:
@@ -243,10 +243,10 @@
-

List Slicing Profiles of a Specific Slicer

+

List Slicing Profiles of a Specific Slicer

-GET /api/slicing/(string: slicer)/profiles
+GET /api/slicing/(string: slicer)/profiles

Returns a list of all available slicing profiles for the requested slicer.

Returns a 200 OK response with a Profile list as the body upon successful completion.

@@ -277,12 +277,12 @@
-
Parameters
+
Parameters:
  • slicer – The identifying key of the slicer for which to list the available profiles.

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 404 Not Found – If the slicer was unknown to the system or not yet configured.

  • @@ -293,10 +293,10 @@
-

Retrieve Specific Profile

+

Retrieve Specific Profile

-GET /api/slicing/(string: slicer)/profiles/(string: key)
+GET /api/slicing/(string: slicer)/profiles/(string: key)

Retrieves the specified profile from the system.

Returns a 200 OK response with a full Profile as the body upon successful completion.

@@ -326,13 +326,13 @@
-
Parameters
+
Parameters:
  • slicer – The identifying key of the slicer for which to list the available profiles.

  • name – The identifying key of the profile to retrieve

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 404 Not Found – If the slicer or the profile key was unknown to the system.

  • @@ -343,10 +343,10 @@
-

Add Slicing Profile

+

Add Slicing Profile

-PUT /api/slicing/(string: slicer)/profiles/(string: key)
+PUT /api/slicing/(string: slicer)/profiles/(string: key)

Adds a new slicing profile for the given slicer to the system. If the profile identified by key already exists, it will be overwritten.

Expects a Profile as body.

@@ -381,13 +381,13 @@
-
Parameters
+
Parameters:
  • slicer – The identifying key of the slicer for which to add the profile

  • key – The identifying key of the new profile

-
Status Codes
+
Status Codes:
-

Update Slicing Profile

+

Update Slicing Profile

-PATCH /api/slicing/(string: slicer)/profiles/(string: key)
+PATCH /api/slicing/(string: slicer)/profiles/(string: key)

Updates the slicing profile identified by key for the slicer slicer.

Expects a profile update request as body.

Returns a 201 Created and an abridged Profile in the body upon successful completion.

Requires the SETTINGS permission.

-
Parameters
+
Parameters:
  • slicer – The identifying key of the slicer for which to update the profile

  • key – The identifying key of the profile to update

-
JSON Parameters
+
JSON Parameters:
  • data – New profile overrides to apply

  • displayName – New display name

  • @@ -422,7 +422,7 @@
  • default – Whether to make the profile default (true) or not (false) for the slicer

-
Status Codes
+
Status Codes:
-

Delete Slicing Profile

+

Delete Slicing Profile

-DELETE /api/slicing/(string: slicer)/profiles/(string: key)
+DELETE /api/slicing/(string: slicer)/profiles/(string: key)

Delete the slicing profile identified by key for the slicer slicer. If the profile doesn’t exist, the request will succeed anyway.

Requires the SETTINGS permission.

-
Parameters
+
Parameters:
  • slicer – The identifying key of the slicer for which to delete the profile

  • key – The identifying key of the profile to delete

-
Status Codes
+
Status Codes:
-

Data model

+

Data model

-

Slicer list

-

Field

Notes

+

Slicer list

+
----++++ @@ -485,13 +485,13 @@

Name

-

Slicer

- +

Slicer

+
----++++ @@ -531,13 +531,13 @@

Name

-

Profile list

- +

Profile list

+
----++++ @@ -556,13 +556,13 @@

Name

-

Profile

- +

Profile

+
----++++ @@ -609,13 +609,13 @@

Name

-

Profile Update Request

- +

Profile Update Request

+
----++++ diff --git a/1.10.3/api/system.html b/1.10.3/api/system.html index 005c23eb0..ffa127f8f 100644 --- a/1.10.3/api/system.html +++ b/1.10.3/api/system.html @@ -1,26 +1,26 @@ - + - + System — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -152,16 +152,16 @@
-

System

+

System

Note

All system operations require the SYSTEM permission.

-

List all registered system commands

+

List all registered system commands

-GET /api/system/commands
+GET /api/system/commands

Retrieves all configured system commands.

A 200 OK with a List all response will be returned.

@@ -204,7 +204,7 @@
-
Status Codes
+
Status Codes:
@@ -214,10 +214,10 @@
-

List all registered system commands for a source

+

List all registered system commands for a source

-GET /api/system/commands/(string: source)
+GET /api/system/commands/(string: source)

Retrieves the configured system commands for the specified source.

The response will contain a list of command definitions.

Example

@@ -255,12 +255,12 @@
-
Parameters
+
Parameters:
  • source – The source for which to list commands, currently either core or custom

-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 404 Not Found – If a source other than core or custom is specified.

  • @@ -271,10 +271,10 @@
-

Execute a registered system command

+

Execute a registered system command

-POST /api/system/commands/(string: source)/(string: action)
+POST /api/system/commands/(string: source)/(string: action)

Execute the system command action defined in source.

Example

Restart OctoPrint via the core system command restart (which is available if the server @@ -288,13 +288,13 @@

-
Parameters
+
Parameters:
  • source – The source for which to list commands, currently either core or custom

  • action – The identifier of the command, action from its definition

-
Status Codes
+
Status Codes:
  • 204 No Content – No error

  • 400 Bad Request – If a divider is supposed to be executed or if the request is malformed otherwise

  • @@ -308,15 +308,15 @@
-

Data model

+

Data model

-

List all response

-

Name

+

List all response

+
----++++ @@ -340,15 +340,15 @@

Name

-

Client command definitions

+

Client command definitions

A restricted form of the full command definition. For exposing via the API.

- +
----++++ @@ -390,14 +390,14 @@

Name

-

Command definition

+

Command definition

The full command definition is not available via the API.

- +
----++++ diff --git a/1.10.3/api/timelapse.html b/1.10.3/api/timelapse.html index 8de1e6adf..dece32e84 100644 --- a/1.10.3/api/timelapse.html +++ b/1.10.3/api/timelapse.html @@ -1,26 +1,26 @@ - + - + Timelapse — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -155,8 +155,8 @@
-

Timelapse

-
+

Timelapse

+
+
-

Retrieve a list of timelapses and the current config

+

Retrieve a list of timelapses and the current config

-GET /api/timelapse
+GET /api/timelapse

Retrieves a list of timelapses and the current config.

Returns a timelapse list in the response body.

Requires the TIMELAPSE_LIST permission.

-
Parameters
+
Parameters:
  • unrendered – If provided and true, also include unrendered timelapses

@@ -203,16 +203,16 @@
-

Delete a timelapse

+

Delete a timelapse

-DELETE /api/timelapse/(string: name)
+DELETE /api/timelapse/(string: name)

Delete the timelapse name.

Returns a timelapse list in the response body with the updated information.

Requires the TIMELAPSE_DELETE permission.

-
Parameters
+
Parameters:
  • unrendered – If provided and true, also include unrendered timelapses in the response

@@ -222,15 +222,15 @@
-

Issue a command for an unrendered timelapse

+

Issue a command for an unrendered timelapse

-POST /api/timelapse/unrendered/(string: name)
+POST /api/timelapse/unrendered/(string: name)

Current only supports to render the unrendered timelapse name via the render command.

Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

-
JSON Parameters
+
JSON Parameters:
  • command – The command to issue, currently only render is supported

@@ -240,16 +240,16 @@
-

Delete an unrendered timelapse

+

Delete an unrendered timelapse

-DELETE /api/timelapse/unrendered/(string: name)
+DELETE /api/timelapse/unrendered/(string: name)

Delete the unrendered timelapse name.

Returns a timelapse list in the response body.

Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

-
Parameters
+
Parameters:
  • unrendered – If provided and true, also include unrendered timelapses in the response

@@ -259,10 +259,10 @@
-

Change current timelapse config

+

Change current timelapse config

-POST /api/timelapse
+POST /api/timelapse

Save a new timelapse configuration to use for the next print. Set the optional save flag in the configuration to true in order to make the new configuration persist across restarts.

The configuration is expected as the request body.

@@ -270,7 +270,7 @@ response body.

Requires the TIMELAPSE_ADMIN permission.

-
Parameters
+
Parameters:
  • unrendered – If provided and true, also include unrendered timelapses in the response

@@ -280,15 +280,15 @@
-

Data model

+

Data model

-

Timelapse list

-

Name

+

Timelapse list

+
----++++ @@ -317,13 +317,13 @@

Name

-

Rendered timelapse

- +

Rendered timelapse

+
----++++ @@ -367,13 +367,13 @@

Name

-

Unrendered timelapse

- +

Unrendered timelapse

+
----++++ @@ -422,13 +422,13 @@

Name

-

Timelapse configuration

- +

Timelapse configuration

+
----++++ @@ -452,14 +452,14 @@

Name

Further fields are timelapse type specific, see below for details.

-

Z-change-triggered timelapse

+

Z-change-triggered timelapse

For timelapse type zchange.

- +
----++++ @@ -493,14 +493,14 @@

Name

-

Time triggered timelapse

+

Time triggered timelapse

For timelapse type timed.

- +
----++++ diff --git a/1.10.3/api/util.html b/1.10.3/api/util.html index f8772293c..1c20c5026 100644 --- a/1.10.3/api/util.html +++ b/1.10.3/api/util.html @@ -1,26 +1,26 @@ - + - + Util — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -152,12 +152,12 @@
-

Util

+

Util

-

Various tests

+

Various tests

-POST /api/util/test
+POST /api/util/test

Provides commands to test paths or URLs for correctness.

Used by OctoPrint to validate paths or URLs that the user needs to enter in the settings.

@@ -497,7 +497,7 @@
-
JSON Parameters
+
JSON Parameters:
  • command – The command to execute, currently either path or url

  • pathpath command only: the path to test

  • @@ -519,7 +519,7 @@
  • addressaddress command only: the address to test

-
Status Codes
+
Status Codes:
  • 200 OK – No error occurred

@@ -529,15 +529,15 @@
-

Data model

+

Data model

-

Path test result

-

Name

+

Path test result

+
----++++ @@ -576,13 +576,13 @@

Name

-

URL test result

- +

URL test result

+
----++++ @@ -624,13 +624,13 @@

Name

-

Server test result

- +

Server test result

+
----++++ @@ -664,13 +664,13 @@

Name

-

Resolution test result

- +

Resolution test result

+
----++++ @@ -694,13 +694,13 @@

Name

-

Address test result

- +

Address test result

+
----++++ diff --git a/1.10.3/api/version.html b/1.10.3/api/version.html index 1073720b9..eb5ed45c1 100644 --- a/1.10.3/api/version.html +++ b/1.10.3/api/version.html @@ -1,26 +1,26 @@ - + - + Version information — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,10 +141,10 @@
-

Version information

+

Version information

-GET /api/version
+GET /api/version

Retrieve information regarding server and API version. Returns a JSON object with three keys, api containing the API version, server containing the server version, text containing the server version including the prefix OctoPrint (to determine that this is indeed a genuine OctoPrint instance).

@@ -166,7 +166,7 @@
-
Status Codes
+
Status Codes:
diff --git a/1.10.3/api/wizard.html b/1.10.3/api/wizard.html index 640c044f6..ffa181805 100644 --- a/1.10.3/api/wizard.html +++ b/1.10.3/api/wizard.html @@ -1,26 +1,26 @@ - + - + Wizard — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -149,12 +149,12 @@
-

Wizard

+

Wizard

Note

All wizard operations require either the ADMIN permission or the firstRun flag to be true.

-
+
+
-

Retrieve additional data about registered wizards

+

Retrieve additional data about registered wizards

-GET /setup/wizard
+GET /setup/wizard

Retrieves additional data about the registered wizards.

Returns a 200 OK with an object mapping wizard identifiers to wizard data entries.

-

Finish wizards

+

Finish wizards

-POST /setup/wizard
+POST /setup/wizard

Inform wizards that the wizard dialog has been finished.

Expects a JSON request body containing a property handled which holds a list of wizard identifiers which were handled (not skipped) in the wizard dialog.

@@ -192,7 +192,7 @@ supplying the information whether the wizard plugin’s identifier was within the list of handled wizards or not.

-
JSON Parameters
+
JSON Parameters:
  • handled – A list of handled wizards

@@ -202,15 +202,15 @@
-

Data model

+

Data model

-

Wizard data entry

-

Name

+

Wizard data entry

+
----++++ diff --git a/1.10.3/bundledplugins/action_command_notification.html b/1.10.3/bundledplugins/action_command_notification.html index e530fdc05..e3054393f 100644 --- a/1.10.3/bundledplugins/action_command_notification.html +++ b/1.10.3/bundledplugins/action_command_notification.html @@ -1,26 +1,26 @@ - + - + Action Command Notification support — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -143,9 +143,9 @@
-

Action Command Notification support

+

Action Command Notification support

-

New in version 1.4.1.

+

Added in version 1.4.1.

The OctoPrint Action Command Notification Support Plugin comes bundled with OctoPrint.

It allows firmware to trigger notifications users with the PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW permission @@ -155,11 +155,11 @@

Simple notification example
-

Fig. 5 A simple notification example triggered by the firmware

+

Fig. 5 A simple notification example triggered by the firmware

-

Configuring the plugin

+

Configuring the plugin

The plugin supports the following configuration keys:

    @@ -170,21 +170,21 @@

    You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

-

Supported action commands

+

Supported action commands

notification <message>

Displays the notification <message>

-

Example communication with the firmware

+

Example communication with the firmware

To display the above notification the firmware sent this action command:

//action:notification Hello World!
 
-

Source code

+

Source code

The source of the Action Command Prompt Notification plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_notification.

diff --git a/1.10.3/bundledplugins/action_command_prompt.html b/1.10.3/bundledplugins/action_command_prompt.html index 1f4a5a1fd..efb4c7394 100644 --- a/1.10.3/bundledplugins/action_command_prompt.html +++ b/1.10.3/bundledplugins/action_command_prompt.html @@ -1,26 +1,26 @@ - + - + Action Command Prompt support — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -143,9 +143,9 @@
-

Action Command Prompt support

+

Action Command Prompt support

-

New in version 1.3.9.

+

Added in version 1.3.9.

The OctoPrint Action Command Prompt Support Plugin comes bundled with OctoPrint.

It allows firmware to trigger dialog prompts for logged in users using action commands, e.g. to wait @@ -156,11 +156,11 @@

Simple prompt example
-

Fig. 6 A simple dialog example triggered by the firmware

+

Fig. 6 A simple dialog example triggered by the firmware

-

Configuring the plugin

+

Configuring the plugin

The plugin supports the following configuration keys:

    @@ -176,7 +176,7 @@

    You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

-

Supported action commands

+

Supported action commands

prompt_begin <message>

Starts the definition of a prompt dialog. <message> is the message to display to the user. Will be ignored if a dialog is already defined.

@@ -194,7 +194,7 @@
-

Example communication with the firmware

+

Example communication with the firmware

To display the above dialog the firmware sent these action commands:

//action:prompt_begin Filament unloaded, swap then proceed
 //action:prompt_choice Filament swapped
@@ -214,13 +214,13 @@
 
Another prompt example
-

Fig. 7 Another dialog example triggered by the firmware

+

Fig. 7 Another dialog example triggered by the firmware

If the user selects “Abort print”, OctoPrint will send 2 as selected choice.

-

Source code

+

Source code

The source of the Action Command Prompt Support plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_prompt.

diff --git a/1.10.3/bundledplugins/announcements.html b/1.10.3/bundledplugins/announcements.html index 7c5b8c1b0..0fcb8114d 100644 --- a/1.10.3/bundledplugins/announcements.html +++ b/1.10.3/bundledplugins/announcements.html @@ -1,26 +1,26 @@ - + - + Announcement Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,9 +141,9 @@
-

Announcement Plugin

+

Announcement Plugin

-

New in version 1.2.11.

+

Added in version 1.2.11.

The OctoPrint Announcement Plugin comes bundled with OctoPrint.

It displays announcements fetched from OctoPrint’s websites, such as important updates, release announcements, new @@ -152,23 +152,23 @@

Example notification
-

Fig. 8 An example notification from the Announcement Plugin.

+

Fig. 8 An example notification from the Announcement Plugin.

Announcement reader
-

Fig. 9 The Announcement Plugin’s reader dialog.

+

Fig. 9 The Announcement Plugin’s reader dialog.

Announcement settings
-

Fig. 10 The Announcement Plugin’s settings dialog.

+

Fig. 10 The Announcement Plugin’s settings dialog.

-

Configuring the plugin

+

Configuring the plugin

The plugin allows enabling and disabling the preconfigured announcement channels via its settings dialog.

On top of that it’s possible to add additional announcement channels (as RSS or Atom feed URLs) or change the configuration of the existing channels through config.yaml.

@@ -195,7 +195,7 @@
-

Source code

+

Source code

The source of the Announcement plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/announcements.

diff --git a/1.10.3/bundledplugins/appkeys.html b/1.10.3/bundledplugins/appkeys.html index b8d23d29f..06824fe25 100644 --- a/1.10.3/bundledplugins/appkeys.html +++ b/1.10.3/bundledplugins/appkeys.html @@ -1,26 +1,26 @@ - + - + Application Keys Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -176,9 +176,9 @@
-

Application Keys Plugin

+

Application Keys Plugin

-

New in version 1.3.10.

+

Added in version 1.3.10.

The OctoPrint Application Keys Plugin comes bundled with OctoPrint.

It implements a workflow for third party apps or clients to obtain an application specific API key from OctoPrint to interact with it @@ -187,23 +187,23 @@

Confirmation
-

Fig. 11 The plugin’s confirmation generated for a new application key request.

+

Fig. 11 The plugin’s confirmation generated for a new application key request.

Key management via user settings
-

Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

+

Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

Global key management via settings
-

Fig. 13 Administrators can manage all application specific API keys registered to any user.

+

Fig. 13 Administrators can manage all application specific API keys registered to any user.

-

Workflow

+

Workflow

The workflow to receive an API key for a third party client/an app via the Application Keys Plugin should consist of the following steps:

@@ -285,9 +285,9 @@ end

-

Workflow with redirect to auth dialog

+

Workflow with redirect to auth dialog

-

New in version 1.8.0.

+

Added in version 1.8.0.

Instead of asking the user to open the full blown OctoPrint interface to confirm the request, since OctoPrint 1.8.0 there also exists the alternative of redirecting the user to a @@ -375,17 +375,17 @@ end

-

API

+

API

-

Probe for workflow support

+

Probe for workflow support

-GET /plugin/appkeys/probe
+GET /plugin/appkeys/probe

Probes for support of the workflow.

Normally returns an HTTP 204 No Content, indicating workflow availability. If a different status code is returned (usually an HTTP 404 Not Found), the plugin is disabled or not installed. Fall back to manual api key exchange.

-
Status Codes
+
Status Codes:
@@ -395,10 +395,10 @@
-

Start authorization process

+

Start authorization process

-POST /plugin/appkeys/request
+POST /plugin/appkeys/request

Starts the authorization process.

Expects a Authorization request as request body.

The app parameter should be a human readable identifier to use @@ -412,13 +412,13 @@

Returns a Authorization response and HTTP 201 Created with the Location header set to the endpoint to poll for a decision.

-
JSON Parameters
+
JSON Parameters:
  • app – application identifier to use for the request, case insensitive

  • user – optional user id to restrict the decision to the specified user

-
Status Codes
+
Status Codes:
  • 201 Created – authorization process started, polling URL to query can be found in Location header

@@ -428,10 +428,10 @@
-

Poll for decision on existing request

+

Poll for decision on existing request

-GET /plugin/appkeys/request/<str:app_token>
+GET /plugin/appkeys/request/<str:app_token>

Endpoint generated per authorization request to poll for the result.

Returns an HTTP 202 Accepted while no decision has been made yet, an HTTP 200 OK and a Key response if access has been granted and an @@ -442,7 +442,7 @@ for more than 5s.

-
Status Codes
+
Status Codes:
  • 200 OK – access granted, API key in response body

  • 202 Accepted – no decision has been made yet, continue polling

  • @@ -454,21 +454,21 @@
-

Decide on existing request

+

Decide on existing request

-POST /plugin/appkeys/decision/<str:user_token>
+POST /plugin/appkeys/decision/<str:user_token>

Endpoint to decide on the authorization request.

Expects a Decision request as request body.

Returns an HTTP 204 No Content on success.

Requires the PLUGIN_APPKEYS_GRANT permissions and a recent credentials check.

-
JSON Parameters
+
JSON Parameters:
  • decision – boolean value to indicate whether to confirm (True) or deny (False) access

-
Status Codes
+
Status Codes:
@@ -478,10 +478,10 @@
-

Fetch list of existing application keys

+

Fetch list of existing application keys

-GET /api/plugin/appkeys
+GET /api/plugin/appkeys

Fetches a list of existing application keys and pending requests registered in the system for the current user.

If the additional optional parameter all is provided and the user has the PLUGIN_APPKEYS_ADMIN permission, fetches a list of all* application keys and pending requests registered in the system for any user.

@@ -491,7 +491,7 @@

Returns a 200 OK with a List response in the body upon success.

-
Query Parameters
+
Query Parameters:
  • all – Fetch all application keys and pending requests from all users. Requires the PLUGIN_APPKEYS_ADMIN permission.

@@ -501,10 +501,10 @@
-

Issue an application key command

+

Issue an application key command

-POST /api/plugin/appkeys
+POST /api/plugin/appkeys

Application key commands allow revoking existing application keys and manually generating new ones. The available commands are:

@@ -581,7 +581,7 @@
-
JSON Parameters
+
JSON Parameters:
  • command (string) – The command to issue, either revoke or generate

  • app (string) – revoke & generate commands: The application identifier of the key to revoke or generate.

  • @@ -591,7 +591,7 @@ as of OctoPrint 1.10.0. Use app and optionally user instead.

-
Status Codes
+
Status Codes:
  • 200 OK – Key generation successful

  • 204 No Content – No error during key revocation

  • @@ -604,15 +604,15 @@
    -

    Data model

    +

    Data model

    -

    Authorization request

    -

Name

+

Authorization request

+
----++++ @@ -636,13 +636,13 @@

Name

-

Authorization response

- +

Authorization response

+
----++++ @@ -667,13 +667,13 @@

Name

-

Key response

- +

Key response

+
----++++ @@ -692,13 +692,13 @@

Name

-

Decision request

- +

Decision request

+
----++++ @@ -717,13 +717,13 @@

Name

-

List response

- +

List response

+
----++++ @@ -747,13 +747,13 @@

Name

-

Key list entry

- +

Key list entry

+
----++++ @@ -782,13 +782,13 @@

Name

-

Pending list entry

- +

Pending list entry

+
----++++ @@ -818,22 +818,22 @@
-

JavaScript Client Library

+

JavaScript Client Library

-OctoPrintClient.plugins.appkeys.getKey(app, user, opts)
+OctoPrintClient.plugins.appkeys.getKey(app, user, opts)

Retrieves the key information the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

See Fetch list of existing application keys for more details.

-
Arguments
+
Arguments:
  • app (string()) – Application identifier

  • user (string()) – Optional user identifier

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -841,16 +841,16 @@
-OctoPrintClient.plugins.appkeys.getKeys(opts)
+OctoPrintClient.plugins.appkeys.getKeys(opts)

Retrieves registered keys and pending requests for the current user.

See Fetch list of existing application keys for more details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -858,17 +858,17 @@
-OctoPrintClient.plugins.appkeys.getAllKeys(opts)
+OctoPrintClient.plugins.appkeys.getAllKeys(opts)

Retrieves registered keys and pending requests for all users.

Needs the PLUGIN_APPKEYS_ADMIN permission.

See Fetch list of existing application keys for more details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -876,17 +876,17 @@
-OctoPrintClient.plugins.appkeys.generateKey(app, opts)
+OctoPrintClient.plugins.appkeys.generateKey(app, opts)

Generates a key for the given app and the current user.

See Issue an application key command for details.

-
Arguments
+
Arguments:
  • app (string()) – Application identifier

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -894,7 +894,7 @@
-OctoPrintClient.plugins.appkeys.revokeKey(key, opts)
+OctoPrintClient.plugins.appkeys.revokeKey(key, opts)

Revokes the given key. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

See Issue an application key command for details.

@@ -902,13 +902,13 @@

Deprecated since version 1.10.0: revokeKey has been deprecated. Use revokeKeyForApp instead.

-
Arguments
+
Arguments:
  • key (string()) – Key to revoke

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -916,19 +916,19 @@
-OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)
+OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)

Revokes the key for the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

See Issue an application key command for details.

-
Arguments
+
Arguments:
  • app (string()) – Application identifier

  • user (string()) – Optional user identifier

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -936,18 +936,18 @@
-OctoPrintClient.plugins.appkeys.decide(token, decision, opts)
+OctoPrintClient.plugins.appkeys.decide(token, decision, opts)

Decides on an existing authorization request.

See Decide on existing request for more details.

-
Arguments
+
Arguments:
  • token (string()) – User token for which to make the decision, as pushed to the client via the socket.

  • decision (boolean()) – Whether to grant access (true) or not (false).

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -955,16 +955,16 @@
-OctoPrintClient.plugins.appkeys.probe(opts)
+OctoPrintClient.plugins.appkeys.probe(opts)

Probes for workflow support.

See Probe for workflow support for more details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -972,16 +972,16 @@
-OctoPrintClient.plugins.appkeys.request(app, opts)
+OctoPrintClient.plugins.appkeys.request(app, opts)

Starts a new authorization request for the provided app identifier.

See Start authorization process for more details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -989,16 +989,16 @@
-OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)
+OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)

Starts a new authorization request for the provided app and user identifiers.

See Start authorization process for more details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -1006,16 +1006,16 @@
-OctoPrintClient.plugins.appkeys.checkDecision(token, opts)
+OctoPrintClient.plugins.appkeys.checkDecision(token, opts)

Polls for a decision on an existing authorization request identified by token.

See Poll for decision on existing request for more details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -1023,7 +1023,7 @@
-OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)
+OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)

Convenience function that probes for support, issues a request and then automatically starts polling for a decision on the returned polling endpoint every 1s, until either a positive or negative decision is returned. On success the returned promise is resolved with the generated API key as argument. If anything goes wrong or there is no support @@ -1039,14 +1039,14 @@

-
Arguments
+
Arguments:
  • app (string()) – Application identifier

  • user (string()) – Optional user identifier

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -1054,7 +1054,7 @@
-

Source code

+

Source code

The source of the Application Keys plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/appkeys.

diff --git a/1.10.3/bundledplugins/backup.html b/1.10.3/bundledplugins/backup.html index 42750c0e0..19b5ba448 100644 --- a/1.10.3/bundledplugins/backup.html +++ b/1.10.3/bundledplugins/backup.html @@ -1,26 +1,26 @@ - + - + Backup Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -156,26 +156,26 @@
-

Backup Plugin

+

Backup Plugin

-

New in version 1.3.10.

+

Added in version 1.3.10.

The OctoPrint Backup Plugin comes bundled with OctoPrint (starting with 1.3.10).

-

It allows the creation and restoration 4 of backups of OctoPrint’s settings, data and installed plugins 5 -(but doesn’t restore the same plugins versions 6).

+

It allows the creation and restoration [4] of backups of OctoPrint’s settings, data and installed plugins [5] +(but doesn’t restore the same plugins versions [6]).

This allows easy migration to newly setup instances as well as making regular backups to prevent data loss.

OctoPrint Backup Plugin
-

Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

+

Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

As long as plugins adhere to the standard of storing their data and settings in OctoPrint’s plugin data folders, their data will be part of the backup. Note that the backups made by the Backup Plugin will not be part of any backups - you’ll need to persist the resulting zip files yourself!

-

Configuring the plugin

+

Configuring the plugin

The plugin supports the following configuration keys:

    @@ -188,7 +188,7 @@
-

Command line usage

+

Command line usage

The Backup Plugin implements a command line interface that allows creation and restoration of backups. It adds two new commands, backup:backup and backup:restore.

$ octoprint plugins backup:backup --help
@@ -220,7 +220,7 @@
 
-

Events

+

Events

Events will not be triggered by CLI operations.

plugin_backup_backup_created

A new backup was created. On the push socket only available with a valid login session with Backup Access @@ -234,20 +234,20 @@

-

New in version 1.5.0.

+

Added in version 1.5.0.

-

Hooks

+

Hooks

-

octoprint.plugin.backup.additional_excludes

+

octoprint.plugin.backup.additional_excludes

-additional_excludes_hook(excludes, *args, **kwargs)
+additional_excludes_hook(excludes, *args, **kwargs)
-

New in version 1.5.0.

+

Added in version 1.5.0.

Use this to provide additional paths on your plugin’s data folder to exclude from the backup. Your handler also get a list of currently excluded sub paths in the base folder, so you can react to them. E.g. exclude things @@ -304,13 +304,13 @@

-
Parameters
+
Parameters:

list (excludes) – A list of paths already flagged as excluded in the backup

-
Returns
+
Returns:

A list of paths to exclude, relative to your plugin’s data folder

-
Return type
+
Return type:

list

@@ -318,29 +318,29 @@
-

octoprint.plugin.backup.before_backup

+

octoprint.plugin.backup.before_backup

-before_backup_hook(*args, **kwargs)
+before_backup_hook(*args, **kwargs)
-

New in version 1.9.0.

+

Added in version 1.9.0.

Use this to perform actions right before a backup is created.

-

octoprint.plugin.backup.after_backup

+

octoprint.plugin.backup.after_backup

-after_backup_hook(error=False, *args, **kwargs)
+after_backup_hook(error=False, *args, **kwargs)
-

New in version 1.9.0.

+

Added in version 1.9.0.

Use this to perform actions right after a backup was created or backup creation failed. The error parameter will be set to True if the backup creation failed.

-
Parameters
+
Parameters:

bool (error) – Whether the backup creation failed or not

@@ -348,29 +348,29 @@
-

octoprint.plugin.backup.before_restore

+

octoprint.plugin.backup.before_restore

-before_restore_hook(*args, **kwargs)
+before_restore_hook(*args, **kwargs)
-

New in version 1.9.0.

+

Added in version 1.9.0.

Use this to perform actions right before a backup is restored.

-

octoprint.plugin.backup.after_restore

+

octoprint.plugin.backup.after_restore

-after_restore_hook(error=False, *args, **kwargs)
+after_restore_hook(error=False, *args, **kwargs)
-

New in version 1.9.0.

+

Added in version 1.9.0.

Use this to perform actions right after a backup was restored or backup restoration failed. The error parameter will be set to True if the backup restoration failed.

-
Parameters
+
Parameters:

bool (error) – Whether the backup restoration failed or not

@@ -379,16 +379,16 @@
-

Helpers

+

Helpers

The Backup plugin exports two helpers that can be used by other plugins or internal methods from within OctoPrint, without going via the API.

-

create_backup

+

create_backup

-octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
+octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
-

New in version 1.6.0.

+

Added in version 1.6.0.

Create a backup from a plugin or other internal call

This helper is exported as create_backup and can be used from the plugin @@ -405,7 +405,7 @@

By using the if helpers [...] clause, plugins can fall back to other methods when they are running under versions where these helpers did not exist.

-
Parameters
+
Parameters:
  • exclude (list) – Names of data folders to exclude, defaults to None

  • filename (str) – Name of backup to be created, if None (default) the backup @@ -417,12 +417,12 @@

-

delete_backup

+

delete_backup

-octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
+octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
-

New in version 1.6.0.

+

Added in version 1.6.0.

Delete the specified backup from a plugin or other internal call

This helper is exported as delete_backup and can be used through the plugin @@ -445,7 +445,7 @@ for example the name from the events or other helpers.

-
Parameters
+
Parameters:

filename (str) – The name of the backup to delete

@@ -454,24 +454,27 @@
-

Source code

+

Source code

The source of the Backup plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/backup.

-
-
4
-

Note that restore is currently unavailable on OctoPrint servers running on Windows. Additionally they may be +

-
5
-

Note that only those plugins that are available on OctoPrint’s official plugin repository + +

-
6
-

Note that the restore process will install the latest possible versions of the plugins instead of the version that was installed at backup + +

-
+ +
diff --git a/1.10.3/bundledplugins/discovery.html b/1.10.3/bundledplugins/discovery.html index 70b385de2..f7972ac57 100644 --- a/1.10.3/bundledplugins/discovery.html +++ b/1.10.3/bundledplugins/discovery.html @@ -1,26 +1,26 @@ - + - + Discovery Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -150,9 +150,9 @@
-

Discovery Plugin

+

Discovery Plugin

-

New in version 1.2.0.

+

Added in version 1.2.0.

The OctoPrint Discovery Plugin comes bundled with OctoPrint.

It allows discovery of the OctoPrint instances via SSDP/UPNP and ZeroConf @@ -169,11 +169,11 @@

OctoPrint instances in Windows Explorer
-

Fig. 15 Various discovered OctoPrint instances in Windows Explorer

+

Fig. 15 Various discovered OctoPrint instances in Windows Explorer

-

Configuring the plugin

+

Configuring the plugin

The plugin supports the following configuration keys:

    @@ -211,7 +211,7 @@
-

Further ZeroConf Services

+

Further ZeroConf Services

The configuration also allows specifying additional ZeroConf service OctoPrint should announce itself as. Each entry supports the following fields:

@@ -227,7 +227,7 @@
-

Example

+

Example

The following snippet is a valid configuration example for the discovery plugin in OctoPrint’s config.yaml:

plugins:
@@ -250,16 +250,16 @@
 
-

Announced Services

+

Announced Services

-

ZeroConf Service _http._tcp

+

ZeroConf Service _http._tcp

OctoPrint will announce itself on the network via ZeroConf as service _http._tcp, with the TXT record containing the standard fields.

See also this documentation of _http._tcp TXT records for more information.

-

ZeroConf Service _octoprint._tcp

+

ZeroConf Service _octoprint._tcp

OctoPrint will announce itself on the network via ZeroConf as service _octoprint._tcp. The TXT record may contain the following fields:

@@ -283,7 +283,7 @@
-

Source code

+

Source code

The source of the Discovery plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/discovery.

diff --git a/1.10.3/bundledplugins/errortracking.html b/1.10.3/bundledplugins/errortracking.html index e95df549a..b2600eda8 100644 --- a/1.10.3/bundledplugins/errortracking.html +++ b/1.10.3/bundledplugins/errortracking.html @@ -1,26 +1,26 @@ - + - + Error Tracking Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,9 +141,9 @@
-

Error Tracking Plugin

+

Error Tracking Plugin

-

New in version 1.3.11.

+

Added in version 1.3.11.

The Error Tracking plugin will cause any logged exceptions in the server and the browser interface to be sent to OctoPrint’s Sentry instance.

@@ -157,7 +157,7 @@ and their Privacy Policy.

The Error Tracking plugin has been bundled with OctoPrint since version 1.3.11.

-

Configuring the plugin

+

Configuring the plugin

The plugin supports the following configuration keys:

    @@ -169,7 +169,7 @@
-

Source Code

+

Source Code

The source of the Error Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/errortracking.

diff --git a/1.10.3/bundledplugins/file_check.html b/1.10.3/bundledplugins/file_check.html index 477e0fbb9..77c0da41f 100644 --- a/1.10.3/bundledplugins/file_check.html +++ b/1.10.3/bundledplugins/file_check.html @@ -1,26 +1,26 @@ - + - + File Check — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -137,9 +137,9 @@
-

File Check

+

File Check

-

New in version 1.4.1.

+

Added in version 1.4.1.

The file check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

diff --git a/1.10.3/bundledplugins/firmware_check.html b/1.10.3/bundledplugins/firmware_check.html index 821388699..0056b0048 100644 --- a/1.10.3/bundledplugins/firmware_check.html +++ b/1.10.3/bundledplugins/firmware_check.html @@ -1,26 +1,26 @@ - + - + Firmware Check — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -137,9 +137,9 @@
-

Firmware Check

+

Firmware Check

-

New in version 1.3.7.

+

Added in version 1.3.7.

The firmware check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

diff --git a/1.10.3/bundledplugins/gcodeviewer.html b/1.10.3/bundledplugins/gcodeviewer.html index d863a567b..c73eb2d93 100644 --- a/1.10.3/bundledplugins/gcodeviewer.html +++ b/1.10.3/bundledplugins/gcodeviewer.html @@ -1,26 +1,26 @@ - + - + GCode Viewer Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,7 +141,7 @@
-

GCode Viewer Plugin

+

GCode Viewer Plugin

Changed in version 1.4.1.

@@ -149,13 +149,13 @@
OctoPrint GCode Viewer Plugin
-

Fig. 16 An example of the GCode Viewer in action.

+

Fig. 16 An example of the GCode Viewer in action.

The viewer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has been extracted into its own bundled plugin.

-

Configuring the plugin

+

Configuring the plugin

The plugin supports the following configuration keys:

    @@ -167,7 +167,7 @@
-

Source Code

+

Source Code

The source of the GCode Viewer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/gcodeviewer.

diff --git a/1.10.3/bundledplugins/index.html b/1.10.3/bundledplugins/index.html index 1b2e65eaf..c56a12f3a 100644 --- a/1.10.3/bundledplugins/index.html +++ b/1.10.3/bundledplugins/index.html @@ -1,26 +1,26 @@ - + - + Bundled Plugins — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
-

Bundled Plugins

+

Bundled Plugins

  • Action Command Notification support
      diff --git a/1.10.3/bundledplugins/logging.html b/1.10.3/bundledplugins/logging.html index 7c2b2cac6..4b3b977b0 100644 --- a/1.10.3/bundledplugins/logging.html +++ b/1.10.3/bundledplugins/logging.html @@ -1,26 +1,26 @@ - + - + Logging — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -153,29 +153,29 @@
      -

      Logging

      +

      Logging

      -

      New in version 1.3.7.

      +

      Added in version 1.3.7.

      The OctoPrint Logging plugin implements the log management functionality that was formerly part of the core application and adds features to configure logging levels for sub modules through the included settings dialog.

      Logging plugin
      -

      Fig. 17 The settings dialog of the Logging plugin

      +

      Fig. 17 The settings dialog of the Logging plugin

      -

      API

      +

      API

      Note

      All log file management operations require admin rights.

      -

      Retrieve a list of available log files

      +

      Retrieve a list of available log files

      -GET /plugin/logging/logs
      +GET /plugin/logging/logs

      Retrieve information regarding all log files currently available and regarding the disk space still available in the system on the location the log files are being stored.

      Returns a Logfile Retrieve response.

      @@ -223,7 +223,7 @@
-
Status Codes
+
Status Codes:
  • 200 OK – No error

  • 403 Forbidden – If the given API token did not have admin rights associated with it

  • @@ -234,10 +234,10 @@
-

Delete a specific logfile

+

Delete a specific logfile

-DELETE /plugin/logging/logs/(path: filename)
+DELETE /plugin/logging/logs/(path: filename)

Delete the selected log file with name filename.

Returns a 204 No Content after successful deletion.

Example Request

@@ -247,12 +247,12 @@
-
Parameters
+
Parameters:
  • filename – The filename of the log file to delete

-
Status Codes
+
Status Codes:
  • 204 No Content – No error

  • 403 Forbidden – If the given API token did not have admin rights associated with it

  • @@ -264,15 +264,15 @@
-

Data model

+

Data model

-

Logfile Retrieve Response

-

Name

+

Logfile Retrieve Response

+
----++++ @@ -296,13 +296,13 @@

Name

-

File information

- +

File information

+
----++++ @@ -336,13 +336,13 @@

Name

-

References

- +

References

+
----++++ @@ -368,10 +368,10 @@
-

JS Client Library

+

JS Client Library

-

OctoPrintClient.plugins.logging

+

OctoPrintClient.plugins.logging

Note

All methods here require that the used API token or the existing browser session @@ -379,16 +379,16 @@

-OctoPrintClient.plugins.logging.listLogs(opts)
+OctoPrintClient.plugins.logging.listLogs(opts)

Retrieves a list of log files.

See Retrieve a list of available log files for details.

-
Arguments
+
Arguments:
  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -396,17 +396,17 @@

-OctoPrintClient.plugins.logging.deleteLog(path, opts)
+OctoPrintClient.plugins.logging.deleteLog(path, opts)

Deletes the specified log path.

See Delete a specific log file for details.

-
Arguments
+
Arguments:
  • path (string()) – The path to the log file to delete

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -414,17 +414,17 @@

-OctoPrintClient.plugins.logging.downloadLog(path, opts)
+OctoPrintClient.plugins.logging.downloadLog(path, opts)

Downloads the specified log file.

See OctoPrint.download() for more details on the underlying library download mechanism.

-
Arguments
+
Arguments:
  • path (string()) – The path to the log file to download

  • opts (object()) – Additional options for the request

-
Returns Promise
+
Returns Promise:

A jQuery Promise for the request’s response

@@ -432,7 +432,7 @@

-

Source Code

+

Source Code

The source of the Logging plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/logging.

diff --git a/1.10.3/bundledplugins/pluginmanager.html b/1.10.3/bundledplugins/pluginmanager.html index 1eeb27f25..ee3be74c1 100644 --- a/1.10.3/bundledplugins/pluginmanager.html +++ b/1.10.3/bundledplugins/pluginmanager.html @@ -1,26 +1,26 @@ - + - + Plugin Manager — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
-

Plugin Manager

+

Plugin Manager

-

New in version 1.2.0.

+

Added in version 1.2.0.

The OctoPrint Plugin Manager comes bundled with OctoPrint.

It allows management of installed plugins (listing, enabling, disabling @@ -178,23 +178,23 @@

Plugin Manager
-

Fig. 18 The main dialog of the Plugin Manager

+

Fig. 18 The main dialog of the Plugin Manager

Installation dialog
-

Fig. 19 Dialog for installing new plugins

+

Fig. 19 Dialog for installing new plugins

Filter options for the repository browser
-

Fig. 20 Filter options for the repository browser

+

Fig. 20 Filter options for the repository browser

-

Configuring the Plugin

+

Configuring the Plugin

The Plugin Manager plugin only has a handful of configuration settings which normally won’t have to be touched.

You can modify them either through the plugin’s configuration dialog that @@ -239,7 +239,7 @@

-

Events

+

Events

plugin_pluginmanager_install_plugin

A plugin was installed.

Payload:

@@ -282,12 +282,12 @@
-

Hooks

+

Hooks

-

octoprint.plugin.pluginmanager.reconnect_hooks

+

octoprint.plugin.pluginmanager.reconnect_hooks

-reconnect_hooks_hook(*args, **kwargs)
+reconnect_hooks_hook(*args, **kwargs)

Returns additional hooks defined by the plugin for which the plugin manager should display the “You should reconnect to your printer” message on plugin install/uninstall/enabling/disabling.

@@ -307,7 +307,7 @@
-

Source Code

+

Source Code

The source of the Plugin Manager is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/pluginmanager.

diff --git a/1.10.3/bundledplugins/softwareupdate.html b/1.10.3/bundledplugins/softwareupdate.html index 6dcd5ee67..b49bf4224 100644 --- a/1.10.3/bundledplugins/softwareupdate.html +++ b/1.10.3/bundledplugins/softwareupdate.html @@ -1,26 +1,26 @@ - + - + Software Update Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -161,16 +161,16 @@
-

Software Update Plugin

+

Software Update Plugin

-

New in version 1.2.0.

+

Added in version 1.2.0.

The Software Update Plugin allows receiving notifications about new releases of OctoPrint or installed plugins which registered with it and – if properly configured – also applying the found updates.

It comes bundled with OctoPrint.

-

First Steps

+

First Steps

Out of the box the Software Update Plugin will be able to notify you of any updates that might be available for your OctoPrint installation or any plugins that registered themselves with it. In order for automatic restarts after updates @@ -183,7 +183,7 @@

Software Update plugin configuration dialog
-

Fig. 21 The Software Update plugin configuration dialog

+

Fig. 21 The Software Update plugin configuration dialog

There you can adjust the following settings:

@@ -212,7 +212,7 @@

Restart commands for OctoPrint and the whole server can be configured under Settings > Server.

-

Command line usage

+

Command line usage

The functionality of the Software Update Plugin is also available on OctoPrint’s command line interface under the plugins sub command. It’s possible to check for updates via octoprint plugins softwareupdate:check and to apply available updates via octoprint plugins softwareupdate:update. Please see the corresponding @@ -267,7 +267,7 @@

-

Configuring the Plugin

+

Configuring the Plugin

plugins:
   softwareupdate:
     # configured version check and update methods
@@ -326,7 +326,7 @@
 
-

Version checks

+

Version checks

Version check types are configured through the type parameter. The following types are currently recognized:

@@ -348,7 +348,7 @@ will be matched.

-

New in version 1.2.16.

+

Added in version 1.2.16.

  • stable_branch: Stable channel definition, optional. Structure:

    @@ -361,7 +361,7 @@ will be matched.

  • -

    New in version 1.2.16.

    +

    Added in version 1.2.16.

  • prerelease_channel: Release channel to limit updates to. If set only @@ -406,7 +406,7 @@ a new app password. App passwords are user specific on Bitbucket.

  • -

    New in version 1.3.5.

    +

    Added in version 1.3.5.

  • git_commit: Checks a local git repository for new commits on its @@ -422,7 +422,7 @@

  • package: (mandatory) Name of the package which to check.

  • -

    New in version 1.4.0.

    +

    Added in version 1.4.0.

  • httpheader: Checks an HTTP header on a defined URL for changes. This can be used for easy checks @@ -437,7 +437,7 @@ will be used. If set to an empty string, no prefix will be added.

  • -

    New in version 1.4.1.

    +

    Added in version 1.4.1.

  • jsondata: Checks the provided JSON endpoint for changes. The JSON endpoint must return an object with the @@ -447,7 +447,7 @@

  • jsondata: (mandatory) URL from which to fetch the JSON data

  • -

    New in version 1.4.1.

    +

    Added in version 1.4.1.

  • command_line: Uses a provided script to determine whether an update @@ -475,7 +475,7 @@

  • current_version: Version to report for both local and remote version.

  • -

    New in version 1.3.7.

    +

    Added in version 1.3.7.

  • never_current: Always reports that an update is necessary. Useful for debugging @@ -485,14 +485,14 @@

  • remote_version: Remote version to offer update to. Defaults to 1.0.1.

  • -

    New in version 1.3.7.

    +

    Added in version 1.3.7.

    -

    Update methods

    +

    Update methods

    Update methods are specified via the method parameter. Some update methods are assigned implicitly through the presence of their mandatory configuration parameters. The following methods are currently supported:

    @@ -546,7 +546,7 @@ a countdown in the meantime. Useful for debugging software update mechanisms during development.

    -

    New in version 1.3.7.

    +

    Added in version 1.3.7.

    @@ -576,7 +576,7 @@
    -

    Common configuration patterns

    +

    Common configuration patterns

    Example for a setup that allows “bleeding edge” updates of OctoPrint under OctoPi (the update_script gets configured correctly automatically by the plugin itself):

    @@ -706,9 +706,9 @@ be cached by Github for a bit, so an update will not be immediately picked up.

    -

    Global credentials

    +

    Global credentials

    -

    New in version 1.5.0.

    +

    Added in version 1.5.0.

    Starting with OctoPrint 1.5.0, the Software Update Plugin supports supplying a GitHub API token to use for the github_release and github_commit version check types, @@ -725,7 +725,7 @@

    -

    Events

    +

    Events

    plugin_softwareupdate_update_succeeded

    An update succeeded.

    Payload:

    @@ -750,12 +750,12 @@
    -

    Hooks

    +

    Hooks

    -

    octoprint.plugin.softwareupdate.check_config

    +

    octoprint.plugin.softwareupdate.check_config

    -update_config_hook(*args, **kwargs)
    +update_config_hook(*args, **kwargs)

    Returns additional check configurations for the Software Update plugin.

    Handlers should return a Python dict containing one entry per check. Usually this will probably only be the check configuration for the plugin providing @@ -794,10 +794,10 @@

    -
    Returns
    +
    Returns:

    A dictionary of check configurations as described above

    -
    Return type
    +
    Return type:

    dict

    @@ -806,28 +806,28 @@
    -

    Helpers

    +

    Helpers

    -

    version_checks

    +

    version_checks

    version_checks module of the Software Update plugin, allows reusing the bundled version check variants from plugins (e.g. wrapped in a python_checker).

    -

    updaters

    +

    updaters

    updaters module of the Software Update plugin, allows reusing the bundled updater variants from plugins (e.g. wrapped in a python_updater).

    -

    exceptions

    +

    exceptions

    exceptions module of the Software Update plugin.

    -

    util

    +

    util

    util module of the Software Update plugin.

    -

    Source Code

    +

    Source Code

    The source of the Software Update plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/softwareupdate.

    diff --git a/1.10.3/bundledplugins/tracking.html b/1.10.3/bundledplugins/tracking.html index cf57a2d83..8d23075b6 100644 --- a/1.10.3/bundledplugins/tracking.html +++ b/1.10.3/bundledplugins/tracking.html @@ -1,26 +1,26 @@ - + - + Anonymous Usage Tracking Plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,9 +141,9 @@
    -

    Anonymous Usage Tracking Plugin

    +

    Anonymous Usage Tracking Plugin

    -

    New in version 1.3.10.

    +

    Added in version 1.3.10.

    The Anonymous Usage Tracking plugin provides valuable insights into how many instances running what versions of OctoPrint are out there, whether they are successfully completing print jobs and various other metrics.

    @@ -153,7 +153,7 @@ and also the Privacy Policy at tracking.octoprint.org.

    The Anonymous Usage Tracking plugin has been bundled with OctoPrint since version 1.3.10.

    -

    Configuring the plugin

    +

    Configuring the plugin

    The plugin supports the following configuration keys:

      @@ -177,7 +177,7 @@
    -

    Source Code

    +

    Source Code

    The source of the Anonymous Usage Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/tracking.

    diff --git a/1.10.3/bundledplugins/virtual_printer.html b/1.10.3/bundledplugins/virtual_printer.html index f64d75dd3..268c2d930 100644 --- a/1.10.3/bundledplugins/virtual_printer.html +++ b/1.10.3/bundledplugins/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Virtual Printer — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,7 +141,7 @@
    -

    Virtual Printer

    +

    Virtual Printer

    Changed in version 1.4.1.

    @@ -151,11 +151,11 @@

    The virtual printer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has finally been fully extracted into its own bundled plugin.

    -

    Configuring the plugin

    +

    Configuring the plugin

    Please refer to the development documentation.

    -

    Source Code

    +

    Source Code

    The source of the Virtual Printer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/virtual_printer.

    diff --git a/1.10.3/configuration/cli.html b/1.10.3/configuration/cli.html index db65b59d5..36478aa8e 100644 --- a/1.10.3/configuration/cli.html +++ b/1.10.3/configuration/cli.html @@ -1,26 +1,26 @@ - + - + CLI — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -126,9 +126,9 @@
    -

    CLI

    +

    CLI

    -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    OctoPrint provides a basic command line interface for manipulation of config.yaml:

    $ octoprint config --help
    diff --git a/1.10.3/configuration/config_yaml.html b/1.10.3/configuration/config_yaml.html
    index 806bd2a37..6288e8921 100644
    --- a/1.10.3/configuration/config_yaml.html
    +++ b/1.10.3/configuration/config_yaml.html
    @@ -1,26 +1,26 @@
     
    -
    +
     
    -  
    +  
     
       
       config.yaml — OctoPrint 1.10.3 documentation
    -      
    -      
    -      
    +      
    +      
    +      
     
       
       
       
    -        
    -        
    -        
    -        
    -        
    -        
    -        
    +        
    +        
    +        
    +        
    +        
    +        
    +        
             
         
         
    @@ -149,7 +149,7 @@
                
    -

    config.yaml

    +

    config.yaml

    If not specified via the command line, the main configuration file config.yaml for OctoPrint is expected in its settings folder, which unless defined differently via the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS. If the file is not there, @@ -157,7 +157,7 @@ settings.

    Note that many of these settings are available from the “Settings” menu in OctoPrint itself. They can also be configured via config command line interface.

    -
    +
    +
    -

    Access Control

    +

    Access Control

    Use the following settings to enable access control:

    accessControl:
       # The user manager implementation to use for accessing user information. Currently only a filebased
    @@ -246,7 +246,7 @@
     
    -

    API

    +

    API

    Settings for the REST API:

    api:
       # Whether to enable the API
    @@ -268,7 +268,7 @@
     
    -

    Appearance

    +

    Appearance

    Use the following settings to tweak OctoPrint’s appearance a bit to better distinguish multiple instances/printers appearance or to modify the order and presence of the various UI components:

    appearance:
    @@ -417,7 +417,7 @@
     
    -

    Controls

    +

    Controls

    Use the controls section to add custom controls to the “Controls” tab within OctoPrint.

    controls:
    @@ -438,7 +438,7 @@
     
    -

    Development settings

    +

    Development settings

    The following settings are only relevant to you if you want to do OctoPrint development:

    # Settings only relevant for development
     devel:
    @@ -480,7 +480,7 @@
     
    -

    Estimation

    +

    Estimation

    The following settings provide parameters for estimators within OctoPrint. Currently only the estimation of the left print time during an active job utilizes this section.

    estimation:
    @@ -512,7 +512,7 @@
     
    -

    Events

    +

    Events

    Use the following settings to add shell/gcode commands to be executed on certain events:

    events:
       subscriptions:
    @@ -549,7 +549,7 @@
     
    -

    Feature

    +

    Feature

    Use the following settings to enable or disable OctoPrint features:

    feature:
     
    @@ -592,7 +592,7 @@
     
    -

    Folder

    +

    Folder

    Use the following settings to set custom paths for folders used by OctoPrint:

    folder:
       # Absolute path where to store gcode uploads. Defaults to the uploads folder in the OctoPrint settings folder
    @@ -634,7 +634,7 @@
     
    -

    GCODE Analysis

    +

    GCODE Analysis

    Settings pertaining to the server side GCODE analysis implementation.

    gcodeAnalysis:
       # Maximum number of extruders to support/to sanity check for
    @@ -650,7 +650,7 @@
     
    -

    GCODE Viewer

    +

    GCODE Viewer

    Settings pertaining to the built in GCODE Viewer.

    gcodeViewer:
       # Whether to enable the GCODE viewer in the UI
    @@ -667,7 +667,7 @@
     
    -

    Plugin settings

    +

    Plugin settings

    The plugins section is where plugins can store their specific settings. It is also where the installed but disabled plugins are tracked:

    # Settings for plugins
    @@ -698,7 +698,7 @@
     
    -

    Printer Profiles

    +

    Printer Profiles

    Defaults settings for printer profiles.

    # Settings for printer profiles
     printerProfiles:
    @@ -713,7 +713,7 @@
     
    -

    Scripts

    +

    Scripts

    Default scripts and snippets. You’d usually not edit the config.yaml file to adjust those but instead create the corresponding files in ~/.octoprint/scripts/. See GCODE Script.

    # Configured scripts
    @@ -747,7 +747,7 @@
     
    -

    Serial

    +

    Serial

    Use the following settings to configure the serial connection to the printer:

    serial:
       # Use the following option to define the default serial port, defaults to unset (= AUTO)
    @@ -957,7 +957,7 @@
     
    -

    Server

    +

    Server

    Use the following settings to configure the server:

    server:
       # Use this option to define the host to which to bind the server, defaults to "0.0.0.0" (= all
    @@ -1170,7 +1170,7 @@
     
    -

    Slicing

    +

    Slicing

    Settings for the built-in slicing support:

    # Slicing settings
     slicing:
    @@ -1188,7 +1188,7 @@
     
    -

    System

    +

    System

    Use the following settings to add custom system commands to the “System” dropdown within OctoPrint’s top bar.

    Commands consist of a name shown to the user, an action identifier used by the code and the actual command including any argument needed for its execution. @@ -1214,7 +1214,7 @@

    -

    Temperature

    +

    Temperature

    Use the following settings to configure temperature profiles which will be displayed in the temperature tab:

    temperature:
       profiles:
    @@ -1228,7 +1228,7 @@
     
    -

    Terminal Filters

    +

    Terminal Filters

    Use the following settings to define a set of terminal filters to display in the terminal tab for filtering certain lines from the display terminal log.

    Use Javascript regular expressions:

    @@ -1246,7 +1246,7 @@
    -

    Webcam

    +

    Webcam

    Use the following settings to configure webcam support:

    webcam:
       # Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer.
    diff --git a/1.10.3/configuration/index.html b/1.10.3/configuration/index.html
    index 888380020..43f865499 100644
    --- a/1.10.3/configuration/index.html
    +++ b/1.10.3/configuration/index.html
    @@ -1,26 +1,26 @@
     
    -
    +
     
    -  
    +  
     
       
       Configuration — OctoPrint 1.10.3 documentation
    -      
    -      
    -      
    +      
    +      
    +      
     
       
       
       
    -        
    -        
    -        
    -        
    -        
    -        
    -        
    +        
    +        
    +        
    +        
    +        
    +        
    +        
             
         
         
    @@ -124,7 +124,7 @@
                
    -

    Configuration

    +

    Configuration

    • A YAML Primer
        diff --git a/1.10.3/configuration/logging_yaml.html b/1.10.3/configuration/logging_yaml.html index 25069d329..573236539 100644 --- a/1.10.3/configuration/logging_yaml.html +++ b/1.10.3/configuration/logging_yaml.html @@ -1,26 +1,26 @@ - + - + logging.yaml — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -131,7 +131,7 @@
        -

        logging.yaml

        +

        logging.yaml

        The logging configuration file logging.yaml for OctoPrint is expected in its settings folder, which unless defined differently on the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS.

        @@ -139,7 +139,7 @@ in debugging issues you are experiencing, or to change the configuration of the logging handlers themselves, e.g. in order to change size after which to rollover the serial.log.

        -

        Changing log levels

        +

        Changing log levels

        If you need to change the default logging level within OctoPrint, create the file with a text editor of your choice (it’s usually not there). The general format is this:

        loggers:
        @@ -172,7 +172,7 @@ 

        Changing log levels -

        Changing logging handlers

        +

        Changing logging handlers

        You can also change the configuration of the logging handlers themselves, e.g. in order to make the serial.log larger for debugging long running communications or to change the behaviour of the octoprint.log.

        You can find the default configurations of the file handler used for the octoprint.log, the serialFile handler @@ -213,7 +213,7 @@

        Changing logging handlerslogging.handlers.

        -

        Changing logging formatters

        +

        Changing logging formatters

        The logging formatters can be defined via logging.yaml as well. The simple formatter as referenced above is expressed in YAML as follows:

        formatters:
        diff --git a/1.10.3/configuration/yaml.html b/1.10.3/configuration/yaml.html
        index 5d844d051..316adfc77 100644
        --- a/1.10.3/configuration/yaml.html
        +++ b/1.10.3/configuration/yaml.html
        @@ -1,26 +1,26 @@
         
        -
        +
         
        -  
        +  
         
           
           A YAML Primer — OctoPrint 1.10.3 documentation
        -      
        -      
        -      
        +      
        +      
        +      
         
           
           
           
        -        
        -        
        -        
        -        
        -        
        -        
        -        
        +        
        +        
        +        
        +        
        +        
        +        
        +        
                 
             
             
        @@ -136,14 +136,14 @@
                    
        -

        A YAML Primer

        +

        A YAML Primer

        Most of OctoPrint’s configuration is done under the hood through YAML files, which is why it makes sense to shed some light on the basics of this data serialization format.

        YAML is a text based format which excels at representing the most common of data structures in an easy and very human readable way, which is why it was chosen for OctoPrint’s configuration files. A text editor is all you need in order to write YAML configuration files.

        -

        Basic Rules

        +

        Basic Rules

        First of all some basic things to know about working with YAML files:

          @@ -156,11 +156,11 @@
        -

        Interesting data types

        +

        Interesting data types

        You will probably only come across the three most basic types of data within OctoPrint’s YAML files: scalars (such as strings, integers, …), lists and associated arrays (aka key-value-pairs, aka maps, aka dictionaries).

        -

        Scalars

        +

        Scalars

        Scalars are the most basic of all data types and are simple string, integer, float or boolean values.

        For most scalars you don’t need any quotes at all, but if you need to define some piece of data which contains characters that could be mistaken with YAML syntax you need to quote it in either double " or single ' quotes for the @@ -175,7 +175,7 @@ completely empty line in order for force a line break, the data will not be actually wrapped across multiple lines just because you spread its representation across multiple lines.

        -

        int

        +

        int

        23
         
         42
        @@ -183,7 +183,7 @@
         
        -

        float

        +

        float

        23.5
         
         100.0
        @@ -191,7 +191,7 @@
         
        -

        boolean

        +

        boolean

        true
         
         false
        @@ -207,7 +207,7 @@
         
        -

        string

        +

        string

        a string
         
         "some quoted string with a : colon and a { bracket and a quote \" and a backslash \\ - phew"
        @@ -239,7 +239,7 @@
         
        -

        Lists

        +

        Lists

        Lists allow to “collect” a number of similar things into one data structure. They are created by prefixing one or more consecutive lines with a -:

        - item 1
        @@ -251,7 +251,7 @@
         

        Take special care to have all of your list items at the same indentation level!

        -

        Dictionaries

        +

        Dictionaries

        Dictionaries (aka associative arrays aka maps) allow organizing the data in key value pairs, with the key and the value being separated through a colon ::

        key: value
        @@ -261,7 +261,7 @@
         
        -

        Examples

        +

        Examples

        Based on the three types explained above, quite complex data structures are possible (whitespace made visible to help track indentation):

        general:
        diff --git a/1.10.3/development/branches.html b/1.10.3/development/branches.html
        index 282c2de64..ea54953e3 100644
        --- a/1.10.3/development/branches.html
        +++ b/1.10.3/development/branches.html
        @@ -1,26 +1,26 @@
         
        -
        +
         
        -  
        +  
         
           
           OctoPrint’s branching model — OctoPrint 1.10.3 documentation
        -      
        -      
        -      
        +      
        +      
        +      
         
           
           
           
        -        
        -        
        -        
        -        
        -        
        -        
        -        
        +        
        +        
        +        
        +        
        +        
        +        
        +        
                 
             
             
        @@ -127,7 +127,7 @@
                    
        -

        OctoPrint’s branching model

        +

        OctoPrint’s branching model

        There are three main branches in OctoPrint:

        master

        The master branch always contains the current stable release plus any changes diff --git a/1.10.3/development/environment.html b/1.10.3/development/environment.html index 68aef8f50..1bb20b850 100644 --- a/1.10.3/development/environment.html +++ b/1.10.3/development/environment.html @@ -1,26 +1,26 @@ - + - + Setting up a Development environment — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -140,9 +140,9 @@

        -

        Setting up a Development environment

        +

        Setting up a Development environment

        -

        Obtaining, building and running the source

        +

        Obtaining, building and running the source

        This describes the general, platform agnostic steps in obtaining, building and running. OS specific instructions can be found below.

        @@ -219,7 +219,7 @@
    -

    Linux

    +

    Linux

    This assumes you’ll host your OctoPrint development checkout at ~/devel/OctoPrint. If you want to use a different location, please substitute accordingly.

    First make sure you have python 3 including its header files, pip, setuptools, virtualenv, git and some build requirements @@ -253,7 +253,7 @@

    -

    Windows

    +

    Windows

    This assumes you’ll host your OctoPrint development checkout at C:\Devel\OctoPrint. If you want to use a different location, please substitute accordingly.

    First download & install:

    @@ -290,7 +290,7 @@
    -

    Mac OS X

    +

    Mac OS X

    Note

    This guide is based on the Setup Guide for Mac OS X on OctoPrint’s Community Forum. @@ -368,7 +368,7 @@

    -

    IDE Setup

    +

    IDE Setup

    Todo

    Using another IDE than the ones below? Please send a @@ -376,7 +376,7 @@ steps into this guide!

    -

    PyCharm

    +

    PyCharm

    • “File” > “Open …”, select OctoPrint checkout folder (e.g. ~/devel/OctoPrint or C:\Devel\OctoPrint)

    • @@ -470,7 +470,7 @@
    -

    Visual Studio Code (vscode)

    +

    Visual Studio Code (vscode)

    • Install Visual Studio Code from code.visualstudio.com

    • diff --git a/1.10.3/development/index.html b/1.10.3/development/index.html index 668ba9a95..368d7129d 100644 --- a/1.10.3/development/index.html +++ b/1.10.3/development/index.html @@ -1,26 +1,26 @@ - + - + Development — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -125,7 +125,7 @@
      -

      Development

      +

      Development

      • OctoPrint’s versioning strategy
      • diff --git a/1.10.3/development/request-profiling.html b/1.10.3/development/request-profiling.html index a7ed2265b..9a5aaec94 100644 --- a/1.10.3/development/request-profiling.html +++ b/1.10.3/development/request-profiling.html @@ -1,26 +1,26 @@ - + - + Profiling requests — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -130,7 +130,7 @@
        -

        Profiling requests

        +

        Profiling requests

        Once you have a development environment set up, you will need to launch OctoPrint using serve --debug as parameters.

        At this point, you are able to make the exact same requests as before. To @@ -139,7 +139,7 @@ an html document with the profiling results instead of the contents of the response.

        -

        Errors

        +

        Errors

        If you receive a 500: Internal Server Error and a ModuleNotFoundError: No module named 'pyinstrument' in the console, you didn’t install development dependencies. Do that now using pip install -e '.[develop]'.

        diff --git a/1.10.3/development/versioning.html b/1.10.3/development/versioning.html index 580e6de4d..ebe8b4fbc 100644 --- a/1.10.3/development/versioning.html +++ b/1.10.3/development/versioning.html @@ -1,26 +1,26 @@ - + - + OctoPrint’s versioning strategy — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -127,10 +127,10 @@
        -

        OctoPrint’s versioning strategy

        +

        OctoPrint’s versioning strategy

        OctoPrint’s version numbers follow PEP440, with a version format of MAJOR.MINOR.PATCH following the contract of semantic versioning.

        -

        The PATCH version number will increase in case of hotfix releases 1. +

        The PATCH version number will increase in case of hotfix releases [1]. Releases that only change the patch number indicate that they only contain bug fixes, and usually only hotfixes at that. Example: 1.5.0 to 1.5.1.

        The MINOR version number increases with releases that add new functionality while maintaining @@ -143,14 +143,15 @@ allow for an exact determination of the active code base (e.g. 1.2.9.dev68+g46c7a9c). Additionally, instances with active uncommitted changes will contain .dirty in the local version identifier.

        Footnotes

        -
        -
        1
        -

        Up until 1.4.2, the PATCH version segment was the one increasing most often +

        -
        + +
        diff --git a/1.10.3/development/virtual_printer.html b/1.10.3/development/virtual_printer.html index dc4c70efd..ac4110886 100644 --- a/1.10.3/development/virtual_printer.html +++ b/1.10.3/development/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Setting up the virtual printer for debugging — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -133,16 +133,16 @@
        -

        Setting up the virtual printer for debugging

        +

        Setting up the virtual printer for debugging

        OctoPrint includes, by default, a virtual printer plugin. This plugin allows you to debug OctoPrint’s serial communication without connecting to an actual printer. Furthermore, it is possible to create certain edge conditions that may be hard to reproduce with a real printer.

        -

        Enabling the virtual printer

        +

        Enabling the virtual printer

        The virtual printer can be enabled through its Settings pane.

        -

        Virtual printer configuration options

        +

        Virtual printer configuration options

        There many configuration options via config.yaml for the virtual printer that allow you to fine-tune its behavior:

        plugins:
         
        @@ -372,12 +372,12 @@
         
        -

        Log file

        +

        Log file

        Once activated, the virtual printer will log all serial communication in the plugin_virtual_printer_serial.log file that can be found in the OctoPrint logs folder.

        -

        Debug commands

        +

        Debug commands

        You can simulate certain conditions and communications through the terminal tab in OctoPrint’s interface.

        All commands start with !!DEBUG: and are followed by the command you want to execute. For instance, sending !!DEBUG:action_disconnect will disconnect the printer. Sending !!DEBUG without command will show a help diff --git a/1.10.3/events/index.html b/1.10.3/events/index.html index 9ffac0d4f..25a691686 100644 --- a/1.10.3/events/index.html +++ b/1.10.3/events/index.html @@ -1,26 +1,26 @@ - + - + Events — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -137,8 +137,8 @@

        -

        Events

        -
        +

        Events

        +
      -
      +
      -

      Configuration

      +

      Configuration

      Event hooks are configured via OctoPrint’s configuration file config.yaml. There they are contained in a subscriptions list located directly under the events node. The command node accepts either a single string or a list of strings so that multiple commands can be executed in one go. Each hook carries an additional node type that @@ -176,7 +176,7 @@

      All event hooks can be disabled completely by setting event > enabled to false. You can also disable individual hooks by setting the (optional) node enabled to false, see the example below.

      -

      Example

      +

      Example

      events:
         enabled: True
         subscriptions:
      @@ -213,7 +213,7 @@ 

      Example -

      Placeholders

      +

      Placeholders

      You can use the following generic placeholders in your event hooks:

      -

      Available Events

      +

      Available Events

      Note

      Plugins may add additional events via the octoprint.events.register_custom_events hook.

      -

      Server

      +

      Server

      Startup

      The server has started.

      @@ -280,7 +280,7 @@

      Example -

      New in version 1.4.0.

      +

      Added in version 1.4.0.

      ClientClosed

      A client has disconnected from the push socket.

      @@ -302,7 +302,7 @@

      Example -

      New in version 1.4.0.

      +

      Added in version 1.4.0.

    UserLoggedOut
    @@ -315,7 +315,7 @@

    Example -

    New in version 1.4.0.

    +

    Added in version 1.4.0.

    ConnectivityChanged
    @@ -329,19 +329,19 @@

    Example -

    New in version 1.3.5.

    +

    Added in version 1.3.5.

    -

    Printer communication

    +

    Printer communication

    Connecting

    The server is attempting to connect to the printer.

    -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    Connected

    The server has connected to the printer.

    @@ -359,7 +359,7 @@

    Example -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    Disconnected

    The server has disconnected from the printer

    @@ -399,13 +399,13 @@

    Example -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    -

    File handling

    +

    File handling

    Upload

    A file has been uploaded through the REST API.

    @@ -453,7 +453,7 @@

    Example -

    New in version 1.3.3.

    +

    Added in version 1.3.3.

    FileRemoved
    @@ -475,7 +475,7 @@

    Example -

    New in version 1.3.3.

    +

    Added in version 1.3.3.

    FileMoved
    @@ -500,7 +500,7 @@

    Example -

    New in version 1.8.0.

    +

    Added in version 1.8.0.

    FolderAdded
    @@ -520,7 +520,7 @@

    Example -

    New in version 1.3.3.

    +

    Added in version 1.3.3.

    FolderRemoved
    @@ -539,7 +539,7 @@

    Example -

    New in version 1.3.3.

    +

    Added in version 1.3.3.

    FolderMoved
    @@ -560,7 +560,7 @@

    Example -

    New in version 1.8.0.

    +

    Added in version 1.8.0.

    UpdatedFiles

    A file list was modified.

    @@ -670,7 +670,7 @@

    Example -

    Printing

    +

    Printing

    PrintStarted

    A print has started.

    Payload:

    @@ -758,7 +758,7 @@

    Example -

    New in version 1.3.7.

    +

    Added in version 1.3.7.

    PrintCancelled

    The print has been cancelled.

    @@ -872,7 +872,7 @@

    Example -

    New in version 1.6.0.

    +

    Added in version 1.6.0.

    GcodeScript${ScriptName}Finished

    A custom GCODE script has finished running.

    @@ -888,7 +888,7 @@

    Example -

    New in version 1.6.0.

    +

    Added in version 1.6.0.

    ChartMarked

    A time-based marking has been made on the UI’s temperature chart.

    @@ -905,13 +905,13 @@

    Example -

    New in version 1.9.0.

    +

    Added in version 1.9.0.

    -

    GCODE processing

    +

    GCODE processing

    PowerOn

    An M80 was sent to the printer through OctoPrint (not triggered when printing from SD!)

    @@ -939,7 +939,7 @@

    ExampleM600, M701 or M702 was sent to the printer through OctoPrint (not triggered when printing from SD!)

    -

    New in version 1.7.0.

    +

    Added in version 1.7.0.

    PositionUpdate

    The response to an M114 was received by OctoPrint. The payload contains the current position information @@ -957,7 +957,7 @@

    Example -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    ToolChange

    A tool change command was sent to the printer. The payload contains the former current tool index and the @@ -970,7 +970,7 @@

    Example -

    New in version 1.3.5.

    +

    Added in version 1.3.5.

    CommandSuppressed

    A command was suppressed by OctoPrint due to according configuration and will not be @@ -986,7 +986,7 @@

    Example -

    New in version 1.5.0.

    +

    Added in version 1.5.0.

    InvalidToolReported

    The firmware reported a tool as invalid upon trying to select it. It has thus been marked @@ -1000,13 +1000,13 @@

    Example -

    New in version 1.5.0.

    +

    Added in version 1.5.0.

    -

    Timelapses

    +

    Timelapses

    CaptureStart

    A timelapse frame has started to be captured.

    Payload:

    @@ -1033,7 +1033,7 @@

    Example -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    MovieRendering

    The timelapse movie has started rendering.

    @@ -1073,7 +1073,7 @@

    Example -

    Slicing

    +

    Slicing

    SlicingStarted

    The slicing of a file has started.

    Payload:

    @@ -1138,7 +1138,7 @@

    Example -

    New in version 1.2.12.

    +

    Added in version 1.2.12.

    SlicingProfileModified
    @@ -1152,7 +1152,7 @@

    Example -

    New in version 1.2.12.

    +

    Added in version 1.2.12.

    SlicingProfileDeleted
    @@ -1166,25 +1166,25 @@

    Example -

    New in version 1.2.12.

    +

    Added in version 1.2.12.

    -

    Settings

    +

    Settings

    SettingsUpdated

    The settings were updated via the REST API.

    This event may also be triggered if calling code of octoprint.settings.Settings.save or octoprint.plugin.PluginSettings.save sets the trigger_event parameter to True.

    -

    New in version 1.2.0.

    +

    Added in version 1.2.0.

    -

    Printer Profile

    +

    Printer Profile

    PrinterProfileModified

    A printer profile was modified.

    Payload:

    @@ -1194,7 +1194,7 @@

    Example -

    New in version 1.3.12.

    +

    Added in version 1.3.12.

    diff --git a/1.10.3/features/accesscontrol.html b/1.10.3/features/accesscontrol.html index 77d32a717..c608a21eb 100644 --- a/1.10.3/features/accesscontrol.html +++ b/1.10.3/features/accesscontrol.html @@ -1,26 +1,26 @@ - + - + Access Control — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -143,7 +143,7 @@
    -

    Access Control

    +

    Access Control

    Changed in version 1.5.0.

    @@ -198,7 +198,7 @@ control enabled.

    -

    Autologin

    +

    Autologin

    While access control cannot be disabled as of OctoPrint 1.5+, the Autologin feature can be used to bypass authentication for hosts on the network(s) that you trust.

    Starting with OctoPrint 1.5.0, OctoPrint makes enabled access control mandatory. This @@ -224,7 +224,7 @@ benchies, that’s on you.

    -

    Gather configuration information

    +

    Gather configuration information

    You can configure Autologin via a plugin (the easy way), or manually (the hard way), but in either case you will need to specify which user should be automatically logged in, and which hosts are permitted access this way.

    @@ -247,16 +247,16 @@ 255.255.255.0. Your address range is 192.168.23.42/255.255.255.0.

    -

    The easy way: Using the OctoPrint-AutoLoginConfig plugin

    +

    The easy way: Using the OctoPrint-AutoLoginConfig plugin

    The easiest way to configure AutoLogin is to install the OctoPrint-AutoLoginConfig plugin via the plugin manager.

    Open its settings and follow the instructions on the screen.

    -

    The hard way: Manual editing of config.yaml

    +

    The hard way: Manual editing of config.yaml

    -

    Preparation

    +

    Preparation

    First of all, read the YAML primer. You will have to edit OctoPrint’s main configuration file, and thus should make sure you understand at least roughly how things work and that you should keep your @@ -267,7 +267,7 @@

    Preparation -

    Configuration

    +

    Configuration

    Ready? Let’s do some editing then. I’ll outline what to do and where first, and then further down there’s also a dedicated list of steps for OctoPi specifically.

      @@ -309,7 +309,7 @@

      Configuration -

      OctoPi specific steps

      +

      OctoPi specific steps

      If you are running OctoPi you will have to SSH into your Raspberry Pi. Then issue the following commands:

        @@ -325,7 +325,7 @@

        OctoPi specific steps

    -

    If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

    +

    If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

    Warning

    You probably shouldn’t do this, EVER. There are usually other options. Don’t even @@ -344,16 +344,16 @@

    If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal

    -

    Available Extension Hooks

    +

    Available Extension Hooks

    There are two hooks for plugins to utilize in order to add new configurable permissions into the system and/or adjust the styling of the login dialog.

    -

    octoprint.access.permissions

    +

    octoprint.access.permissions

    See here.

    -

    octoprint.theming.login

    +

    octoprint.theming.login

    See here.

    diff --git a/1.10.3/features/action_commands.html b/1.10.3/features/action_commands.html index 68bafdcb6..ef426a2fe 100644 --- a/1.10.3/features/action_commands.html +++ b/1.10.3/features/action_commands.html @@ -1,26 +1,26 @@ - + - + Action Commands — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -129,7 +129,7 @@
    -

    Action Commands

    +

    Action Commands

    Action commands are a feature defined for the GCODE based RepRap communication protocol. To quote from the GCODE node of the RepRap wiki:

    @@ -146,7 +146,7 @@
    start

    When this command is received from the printer, a job is currently selected and not active, OctoPrint will start it just like if the “Start”/”Restart” button had been clicked.

    -

    New in version 1.5.0.

    +

    Added in version 1.5.0.

    cancel

    When this command is received from the printer, OctoPrint will cancel a current print job just like if the @@ -174,21 +174,21 @@ set the corresponding internal state flags and send a file list request. This command is only recognized if SD support is enabled in OctoPrint.

    -

    New in version 1.6.0.

    +

    Added in version 1.6.0.

    sd_ejected

    When this command is received from the printer, OctoPrint will assume the SD card has been removed from the printer and clear the corresponding internal state flags. This command is only recognized if SD support is enabled in OctoPrint.

    -

    New in version 1.6.0.

    +

    Added in version 1.6.0.

    sd_updated

    When this command is received from the printer, OctoPrint will assume something on the SD card in the printer has changed and trigger a file list request. This command is only recognized if SD support is enabled in OctoPrint.

    -

    New in version 1.6.0.

    +

    Added in version 1.6.0.

    shutdown

    When this command is received from the printer, support for it is enabled in its settings @@ -197,7 +197,7 @@ firmware or manipulated GCODE, but can be enabled in the OctoPrint settings via Serial Connection > Firmware & Protocol > Action Commands if so desired by the user.

    -

    New in version 1.8.0.

    +

    Added in version 1.8.0.

    diff --git a/1.10.3/features/atcommands.html b/1.10.3/features/atcommands.html index fe284c328..dafc91fa9 100644 --- a/1.10.3/features/atcommands.html +++ b/1.10.3/features/atcommands.html @@ -1,26 +1,26 @@ - + - + @ Commands — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -129,9 +129,9 @@
    -

    @ Commands

    +

    @ Commands

    -

    New in version 1.3.7.

    +

    Added in version 1.3.7.

    @ commands (also known as host commands elsewhere) are special commands you may include in GCODE files streamed through OctoPrint to your printer or send as part of GCODE scripts, through the Terminal Tab, the API or plugins. diff --git a/1.10.3/features/custom_controls.html b/1.10.3/features/custom_controls.html index 5e7e8bd73..8e88c72d8 100644 --- a/1.10.3/features/custom_controls.html +++ b/1.10.3/features/custom_controls.html @@ -1,26 +1,26 @@ - + - + Custom Controls — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -140,8 +140,8 @@

    -

    Custom Controls

    -
    +

    Custom Controls

    +
    +

    OctoPrint allows you to add custom controls to the “Control” tab of its interface. Control types reach from simple buttons which trigger sending of one or more lines of GCODE to the printer over more complex controls allowing parameterization of these commands with values entered by the user to full blown GCODE script templates backed by Jinja2.

    -

    Custom controls are configured within config.yaml 1 in a controls section which +

    Custom controls are configured within config.yaml [1] in a controls section which basically represents a hierarchical structure of all configured custom controls of various types.

    Note

    @@ -236,7 +236,7 @@
    The rendered output created through the example configuration
    -

    Fig. 1 The rendered output created through the example configuration

    +

    Fig. 1 The rendered output created through the example configuration

    As you can see you have two basic types of control definitions here: controls that actually do something (providing a @@ -251,14 +251,14 @@ file.

    -

    Types

    +

    Types

    Let’s take a closer look at the possible attributes that are available for both basic types.

    -

    Containers

    -

    Name

    +

    Containers

    +
    --++ @@ -278,11 +278,11 @@

    Attribute

    -

    Controls

    - +

    Controls

    +
    --++ @@ -408,17 +408,17 @@
    An example confirmation dialog
    -

    Fig. 2 An example confirmation dialog

    +

    Fig. 2 An example confirmation dialog

    -

    Examples

    +

    Examples

    -

    Parameterized GCODE Script

    +

    Parameterized GCODE Script

    -
    Listing 1 Control definition in ~/.octoprint/config.yaml
    +
    Listing 1 Control definition in ~/.octoprint/config.yaml
    name: Dance
     script: custom/dance.gco
     input:
    @@ -433,7 +433,7 @@
     
    -
    Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
    +
    Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
    {% set center_x = printer_profile.volume.width / 2 %}
     {% set center_y = printer_profile.volume.depth / 2 %}
     {% set speed_x = printer_profile.axes.x.speed %}
    @@ -467,12 +467,13 @@
     

    Note the usage of the parameters.repetitions template variable in the GCODE script template, which will contain the value selected by the user for the “Go arounds” slider.

    Footnotes

    -
    -
    1
    -

    For Linux that will be ~/.octoprint/config.yaml, for Windows it will be %APPDATA%/OctoPrint/config.yaml and for +

    -
    + +
    diff --git a/1.10.3/features/gcode_scripts.html b/1.10.3/features/gcode_scripts.html index 2fb66622d..09596c57e 100644 --- a/1.10.3/features/gcode_scripts.html +++ b/1.10.3/features/gcode_scripts.html @@ -1,26 +1,26 @@ - + - + GCODE Scripts — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -140,8 +140,8 @@
    -

    GCODE Scripts

    -
    +

    GCODE Scripts

    +
    +

    OctoPrint allows you to define custom GCODE scripts to be executed on specified occasions, e.g. when a print starts, when OctoPrint connects to a printer, or when a button defined as a custom control is clicked.

    @@ -172,7 +172,7 @@ as described below.

    You can find the docs on the Jinja templating engine as used in OctoPrint here.

    -

    Predefined Scripts

    +

    Predefined Scripts

    The following GCODE scripts are sent by OctoPrint automatically:

      @@ -197,20 +197,20 @@
    -

    Events

    +

    Events

    Every GCODE script that is executed will emit two events. The event name will start with ‘GcodeScript’ followed by the capitalized name of the script. When afterPrintDone has started the event will be GcodeScriptAfterPrintDoneRunning and once it has completed the last event will be GcodeScriptAfterPrintDoneFinished. You can find more details in the Events documentation.

    -

    Snippets

    +

    Snippets

    For making small GCODE snippets reusable in a template (e.g. for disabling all hotends) there’s an additional Jinja template command {% snippet '<snippet name>' %} available which allows including snippets stored under scripts/gcode/snippets in OctoPrint’s configuration directory. They fully support the whole spectrum of the Jinja2 templating language (that includes including other snippets).

    -

    Context

    +

    Context

    All GCODE scripts have access to the following template variables through the template context:

      @@ -302,10 +302,10 @@
    -

    Bundled Scripts

    +

    Bundled Scripts

    Out of the box, OctoPrint defaults to the following script setup for afterPrintCancelled:

    -
    Listing 3 Default afterPrintCancelled script
    +
    Listing 3 Default afterPrintCancelled script
    ; disable motors
     M84
     
    @@ -320,7 +320,7 @@
     

    The disable_hotends snippet is defined as follows:

    -
    Listing 4 Default disable_hotends snippet
    +
    Listing 4 Default disable_hotends snippet
    {% if printer_profile.extruder.sharedNozzle %}
     M104 T0 S0
     {% else %}
    @@ -333,7 +333,7 @@
     

    The disable_bed snippet is defined as follows:

    -
    Listing 5 Default disable_bed snippet
    +
    Listing 5 Default disable_bed snippet
    {% if printer_profile.heatedBed %}
     M140 S0
     {% endif %}
    @@ -346,16 +346,16 @@
     to 0 if a heated bed is configured.

    -

    Examples

    +

    Examples

    -

    More nifty pause and resume

    +

    More nifty pause and resume

    If you do not have a multi-extruder setup, aren’t printing from SD and have “Log position on pause” enabled under Settings > Serial Connection > Behaviour > Pausing, the following afterPrintPaused and beforePrintResumed scripts might be interesting for you. With something like them in place, OctoPrint will move your print head out of the way to a safe rest position (here G1 X0 Y0, you might want to adjust that) on pause and move it back to the persisted pause position on resume, making sure to also reset the extruder and feedrate.

    -
    Listing 6 afterPrintPaused script
    +
    Listing 6 afterPrintPaused script
    ; (optional) disable stepper inactivity timeout - uncomment if you printer disables steppers during pause and supports this command
     ;M18 S0
     
    @@ -378,7 +378,7 @@
     
    -
    Listing 7 beforePrintResumed script
    +
    Listing 7 beforePrintResumed script
    {% if pause_position.x is not none %}
     ; relative extruder
     M83
    diff --git a/1.10.3/features/index.html b/1.10.3/features/index.html
    index 2037aaefe..324c26ad0 100644
    --- a/1.10.3/features/index.html
    +++ b/1.10.3/features/index.html
    @@ -1,26 +1,26 @@
     
    -
    +
     
    -  
    +  
     
       
       Features — OctoPrint 1.10.3 documentation
    -      
    -      
    -      
    +      
    +      
    +      
     
       
       
       
    -        
    -        
    -        
    -        
    -        
    -        
    -        
    +        
    +        
    +        
    +        
    +        
    +        
    +        
             
         
         
    @@ -127,7 +127,7 @@
                
    -

    Features

    +

    Features

    Note

    This feature list is not exhaustive. This part of OctoPrint’s documentation is sadly far from finished still.

    diff --git a/1.10.3/features/plugins.html b/1.10.3/features/plugins.html index efa234b7b..c7233fddf 100644 --- a/1.10.3/features/plugins.html +++ b/1.10.3/features/plugins.html @@ -1,26 +1,26 @@ - + - + Plugins — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -137,9 +137,9 @@
    -

    Plugins

    +

    Plugins

    -

    New in version 1.2.0.

    +

    Added in version 1.2.0.

    Starting with OctoPrint 1.2.0, there’s now a plugin system in place which allows to individually extend OctoPrint’s functionality.

    @@ -156,21 +156,21 @@ read more on how to enable that here.

    -

    Finding Plugins

    +

    Finding Plugins

    The official OctoPrint Plugin Repository can be found at plugins.octoprint.org.

    Some plugins may also be found in the list provided in the OctoPrint wiki and on the OctoPrint organization Github page.

    -

    Installing Plugins

    +

    Installing Plugins

    Plugins can be installed through the bundled Plugin Manager, which allows installing plugins available in the OctoPrint Plugin Repository, from a web address or from an uploaded file archive.

    Please refer to the documentation of the plugin for additional installations instructions.

    -

    Manual Installation

    +

    Manual Installation

    If you don’t want or can’t use the Plugin Manager, plugins may also be installed manually either by copying and unpacking them into one of the configured plugin folders (regularly those are <octoprint source root>/plugins and -<octoprint config folder>/plugins 1 or by installing them as regular Python modules via pip 2.

    +<octoprint config folder>/plugins [1] or by installing them as regular Python modules via pip [2].

    For a plugin available on the Python Package Index (PyPi), the process is as simple as issuing a

    pip install <plugin_name>
     
    @@ -185,20 +185,22 @@

    Manual Installation -

    Developing Plugins

    +

    Developing Plugins

    See Developing Plugins.

    Footnotes

    -
    -
    1
    -

    For Linux that will be ~/.octoprint/plugins, for Windows it will be %APPDATA%/OctoPrint/plugins and for +

    -
    2
    -

    Make sure to use the exact same Python installation for installing the plugin that you also used for + +

    -
    + +
    diff --git a/1.10.3/features/safemode.html b/1.10.3/features/safemode.html index 2d2afab86..3399812dd 100644 --- a/1.10.3/features/safemode.html +++ b/1.10.3/features/safemode.html @@ -1,26 +1,26 @@ - + - + Safe mode — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -133,9 +133,9 @@
    -

    Safe mode

    +

    Safe mode

    -

    New in version 1.3.0.

    +

    Added in version 1.3.0.

    Changed in version 1.3.13.

    @@ -153,7 +153,7 @@

    Whenever reporting an issue with OctoPrint, please always attempt to reproduce it in safe mode as well to ensure it really is an issue in OctoPrint itself and now caused by one of your installed third party additions.

    -

    How to start OctoPrint in safe mode

    +

    How to start OctoPrint in safe mode

    There exist three ways to start OctoPrint in safe mode:

      @@ -192,12 +192,12 @@
      "Restart OctoPrint in safe mode" in the "System" menu
      -

      Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

      +

      Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

    -

    Differences of safe mode vs normal operation mode

    +

    Differences of safe mode vs normal operation mode

    When OctoPrint is running in safe mode the following changes to its normal operation mode apply:

      @@ -221,7 +221,7 @@
      Safe mode notification
      -

      Fig. 4 Safe mode notification

      +

      Fig. 4 Safe mode notification

    diff --git a/1.10.3/genindex.html b/1.10.3/genindex.html index ca87a0035..c6560cca8 100644 --- a/1.10.3/genindex.html +++ b/1.10.3/genindex.html @@ -1,25 +1,25 @@ - + Index — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -766,7 +766,7 @@

    C

  • ContainerConfig (class in octoprint.schema.config.controls)
  • -
  • content_type (octoprint.filemanager.ContentTypeMapping property) +
  • content_type (octoprint.filemanager.ContentTypeMapping attribute)
  • ContentTypeDetector (class in octoprint.filemanager)
  • @@ -908,7 +908,7 @@

    D

  • detectionFirst (octoprint.schema.config.serial.SerialTimeoutConfig attribute)
  • -
  • detector (octoprint.filemanager.ContentTypeDetector property) +
  • detector (octoprint.filemanager.ContentTypeDetector attribute)
  • devel (octoprint.schema.config.Config attribute)
  • @@ -1046,10 +1046,10 @@

    E

  • extended_m20 (octoprint.schema.config.serial.SerialCapabilities attribute)
  • -
  • extensions (octoprint.filemanager.ContentTypeDetector property) +
  • extensions (octoprint.filemanager.ContentTypeDetector attribute)
  • externalHeatupDetection (octoprint.schema.config.serial.SerialConfig attribute) @@ -3138,8 +3138,6 @@

    R

  • ResettableTimer (class in octoprint.util)
  • resolve_output_to_path() (octoprint.server.util.flask.PluginAssetResolver method) -
  • -
  • response (octoprint.server.util.flask.OctoPrintFlaskResponse attribute)
  • RestartNeedingPlugin (class in octoprint.plugin) diff --git a/1.10.3/http-routingtable.html b/1.10.3/http-routingtable.html index 48d94c116..c97c3e235 100644 --- a/1.10.3/http-routingtable.html +++ b/1.10.3/http-routingtable.html @@ -1,25 +1,25 @@ - + HTTP Routing Table — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + diff --git a/1.10.3/index.html b/1.10.3/index.html index c2e9c8ef6..6b77d2a69 100644 --- a/1.10.3/index.html +++ b/1.10.3/index.html @@ -1,26 +1,26 @@ - + - + Welcome to OctoPrint’s documentation! — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -117,7 +117,7 @@
    -

    Welcome to OctoPrint’s documentation!

    +

    Welcome to OctoPrint’s documentation!

    The OctoPrint Logo

    OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero General Public License V3.

    @@ -133,7 +133,7 @@

    Welcome to OctoPrint’s documentation!on the forum!

    -

    Contents

    +

    Contents

    • Features
        diff --git a/1.10.3/jsclientlib/base.html b/1.10.3/jsclientlib/base.html index d9c944724..839a2675c 100644 --- a/1.10.3/jsclientlib/base.html +++ b/1.10.3/jsclientlib/base.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -172,14 +172,14 @@
        -

        OctoPrintClient

        +

        OctoPrintClient

        -class OctoPrintClient([options])
        +class OctoPrintClient([options])

        Instantiates a new instance of the client library. Note that by default there’s always an instance registered globally called OctoPrint.

        -
        Arguments
        +
        Arguments:
        @@ -189,7 +189,7 @@
        -OctoPrintClient.options
        +OctoPrintClient.options

        The client library instance’s options. The following keys are currently supported:

        baseurl

        The base URL of the OctoPrint API

        @@ -205,7 +205,7 @@
        -OctoPrintClient.plugins
        +OctoPrintClient.plugins

        Registration of client library components provided by plugins.

        OctoPrint plugins should always register their client classes here using their plugin identifier as key via OctoPrintClient.registerPluginComponent().

        @@ -244,12 +244,12 @@
        -OctoPrintClient.getBaseUrl()
        +OctoPrintClient.getBaseUrl()

        Returns the canonical base URL to use for OctoPrint’s API. Uses the current value of OctoPrint.options.baseurl. If that doesn’t end in a /, a trailing / will be appended to the URL before the result is returned.

        -
        Returns string
        +
        Returns string:

        The base url to use to access OctoPrint’s API.

        @@ -257,15 +257,15 @@
        -OctoPrintClient.getCookie(name)
        +OctoPrintClient.getCookie(name)
        -

        New in version 1.8.3.

        +

        Added in version 1.8.3.

        Returns the value of the cookie with name name. The port based cookie suffix and if necessary also the script root based suffix will be automatically applied to the name prior to looking up the value.

        -
        Return string
        +
        Return string:

        The value of the cookie, if set & accessible, else an empty string.

        @@ -273,7 +273,7 @@
        -OctoPrintClient.getRequestHeaders(method, additional, opts)
        +OctoPrintClient.getRequestHeaders(method, additional, opts)

        Changed in version 1.8.3.

        @@ -292,14 +292,14 @@ A warning will be logged to the debug console accordingly.

        -
        Arguments
        +
        Arguments:
        • method (str()) – Method of the request for which to set headers

        • additional (object()) – Additional headers to add to the request, optional.

        • opts (object()) – Additional opts passed to the request, used to read cross domain setting, optional.

        -
        Returns object
        +
        Returns object:

        HTTP headers to use for requests.

        @@ -307,7 +307,7 @@
        -OctoPrintClient.ajax(method, url, opts)
        +OctoPrintClient.ajax(method, url, opts)

        Performs an AJAX request against the OctoPrint API, utilizing jQuery’s own ajax function.

        The HTTP method to use may be defined through opts.method or - if that is not provided – through the method parameter. If neither is available, GET will be used.

        @@ -321,14 +321,14 @@ json will be used.

        Anything provided in the opts parameter will also be passed on to the jQuery ajax call.

        -
        Arguments
        +
        Arguments:
        • method (string()) – The HTTP method to use for the request (optional)

        • url (string()) – The URL to perform the request against (optional)

        • opts (object()) – Additional options to use for the request, see above for details (optional)

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -336,11 +336,11 @@
        -OctoPrintClient.ajaxWithData(method, url, data, opts)
        +OctoPrintClient.ajaxWithData(method, url, data, opts)

        Performs an AJAX request against the OctoPrint API, including the provided data in the body of the request.

        Utilizes OctoPrint.ajax(), see that for more details.

        -
        Arguments
        +
        Arguments:
        • method (string()) – The HTTP method to use for the request (optional)

        • url (string()) – The URL to perform the request against (optional)

        • @@ -348,7 +348,7 @@
        • opts (object()) – Additional options to use for the request (optional)

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -356,7 +356,7 @@
        -OctoPrintClient.get(url, opts)
        +OctoPrintClient.get(url, opts)

        Performs a GET request against url.

        Example:

        OctoPrint.get("api/version")
        @@ -366,13 +366,13 @@
         
        -
        Arguments
        +
        Arguments:
        • url (string()) – URL against which to make the request, relative to base url or absolute

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -380,7 +380,7 @@
        -OctoPrintClient.getWithQuery(url, data, opts)
        +OctoPrintClient.getWithQuery(url, data, opts)

        Performs a GET request against url using the provided data as URL query.

        Example:

        // this should perform a GET of "api/timelapse?unrendered=true"
        @@ -388,14 +388,14 @@
         
        -
        Arguments
        +
        Arguments:
        • url (string()) – URL against which to make the request, relative to base url or absolute

        • data (object()) – An object containing the key/value pairs of the query data OR a string representation of the query

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -403,7 +403,7 @@
        -OctoPrintClient.post(url, data, opts)
        +OctoPrintClient.post(url, data, opts)

        Performs a POST request against url using the provided data as request body.

        Example:

        var url = OctoPrint.getBlueprintUrl("myplugin") + "endpoint";
        @@ -414,7 +414,7 @@
         
        -
        Arguments
        +
        Arguments:
        • url (string()) – URL against which to make the request, relative to base url or absolute

        • data (string()) – Data to post as request body

        • @@ -422,7 +422,7 @@
        • opts – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -430,7 +430,7 @@
        -OctoPrintClient.postJson(url, data, opts)
        +OctoPrintClient.postJson(url, data, opts)

        Performs a POST request against url using the provided data object as request body after serializing it to JSON.

        Example:

        @@ -442,14 +442,14 @@
  • -
    Arguments
    +
    Arguments:
    • url (string()) – URL against which to make the request, relative to base url or absolute

    • data (object()) – Data to post as request body after serialization to JSON

    • opts (object()) – Additional options for the request

    -
    Returns Promise
    +
    Returns Promise:

    A jQuery Promise for the request’s response

    @@ -457,14 +457,14 @@
    -OctoPrintClient.put(url, data, opts)
    +OctoPrintClient.put(url, data, opts)

    Performs PUT request against url using the provided data as request body.

    See OctoPrint.post() for details.

    -OctoPrintClient.putJson(url, data, opts)
    +OctoPrintClient.putJson(url, data, opts)

    Performs PUT request against url using the provided data as request body after serializing it to JSON.

    See OctoPrint.postJson() for details.

    @@ -472,14 +472,14 @@
    -OctoPrintClient.patch(url, data, opts)
    +OctoPrintClient.patch(url, data, opts)

    Performs PATCH request against url using the provided data as request body.

    See OctoPrint.post() for details.

    -OctoPrintClient.patchJson(url, data, opts)
    +OctoPrintClient.patchJson(url, data, opts)

    Performs PATCH request against url using the provided data as request body after serializing it to JSON.

    See OctoPrint.postJson() for details.

    @@ -487,16 +487,16 @@
    -OctoPrintClient.delete(url, opts)
    +OctoPrintClient.delete(url, opts)

    Performs a DELETE request against url.

    -
    Arguments
    +
    Arguments:
    • url (string()) – URL against which to make the request, relative to base url or absolute

    • opts (object()) – Additional options for the request

    -
    Returns Promise
    +
    Returns Promise:

    A jQuery Promise for the request’s response

    @@ -504,19 +504,19 @@
    -OctoPrintClient.download(url, opts)
    +OctoPrintClient.download(url, opts)

    Downloads a file from url, returning the response body as data type text.

    Use this if you need to download a file from the server in order to process it further in the client. The response body returned on successful completion of the returned jQuery Promise will contain the requested file as raw string/binary.

    -
    Arguments
    +
    Arguments:
    • url (string()) – URL to download

    • opts (object()) – Additional options for the request

    -
    Returns Promise
    +
    Returns Promise:

    A jQuery Promise for the request’s response

    @@ -524,7 +524,7 @@
    -OctoPrintClient.upload(url, file, filename, additional)
    +OctoPrintClient.upload(url, file, filename, additional)

    Uploads a file to url using a multipart/form-data POST request.

    file should be either of

    @@ -581,7 +581,7 @@
    -
    Arguments
    +
    Arguments:
    • url (string()) – URL to which to POST the upload, relative to base url or absolute

    • file (object()) – The file to object, see description for details

    • @@ -594,7 +594,7 @@
      -OctoPrintClient.issueCommand(url, command, payload, opts)
      +OctoPrintClient.issueCommand(url, command, payload, opts)

      Issues a command against an OctoPrint command API endpoint.

      OctoPrint contains various API endpoints which follow a specific pattern: The payload of the request body is a JSON object which contains at least one property command and depending on the provided command additional @@ -614,7 +614,7 @@

    -
    Arguments
    +
    Arguments:
    • url (string()) – The URL to POST the command to

    • command (string()) – The command to issue

    • @@ -622,7 +622,7 @@
    • opts (object()) – Additional options for the request

    -
    Returns Promise
    +
    Returns Promise:

    A jQuery Promise for the request’s response

    @@ -630,7 +630,7 @@
    -OctoPrintClient.getSimpleApiUrl(plugin)
    +OctoPrintClient.getSimpleApiUrl(plugin)

    Returns the proper URL for the endpoint of a SimpleApiPlugin, based on the plugin identifier.

    Example:

    @@ -639,12 +639,12 @@
    -
    Arguments
    +
    Arguments:
    • plugin (string()) – The identifier of the plugin for which to return the URL

    -
    Returns string
    +
    Returns string:

    The URL to use as endpoint

    @@ -652,7 +652,7 @@
    -OctoPrintClient.simpleApiGet(plugin, opts)
    +OctoPrintClient.simpleApiGet(plugin, opts)

    Performs a GET request against the endpoint of a SimpleApiPlugin with identifier plugin.

    OctoPrint.simpleApiGet("myplugin")
    @@ -662,13 +662,13 @@
     
    -
    Arguments
    +
    Arguments:
    • plugin (string()) – The identifier of the plugin

    • opts (object()) – Additional options for the request

    -
    Returns Promise
    +
    Returns Promise:

    A jQuery Promise for the request’s response

    @@ -676,7 +676,7 @@
    -OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)
    +OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)

    Performs the API command command against the endpoint of a SimpleApiPlugin with identifier plugin, including the optional payload.

    Example:

    @@ -688,7 +688,7 @@
    -
    Arguments
    +
    Arguments:
    • plugin (string()) – The identifier of the plugin

    • command (string()) – The command to issue

    • @@ -696,7 +696,7 @@
    • opts (object()) – Additional options for the request

    -
    Returns Promise
    +
    Returns Promise:

    A jQuery Promise for the request’s response

    @@ -704,7 +704,7 @@
    -OctoPrintClient.getBlueprintUrl(plugin)
    +OctoPrintClient.getBlueprintUrl(plugin)

    Returns the proper base URL for blueprint endpoints of a BlueprintPlugin with identifier plugin.

    Example:

    @@ -716,14 +716,14 @@
    -OctoPrintClient.createRejectedDeferred()
    +OctoPrintClient.createRejectedDeferred()

    Static method.

    Shortcut for creating a rejected jQuery Deferred.

    -OctoPrintClient.createCustomException(name)
    +OctoPrintClient.createCustomException(name)

    Static method.

    Creates a custom exception class. name may be either a function in which case it will be used as constructor for the new exception class, or a string, in which case a constructor with proper @@ -738,7 +738,7 @@

    -OctoPrintClient.registerPluginComponent(identifier, clientClass)
    +OctoPrintClient.registerPluginComponent(identifier, clientClass)

    Static method.

    Registers the plugin client component clientClass under the name identifier on the OctoPrintClient.plugins registry.

    @@ -758,7 +758,7 @@
    -
    Arguments
    +
    Arguments:
    • identifier (string()) – The identifier of the plugin for which clientClass is the client

    • clientClass (class()) – The client class to register. Constructor must follow the signature ClientClass(base) @@ -771,7 +771,7 @@

      -class OctoPrintClient.InvalidArgumentError()
      +class OctoPrintClient.InvalidArgumentError()

      Exception to use when functions are called with invalid arguments.

      diff --git a/1.10.3/jsclientlib/browser.html b/1.10.3/jsclientlib/browser.html index 596282d90..32b1a91bf 100644 --- a/1.10.3/jsclientlib/browser.html +++ b/1.10.3/jsclientlib/browser.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.browser — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -145,10 +145,10 @@
      -

      OctoPrintClient.browser

      +

      OctoPrintClient.browser

      -OctoPrintClient.browser.login(username, password, remember, opts)
      +OctoPrintClient.browser.login(username, password, remember, opts)

      Logs the browser into OctoPrint, using the provided username and password as credentials. If remember is set to true, the session will also persist across browser restarts.

      @@ -160,7 +160,7 @@
      -
      Arguments
      +
      Arguments:
      • username (string()) – Username to log in with

      • password (string()) – Password to log in with

      • @@ -168,7 +168,7 @@
      • opts (object()) – Additional request options

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -176,7 +176,7 @@
      -OctoPrintClient.browser.passiveLogin(opts)
      +OctoPrintClient.browser.passiveLogin(opts)

      Tries to perform a passive login into OctoPrint, using existing session data stored in the browser’s cookies.

      OctoPrint.browser.passiveLogin()
      @@ -197,12 +197,12 @@
       
      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional request options

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -210,15 +210,15 @@
      -OctoPrintClient.browser.logout(opts)
      +OctoPrintClient.browser.logout(opts)

      Logs the browser out of OctoPrint.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional request options

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/connection.html b/1.10.3/jsclientlib/connection.html index 2a0e61d48..98669b05e 100644 --- a/1.10.3/jsclientlib/connection.html +++ b/1.10.3/jsclientlib/connection.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.connection — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -146,19 +146,19 @@
      -

      OctoPrintClient.connection

      +

      OctoPrintClient.connection

      -OctoPrintClient.connection.getSettings(opts)
      +OctoPrintClient.connection.getSettings(opts)

      Retrieves the available connection options for connection to a printer.

      See Get connection settings for the response format.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -166,7 +166,7 @@
      -OctoPrintClient.connection.connect(data, opts)
      +OctoPrintClient.connection.connect(data, opts)

      Connects to the printer, optionally using the provided connection data as parameters.

      If data is provided it’s expected to be an object specifying one or more of

      @@ -180,13 +180,13 @@

      See Issue a connection command for more details.

      -
      Arguments
      +
      Arguments:
      • data (object()) – Connection data to use

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -194,16 +194,16 @@
      -OctoPrintClient.connection.disconnect(opts)
      +OctoPrintClient.connection.disconnect(opts)

      Disconnects from the printer.

      See Issue a connection command for more details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -211,16 +211,16 @@
      -OctoPrintClient.connection.fakeAck(opts)
      +OctoPrintClient.connection.fakeAck(opts)

      Triggers a fake acknowledgement (ok) on the printer.

      See Issue a connection command for more details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/control.html b/1.10.3/jsclientlib/control.html index 02cb1668c..8ccbb5fb8 100644 --- a/1.10.3/jsclientlib/control.html +++ b/1.10.3/jsclientlib/control.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.control — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -147,18 +147,18 @@
      -

      OctoPrintClient.control

      +

      OctoPrintClient.control

      -OctoPrintClient.control.getCustomControls(opts)
      +OctoPrintClient.control.getCustomControls(opts)

      Retrieves the defined custom controls from the server.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -166,18 +166,18 @@
      -OctoPrintClient.control.sendGcode(commands, opts)
      +OctoPrintClient.control.sendGcode(commands, opts)

      Sends the provided commands to the printer.

      Corresponds to the Send an arbitrary command to the printer API, see there for details.

      -
      Arguments
      +
      Arguments:
      • commands (list or string()) – One or more commands to send to the printer.

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -185,20 +185,20 @@
      -OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)
      +OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)

      Sends the provided commands to the printer, replacing contained placeholders with the provided parameters first.

      Corresponds to the Send an arbitrary command to the printer API, see there for details.

      -
      Arguments
      +
      Arguments:
      • commands (list or string()) – One or more commands to send to the printer

      • parameters (object()) – Parameters (key-value-pairs) to replace placeholders in commands with

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -206,18 +206,18 @@
      -OctoPrintClient.control.sendGcodeScript(script, context, opts)
      +OctoPrintClient.control.sendGcodeScript(script, context, opts)

      Sends the provided script to the printer, enhancing the template with the specified context.

      -
      Arguments
      +
      Arguments:
      • script (string()) – Name of the script to send to the printer

      • context (object()) – Template context

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -225,11 +225,11 @@
      -OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)
      +OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)

      Sends the provided script to the printer, enhancing the template with the specified context and parameters.

      -
      Arguments
      +
      Arguments:
      • script (string()) – Name of the script to send to the printer

      • context (object()) – Template context

      • @@ -237,7 +237,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/files.html b/1.10.3/jsclientlib/files.html index bddbe926b..e7f4d859f 100644 --- a/1.10.3/jsclientlib/files.html +++ b/1.10.3/jsclientlib/files.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.files — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -155,21 +155,21 @@
      -

      OctoPrintClient.files

      +

      OctoPrintClient.files

      -OctoPrintClient.files.get(location, filename, opts)
      +OctoPrintClient.files.get(location, filename, opts)

      Retrieves information about the file filename at location.

      See Retrieve a specific file’s information for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file

      • filename (string()) – The name of the file

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -177,7 +177,7 @@
      -OctoPrintClient.files.list(recursively, opts)
      +OctoPrintClient.files.list(recursively, opts)

      Retrieves a list of all files from the server.

      The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -209,13 +209,13 @@

      See Retrieve all files for more details.

      -
      Arguments
      +
      Arguments:
      • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -223,7 +223,7 @@
      -OctoPrintClient.files.listForLocation(location, recursively, opts)
      +OctoPrintClient.files.listForLocation(location, recursively, opts)

      Retrieves a list of all files stored at the specified location from the server.

      The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -231,14 +231,14 @@

      For folders, all children will have their parent property set to the folder entry.

      See Retrieve files from specific location for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location for which to retrieve the list

      • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -246,12 +246,12 @@
      -OctoPrintClient.files.select(location, path, print, opts)
      +OctoPrintClient.files.select(location, path, print, opts)

      Selects a file at location named filename for printing. If print is supplied and truthy, also starts printing the file immediately.

      See the select command in Issue a file command for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file to select

      • path (string()) – The name of the file to select

      • @@ -259,7 +259,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -267,11 +267,11 @@
      -OctoPrintClient.files.slice(location, path, parameters, opts)
      +OctoPrintClient.files.slice(location, path, parameters, opts)

      Slices a file at location called filename, using the supplied slice command parameters.

      See the slice command in Issue a file command for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file to slice

      • path (string()) – The path of the file to slice

      • @@ -279,7 +279,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -287,18 +287,18 @@
      -OctoPrintClient.files.delete(location, path, opts)
      +OctoPrintClient.files.delete(location, path, opts)

      Deletes the file or folder at location and path.

      See Delete file for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file to delete

      • path (string()) – The path of the file to delete

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -306,7 +306,7 @@
      -OctoPrintClient.files.copy(location, path, destination, opts)
      +OctoPrintClient.files.copy(location, path, destination, opts)

      Copies file or folder path on location to new parent folder destination on location.

      destination must already exist.

      Example:

      @@ -315,7 +315,7 @@

      See Issue a file command for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file to copy, currently only “local” is supported

      • path (string()) – The path of the file or folder to copy

      • @@ -323,7 +323,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -331,7 +331,7 @@
      -OctoPrintClient.files.move(location, filename, destination, opts)
      +OctoPrintClient.files.move(location, filename, destination, opts)

      Moves file or folder path on location to new parent folder destination on location.

      destination must already exist.

      Example:

      @@ -340,7 +340,7 @@

      See Issue a file command for more details.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file to move, currently only “local” is supported

      • path (string()) – The path of the file or folder to move

      • @@ -348,7 +348,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -356,7 +356,7 @@
      -OctoPrintClient.files.createFolder(location, name, path, opts)
      +OctoPrintClient.files.createFolder(location, name, path, opts)

      Creates a new folder name on location. If path is provided and not empty the folder will be created as a new child of it.

      Example:

      @@ -369,7 +369,7 @@

      See Upload file or create folder for more details on the folder creation API.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location to create the folder on (currently only “local” is supported)

      • name (string()) – The name of the new folder

      • @@ -378,7 +378,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -386,7 +386,7 @@
      -OctoPrintClient.files.upload(location, file, data)
      +OctoPrintClient.files.upload(location, file, data)

      Uploads a file to the specified location.

      Additional command data may be provided. Supported properties are:

      @@ -407,13 +407,13 @@ OctoPrint.upload() for more details on the underlying library upload mechanism, including what values are accepted for the file parameter.

      -
      Arguments
      +
      Arguments:
      • location (string()) – The location to upload the file to

      • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -421,7 +421,7 @@
      -OctoPrintClient.files.download(location, path, opts)
      +OctoPrintClient.files.download(location, path, opts)

      Downloads the file at path in location.

      The downloaded file will be returned as response body in the completed Promise. Note that not all locations support downloading of files (sdcard for example doesn’t).

      @@ -434,14 +434,14 @@
      -
      Arguments
      +
      Arguments:
      • location (string()) – The location of the file to download

      • path (string()) – The path of the file to download

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -449,7 +449,7 @@
      -OctoPrintClient.files.pathForEntry(entry)
      +OctoPrintClient.files.pathForEntry(entry)

      Utility function to retrieve the path within its location for a given entry.

      Use this if you already have a full list of entries and need the path to one.

      Example

      @@ -462,12 +462,12 @@
      -
      Arguments
      +
      Arguments:
      • entry (object()) – The entry object for which to retrieve the path

      -
      Returns string
      +
      Returns string:

      The path of the entry within its location

      @@ -475,7 +475,7 @@
      -OctoPrintClient.files.entryForPath(path, root)
      +OctoPrintClient.files.entryForPath(path, root)

      Utility function to retrieve an entry by its path based on an entry tree provided by its root.

      Use this if you already have a full list of entries and are looking for a specified entry @@ -495,14 +495,14 @@

      -
      Arguments
      +
      Arguments:
      • path (string()) – The path of the entry to retrieve

      • root (object()) – The root of the tree in which to resolve the entry by its path, either a list of entries or an entry element with children

      -
      Returns object or undefined
      +
      Returns object or undefined:

      The retrieved entry, or undefined if the path could not be resolved

      diff --git a/1.10.3/jsclientlib/index.html b/1.10.3/jsclientlib/index.html index 1a96578a1..7328afe72 100644 --- a/1.10.3/jsclientlib/index.html +++ b/1.10.3/jsclientlib/index.html @@ -1,26 +1,26 @@ - + - + JavaScript Client Library — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -138,7 +138,7 @@
      -

      JavaScript Client Library

      +

      JavaScript Client Library

      The JS Client Library provides an interface to all of OctoPrint’s API, including the SockJS based socket to send push messages from the server to connected clients. It is available as packed web asset file at /static/webassets/packed_client.js or as individual diff --git a/1.10.3/jsclientlib/job.html b/1.10.3/jsclientlib/job.html index e0b637cca..71d24ee08 100644 --- a/1.10.3/jsclientlib/job.html +++ b/1.10.3/jsclientlib/job.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.job — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -149,19 +149,19 @@

      -

      OctoPrintClient.job

      +

      OctoPrintClient.job

      -OctoPrintClient.job.get(opts)
      +OctoPrintClient.job.get(opts)

      Retrieves information about the current job.

      See Retrieve information about the current job for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -169,16 +169,16 @@
      -OctoPrintClient.job.start(opts)
      +OctoPrintClient.job.start(opts)

      Starts the current job.

      See Issue a job command for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -186,16 +186,16 @@
      -OctoPrintClient.job.cancel(opts)
      +OctoPrintClient.job.cancel(opts)

      Cancels the current job.

      See Issue a job command for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -203,7 +203,7 @@
      -OctoPrintClient.job.restart(opts)
      +OctoPrintClient.job.restart(opts)

      Restarts the current job. This is equivalent to cancelling and immediately restarting the job.

      Example:

      @@ -219,12 +219,12 @@

      See Issue a job command for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -232,16 +232,16 @@
      -OctoPrintClient.job.pause(opts)
      +OctoPrintClient.job.pause(opts)

      Pauses the current job if it’s running, does nothing if it’s already paused.

      See Issue a job command for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -249,16 +249,16 @@
      -OctoPrintClient.job.resume(opts)
      +OctoPrintClient.job.resume(opts)

      Resumes the current job if it’s currently paused, does nothing if it’s running.

      See Issue a job command for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -266,16 +266,16 @@
      -OctoPrintClient.job.togglePause(opts)
      +OctoPrintClient.job.togglePause(opts)

      Resumes a paused and pauses a running job.

      See Issue a job command for details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/languages.html b/1.10.3/jsclientlib/languages.html index 8edb71ee1..7eb409600 100644 --- a/1.10.3/jsclientlib/languages.html +++ b/1.10.3/jsclientlib/languages.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.languages — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -145,7 +145,7 @@
      -

      OctoPrintClient.languages

      +

      OctoPrintClient.languages

      Note

      All methods here require that the used API token or the existing browser session @@ -153,15 +153,15 @@

      -OctoPrintClient.languages.list(opts)
      +OctoPrintClient.languages.list(opts)

      Retrieves a list of available language packs.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -169,15 +169,15 @@
      -OctoPrintClient.languages.upload(file)
      +OctoPrintClient.languages.upload(file)

      Uploads a language pack.

      -
      Arguments
      +
      Arguments:
      • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -185,17 +185,17 @@
      -OctoPrintClient.languages.delete(locale, pack, opts)
      +OctoPrintClient.languages.delete(locale, pack, opts)

      Deletes the language pack pack for the specified locale locale.

      -
      Arguments
      +
      Arguments:
      • locale (string()) – The locale for which to delete the language pack

      • pack (string()) – The identifier of the pack to delete

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/logs.html b/1.10.3/jsclientlib/logs.html index d3679e1ec..e083c8beb 100644 --- a/1.10.3/jsclientlib/logs.html +++ b/1.10.3/jsclientlib/logs.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.logs — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -140,7 +140,7 @@
      -

      OctoPrintClient.logs

      +

      OctoPrintClient.logs

      Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins JS Client Library for the JS Client documentation.

      The former module OctoPrintClient.logs and its methods are marked as deprecated but still work for now. New diff --git a/1.10.3/jsclientlib/printer.html b/1.10.3/jsclientlib/printer.html index 15cbad4db..b443f0086 100644 --- a/1.10.3/jsclientlib/printer.html +++ b/1.10.3/jsclientlib/printer.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printer — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -162,7 +162,7 @@

      -

      OctoPrintClient.printer

      +

      OctoPrintClient.printer

      Note

      All commands here that interact with the printer (anything that sends a command) will @@ -173,7 +173,7 @@

      -OctoPrintClient.printer.getFullState(flags, opts)
      +OctoPrintClient.printer.getFullState(flags, opts)

      Retrieves the full printer state, including temperature information, sd state and general printer state.

      The flags object can be used to specify the data to retrieve further via the following @@ -188,13 +188,13 @@

      See Retrieve the current printer state for more details.

      -
      Arguments
      +
      Arguments:
      • flags (object()) – Flags that further specify which data to retrieve, see above for details

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -202,7 +202,7 @@
      -OctoPrintClient.printer.getToolState(flags, opts)
      +OctoPrintClient.printer.getToolState(flags, opts)

      Retrieves the current printer extruder state/temperature information, and optionally also the temperature history.

      The flags object can be used to specify the data to retrieve further via the following @@ -216,13 +216,13 @@

      See Retrieve the current tool state for more details.

      -
      Arguments
      +
      Arguments:
      • flags (object()) – Flags that further specify which data to retrieve, see above for details

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -230,7 +230,7 @@
      -OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)
      +OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)

      Sets the given temperatures on the printer’s extruders.

      targets is expected to be an object mapping tool identifier to target temperature to set.

      Example:

      @@ -240,13 +240,13 @@

      See the target command in Issue a tool command for more details.

      -
      Arguments
      +
      Arguments:
      • targets (object()) – The targets to set

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -254,7 +254,7 @@
      -OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)
      +OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)

      Sets the given temperature offsets for the printer’s extruders.

      offsets is expected to be an object mapping tool identifier to offset to set.

      Example:

      @@ -265,13 +265,13 @@

      See the offset command in Issue a tool command for more details.

      -
      Arguments
      +
      Arguments:
      • offsets (object()) – The offsets to set

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -279,7 +279,7 @@
      -OctoPrintClient.printer.selectTool(tool, opts)
      +OctoPrintClient.printer.selectTool(tool, opts)

      Selects the printer’s current extruder.

      tool is the identifier of the extruder to select.

      Example:

      @@ -295,13 +295,13 @@

      See the select command in Issue a tool command for more details.

      -
      Arguments
      +
      Arguments:
      • tool (string()) – The tool identifier of the extruder to select

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -309,7 +309,7 @@
      -OctoPrintClient.printer.extrude(amount, opts)
      +OctoPrintClient.printer.extrude(amount, opts)

      Extrudes or retracts amount mm of filament on the currently selected extruder.

      Example:

      Extrude 5mm of filament on the current extruder, then retract 2mm.

      @@ -321,13 +321,13 @@

      See the extrude command in Issue a tool command for more details.

      -
      Arguments
      +
      Arguments:
      • amount (float()) – The amount of filament to extrude/retract.

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -335,18 +335,18 @@
      -OctoPrintClient.printer.setFlowrate(factor, opts)
      +OctoPrintClient.printer.setFlowrate(factor, opts)

      Sets the current flowrate multiplier.

      factor is expected to be a integer value >0 representing the new flowrate percentage.

      See the flowrate command in Issue a tool command for more details.

      -
      Arguments
      +
      Arguments:
      • factor (integer()) – The flowrate as percentage

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -354,7 +354,7 @@
      -OctoPrintClient.printer.getBedState(data, opts)
      +OctoPrintClient.printer.getBedState(data, opts)

      Retrieves the current printer bed state/temperature information, and optionally also the temperature history.

      The flags object can be used to specify the data to retrieve further via the following @@ -368,13 +368,13 @@

      See Retrieve the current bed state for more details.

      -
      Arguments
      +
      Arguments:
      • flags (object()) – Flags that further specify which data to retrieve, see above for details

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -382,7 +382,7 @@
      -OctoPrintClient.printer.setBedTargetTemperature(target, opts)
      +OctoPrintClient.printer.setBedTargetTemperature(target, opts)

      Sets the given temperature on the printer’s heated bed (if available).

      target is expected to be the target temperature as a float value.

      Example:

      @@ -392,13 +392,13 @@

      See the target command in Issue a bed command for more details.

      -
      Arguments
      +
      Arguments:
      • target (float()) – The target to set

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -406,7 +406,7 @@
      -OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)
      +OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)

      Sets the given temperature offset for the printer’s heated bed (if available).

      offset is expected to be the temperature offset to set.

      Example:

      @@ -416,13 +416,13 @@

      See the offset command in Issue a bed command for more details.

      -
      Arguments
      +
      Arguments:
      • offsets (object()) – The offsets to set

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -430,7 +430,7 @@
      -OctoPrintClient.printer.getChamberState(data, opts)
      +OctoPrintClient.printer.getChamberState(data, opts)

      Retrieves the current printer chamber state/temperature information, and optionally also the temperature history.

      The flags object can be used to specify the data to retrieve further via the following @@ -444,13 +444,13 @@

      See Retrieve the current bed state for more details.

      -
      Arguments
      +
      Arguments:
      • flags (object()) – Flags that further specify which data to retrieve, see above for details

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -458,7 +458,7 @@
      -OctoPrintClient.printer.setChamberTargetTemperature(target, opts)
      +OctoPrintClient.printer.setChamberTargetTemperature(target, opts)

      Sets the given temperature on the printer’s heated chamber (if available).

      target is expected to be the target temperature as a float value.

      Example:

      @@ -468,13 +468,13 @@

      See the target command in Issue a chamber command for more details.

      -
      Arguments
      +
      Arguments:
      • target (float()) – The target to set

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -482,7 +482,7 @@
      -OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)
      +OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)

      Sets the given temperature offset for the printer’s heated chamber (if available).

      offset is expected to be the temperature offset to set.

      Example:

      @@ -492,13 +492,13 @@

      See the offset command in Issue a chamber command for more details.

      -
      Arguments
      +
      Arguments:
      • offsets (object()) – The offsets to set

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -506,7 +506,7 @@
      -OctoPrintClient.printer.jog(amounts, opts)
      +OctoPrintClient.printer.jog(amounts, opts)

      Jogs the specified axes by the specified amounts.

      amounts is expected to be an object with properties reflecting the axes to be jogged by the specified amount given as value.

      @@ -521,13 +521,13 @@

      See the jog command in Issue a print head command for more details.

      -
      Arguments
      +
      Arguments:
      • amounts (object()) – Key-value-pairs of axes to jog and amount to jog it.

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -535,7 +535,7 @@
      -OctoPrintClient.printer.home(axes, opts)
      +OctoPrintClient.printer.home(axes, opts)

      Homes the specified axes.

      axes is expected to be an array of strings specifying the axes to home.

      Example:

      @@ -549,13 +549,13 @@

      See the home command in Issue a print head command for more details.

      -
      Arguments
      +
      Arguments:
      • axes (array()) – List of axes to home

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -563,18 +563,18 @@
      -OctoPrintClient.printer.setFeedrate(factor, opts)
      +OctoPrintClient.printer.setFeedrate(factor, opts)

      Sets the feedrate multiplier to use.

      factor is expected to be a integer value >0 representing the new feedrate percentage.

      See the feedrate command in Issue a print head command for more details.

      -
      Arguments
      +
      Arguments:
      • factor (integer()) – The feedrate multiplier as percentage

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -582,16 +582,16 @@
      -OctoPrintClient.printer.getSdState(opts)
      +OctoPrintClient.printer.getSdState(opts)

      Retrieves the current ready state of the printer’s SD card.

      See Retrieve the current SD state for more details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -599,16 +599,16 @@
      -OctoPrintClient.printer.initSd(opts)
      +OctoPrintClient.printer.initSd(opts)

      Instructs the printer to initialize its SD card (if present).

      See the init command in Issue an SD command for more details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -616,16 +616,16 @@
      -OctoPrintClient.printer.refreshSd(opts)
      +OctoPrintClient.printer.refreshSd(opts)

      Instructs the printer to refresh the list of files on the SD card (if present).

      See the refresh command in Issue an SD command for more details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -633,16 +633,16 @@
      -OctoPrintClient.printer.releaseSd(opts)
      +OctoPrintClient.printer.releaseSd(opts)

      Instructs the printer to release its SD card (if present).

      See the release command in Issue an SD command for more details.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/printerprofiles.html b/1.10.3/jsclientlib/printerprofiles.html index a34d07d6b..05fb7f41f 100644 --- a/1.10.3/jsclientlib/printerprofiles.html +++ b/1.10.3/jsclientlib/printerprofiles.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printerprofiles — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -147,18 +147,18 @@
      -

      OctoPrintClient.printerprofiles

      +

      OctoPrintClient.printerprofiles

      -OctoPrintClient.printerprofiles.list(opts)
      +OctoPrintClient.printerprofiles.list(opts)

      Retrieves a list of all configured printer profiles.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -166,15 +166,15 @@
      -OctoPrintClient.printerprofiles.get(id, opts)
      +OctoPrintClient.printerprofiles.get(id, opts)
      -
      Arguments
      +
      Arguments:
      • id (string()) – The identifier of the profile to retrieve

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -182,17 +182,17 @@
      -OctoPrintClient.printerprofiles.add(profile, additional, opts)
      +OctoPrintClient.printerprofiles.add(profile, additional, opts)

      Adds a new profile to OctoPrint.

      -
      Arguments
      +
      Arguments:
      • profile (string()) – The data of the profile to add

      • basedOn (string()) – The identifier of the profile to base this profile on (optional)

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -200,17 +200,17 @@
      -OctoPrintClient.printerprofiles.update(id, profile, opts)
      +OctoPrintClient.printerprofiles.update(id, profile, opts)

      Updates an existing profile in OctoPrint.

      -
      Arguments
      +
      Arguments:
      • id (string()) – The identifier of the profile to update

      • profile (string()) – The data of the profile to update

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -218,16 +218,16 @@
      -OctoPrintClient.printerprofiles.delete(id, opts)
      +OctoPrintClient.printerprofiles.delete(id, opts)

      Deletes a profile in OctoPrint.

      -
      Arguments
      +
      Arguments:
      • id (string()) – The identifier of the profile to delete

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/settings.html b/1.10.3/jsclientlib/settings.html index 808924c16..9a4870c86 100644 --- a/1.10.3/jsclientlib/settings.html +++ b/1.10.3/jsclientlib/settings.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.settings — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -147,18 +147,18 @@
      -

      OctoPrintClient.settings

      +

      OctoPrintClient.settings

      -OctoPrintClient.settings.get(opts)
      +OctoPrintClient.settings.get(opts)

      Retrieves the current settings.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -166,16 +166,16 @@
      -OctoPrintClient.settings.save(settings, opts)
      +OctoPrintClient.settings.save(settings, opts)

      Saves the provided settings.

      -
      Arguments
      +
      Arguments:
      • settings (object()) – The settings to save

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -183,16 +183,16 @@
      -OctoPrintClient.settings.getPluginSettings(plugin, opts)
      +OctoPrintClient.settings.getPluginSettings(plugin, opts)

      Retrieves the settings of the specified plugin.

      -
      Arguments
      +
      Arguments:
      • plugin (string()) – The plugin for which to retrieve the settings

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -200,17 +200,17 @@
      -OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)
      +OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)

      Saves the settings for the specified plugin.

      -
      Arguments
      +
      Arguments:
      • plugin (string()) – The plugin for which to save settings

      • settings (object()) – The settings to save

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -218,15 +218,15 @@
      -OctoPrintClient.settings.generateApiKey(opts)
      +OctoPrintClient.settings.generateApiKey(opts)

      Generate a new system wide API key.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/slicing.html b/1.10.3/jsclientlib/slicing.html index c0387f194..f55b084f1 100644 --- a/1.10.3/jsclientlib/slicing.html +++ b/1.10.3/jsclientlib/slicing.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.slicing — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -148,18 +148,18 @@
      -

      OctoPrintClient.slicing

      +

      OctoPrintClient.slicing

      -OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)
      +OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)

      Retrieves a list of all slicers and their available slicing profiles.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -167,16 +167,16 @@
      -OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)
      +OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)

      Retrieves of all slicing profiles for the specified slicer.

      -
      Arguments
      +
      Arguments:
      • slicer (string()) – The identifier of the slicer for which to retrieve the profiles

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -184,17 +184,17 @@
      -OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)
      +OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)

      Retrieves the slicing profile with profileId for the specified slicer.

      -
      Arguments
      +
      Arguments:
      • slicer (string()) – The slicer for which to retrieve the profile

      • profileId (string()) – The identifier of the profile to retrieve

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -202,10 +202,10 @@
      -OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)
      +OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)

      Adds the profile with identifier profileId to the specified slicer, using the provided profile data.

      -
      Arguments
      +
      Arguments:
      • slicer (string()) – The slicer for which to add the profile

      • profileId (string()) – The identifier for the profile to add

      • @@ -213,7 +213,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -221,10 +221,10 @@
      -OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)
      +OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)

      Updates the profile profileId for slicer with the provided profile data.

      -
      Arguments
      +
      Arguments:
      • slicer (string()) – The slicer for which to update the profile

      • profileId (string()) – The identifier for the profile to update

      • @@ -232,7 +232,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -240,15 +240,15 @@
      -OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)
      +OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)

      Deletes the profile profileId for slicer.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/socket.html b/1.10.3/jsclientlib/socket.html index 4155b0654..eafbd3661 100644 --- a/1.10.3/jsclientlib/socket.html +++ b/1.10.3/jsclientlib/socket.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.socket — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -156,10 +156,10 @@
      -

      OctoPrintClient.socket

      +

      OctoPrintClient.socket

      -OctoPrintClient.socket.options
      +OctoPrintClient.socket.options

      The socket client’s options.

      OctoPrintClient.socket.options.timeouts

      A list of consecutive timeouts after which to attempt reconnecting to a @@ -176,12 +176,12 @@

      -OctoPrintClient.socket.connect(opts)
      +OctoPrintClient.socket.connect(opts)

      Connects the socket client to OctoPrint’s SockJS socket.

      The optional parameter opts may be used to provide additional configuration options to the SockJS constructor. See the SockJS documentation on potential options.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the SockJS constructor.

      @@ -191,19 +191,19 @@
      -OctoPrintClient.socket.reconnect()
      +OctoPrintClient.socket.reconnect()

      Reconnects the socket client. If the socket is currently connected it will be disconnected first.

      -OctoPrintClient.socket.disconnect()
      +OctoPrintClient.socket.disconnect()

      Disconnects the socket client.

      -OctoPrintClient.socket.onMessage(message, handler)
      +OctoPrintClient.socket.onMessage(message, handler)

      Registers the handler for messages of type message.

      To register for all message types, provide * as the type to register for.

      handler is expected to be a function accepting one object parameter eventObj, consisting @@ -219,7 +219,7 @@

      Please refer to the Push API documentation for details on the possible message types and their payloads.

      -
      Arguments
      +
      Arguments:
      • message (string()) – The type of message for which to register

      • handler (function()) – The handler function

      • @@ -230,7 +230,7 @@
        -OctoPrintClient.socket.removeMessage(message, handler)
        +OctoPrintClient.socket.removeMessage(message, handler)

        Removes the handler for messages of type message.

        const handler = (message) => {
             // do something with the message object
        @@ -242,7 +242,7 @@
         
        -
        Arguments
        +
        Arguments:
        • message (string()) – The type of message for which to remove the handler

        • handler (function()) – The handler function

        • @@ -253,12 +253,12 @@
          -OctoPrintClient.socket.sendMessage(type, payload)
          +OctoPrintClient.socket.sendMessage(type, payload)

          Sends a message of type type with the provided payload to the server.

          Note that at the time of writing, OctoPrint only supports the throttle and auth messages. See also the Push API documentation.

          -
          Arguments
          +
          Arguments:
          • type (string()) – Type of message to send

          • payload (object()) – Payload to send

          • @@ -269,13 +269,13 @@
            -OctoPrintClient.socket.sendAuth(userId, session)
            +OctoPrintClient.socket.sendAuth(userId, session)

            Sends an auth message with the provided userId and session to the server.

            session is expected to be the session value retrieved from any valid OctoPrint.browser.login(userId,…) response.

            See also the Push API documentation.

            -
            Arguments
            +
            Arguments:
            • userId (string()) – An existing OctoPrint username

            • session (string()) – A valid session id for the provided username

            • @@ -286,14 +286,14 @@
              -OctoPrintClient.socket.onRateTooLow(measured, minimum)
              +OctoPrintClient.socket.onRateTooLow(measured, minimum)

              Called by the socket client when the measured message round trip times have been lower than the current lower processing limit over the full sliding window, indicating that messages are now processed faster than the current rate and a faster rate might be possible.

              Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.increaseRate().

              -
              Arguments
              +
              Arguments:
              • measured (Number()) – Maximal measured message round trip time

              • minimum (Number()) – Lower round trip time limit for keeping the rate

              • @@ -304,14 +304,14 @@
                -OctoPrintClient.socket.onRateTooHigh(measured, maximum)
                +OctoPrintClient.socket.onRateTooHigh(measured, maximum)

                Called by the socket client when the last measured round trip time was higher than the current upper processing limit, indicating that the messages are now processed slower than the current rate requires and a slower rate might be necessary.

                Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.decreaseRate().

                -
                Arguments
                +
                Arguments:
                • measured (Number()) – Measured message round trip time

                • minimum (Number()) – Upper round trip time limit for keeping the rate

                • @@ -322,18 +322,18 @@
                  -OctoPrintClient.socket.increaseRate()
                  +OctoPrintClient.socket.increaseRate()

                  Instructs the server to increase the message rate by 500ms.

                  -OctoPrintClient.socket.decreaseRate()
                  +OctoPrintClient.socket.decreaseRate()

                  Instructs the server to decrease the message rate by 500ms.

                  -

                  Sample to setup an authed socket

                  +

                  Sample to setup an authed socket

                  If you have a username and a password:

                  OctoPrint.socket.connect();
                   OctoPrint.browser.login("myusername", "mypassword", true)
                  @@ -356,7 +356,7 @@
                   
                  -

                  Communication Throttling

                  +

                  Communication Throttling

                  The socket client supports communication throttling. It will measure how long each incoming message takes to be processed by all registered handlers. If the processing times in a sliding window are longer than the current rate limit configured on the socket (default: 500ms between messages), the socket client will diff --git a/1.10.3/jsclientlib/system.html b/1.10.3/jsclientlib/system.html index 834e579f2..71e740276 100644 --- a/1.10.3/jsclientlib/system.html +++ b/1.10.3/jsclientlib/system.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.system — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -145,7 +145,7 @@

                  -

                  OctoPrintClient.system

                  +

                  OctoPrintClient.system

                  Note

                  All methods here require that the used API token or the existing browser session @@ -153,15 +153,15 @@

                  -OctoPrintClient.system.getCommands(opts)
                  +OctoPrintClient.system.getCommands(opts)

                  Retrieves a list of configured system commands for both core and custom sources.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -169,16 +169,16 @@

                  -OctoPrintClient.system.getCommandsForSource(source, opts)
                  +OctoPrintClient.system.getCommandsForSource(source, opts)

                  Retrieves a list of system commands, limiting it to the specified source, which might be either core or custom.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -186,17 +186,17 @@

                  -OctoPrintClient.system.executeCommand(source, action, opts)
                  +OctoPrintClient.system.executeCommand(source, action, opts)

                  Executes command action on source.

                  -
                  Arguments
                  +
                  Arguments:
                  • source (string()) – The source of the command to execute

                  • action (string()) – The action identifier of the command to execute

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  diff --git a/1.10.3/jsclientlib/timelapse.html b/1.10.3/jsclientlib/timelapse.html index 7af2fa720..602940fe4 100644 --- a/1.10.3/jsclientlib/timelapse.html +++ b/1.10.3/jsclientlib/timelapse.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.timelapse — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -152,20 +152,20 @@
                  -

                  OctoPrintClient.timelapse

                  +

                  OctoPrintClient.timelapse

                  -OctoPrintClient.timelapse.get(unrendered, opts)
                  +OctoPrintClient.timelapse.get(unrendered, opts)

                  Get a list of all timelapses and the current timelapse config.

                  If unrendered is true, also retrieve the list of unrendered timelapses.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -173,18 +173,18 @@
                  -OctoPrintClient.timelapse.list(opts)
                  +OctoPrintClient.timelapse.list(opts)

                  Get the lists of rendered and unrendered timelapses. The returned promise will be resolved with an object containing the properties rendered which will have the list of rendered timelapses, and unrendered which will have the list of unrendered timelapses.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -192,15 +192,15 @@
                  -OctoPrintClient.timelapse.listRendered(opts)
                  +OctoPrintClient.timelapse.listRendered(opts)

                  Get the list of rendered timelapses.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -208,15 +208,15 @@
                  -OctoPrintClient.timelapse.listUnrendered(opts)
                  +OctoPrintClient.timelapse.listUnrendered(opts)

                  Get the list of unrendered timelapses.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -224,16 +224,16 @@
                  -OctoPrintClient.timelapse.download(filename, opts)
                  +OctoPrintClient.timelapse.download(filename, opts)

                  Download the rendered timelapse filename.

                  -
                  Arguments
                  +
                  Arguments:
                  • filename (string()) – The name of the rendered timelapse to download

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -241,16 +241,16 @@
                  -OctoPrintClient.timelapse.delete(filename, opts)
                  +OctoPrintClient.timelapse.delete(filename, opts)

                  Delete the rendered timelapse filename.

                  -
                  Arguments
                  +
                  Arguments:
                  • filename (string()) – The name of the rendered timelapse to delete

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -258,16 +258,16 @@
                  -OctoPrintClient.timelapse.deleteUnrendered(name, opts)
                  +OctoPrintClient.timelapse.deleteUnrendered(name, opts)

                  Delete the unrendered timelapse name.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The name of the unrendered timelapse to delete

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -275,16 +275,16 @@
                  -OctoPrintClient.timelapse.renderUnrendered(name, opts)
                  +OctoPrintClient.timelapse.renderUnrendered(name, opts)

                  Render the unrendered timelapse name.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The name of the unrendered timelapse to render

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -292,15 +292,15 @@
                  -OctoPrintClient.timelapse.getConfig(opts)
                  +OctoPrintClient.timelapse.getConfig(opts)

                  Get the current timelapse configuration.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -308,16 +308,16 @@
                  -OctoPrintClient.timelapse.saveConfig(config, opts)
                  +OctoPrintClient.timelapse.saveConfig(config, opts)

                  Save the timelapse configuration.

                  -
                  Arguments
                  +
                  Arguments:
                  • config (object()) – The config to save

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  diff --git a/1.10.3/jsclientlib/users.html b/1.10.3/jsclientlib/users.html index c19b7a392..3d0b268f5 100644 --- a/1.10.3/jsclientlib/users.html +++ b/1.10.3/jsclientlib/users.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.users — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -152,7 +152,7 @@
                  -

                  OctoPrintClient.users

                  +

                  OctoPrintClient.users

                  Note

                  Most methods here require that the used API token or the existing browser session @@ -161,16 +161,16 @@

                  -OctoPrintClient.users.list(opts)
                  +OctoPrintClient.users.list(opts)

                  Get a list of all registered users.

                  Requires admin rights.

                  -
                  Arguments
                  +
                  Arguments:
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -178,16 +178,16 @@
                  -OctoPrintClient.users.get(name, opts)
                  +OctoPrintClient.users.get(name, opts)

                  Get information about a specific user.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -195,17 +195,17 @@
                  -OctoPrintClient.users.add(user, opts)
                  +OctoPrintClient.users.add(user, opts)

                  Add a new user.

                  Requires admin rights.

                  -
                  Arguments
                  +
                  Arguments:
                  • user (object()) – The new user

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -213,11 +213,11 @@
                  -OctoPrintClient.users.update(name, active, admin, opts)
                  +OctoPrintClient.users.update(name, active, admin, opts)

                  Update an existing user.

                  Requires admin rights.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • active (bool()) – The new active state of the user

                  • @@ -225,7 +225,7 @@
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -233,17 +233,17 @@
                  -OctoPrintClient.users.delete(name, opts)
                  +OctoPrintClient.users.delete(name, opts)

                  Delete an existing user.

                  Requires admin rights.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -251,17 +251,17 @@
                  -OctoPrintClient.users.changePassword(name, password, opts)
                  +OctoPrintClient.users.changePassword(name, password, opts)

                  Change the password for a user.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • password (string()) – The new password

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -269,16 +269,16 @@
                  -OctoPrintClient.users.generateApiKey(name, opts)
                  +OctoPrintClient.users.generateApiKey(name, opts)

                  Generate a new API key for a user.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -286,16 +286,16 @@
                  -OctoPrintClient.users.resetApiKey(name, opts)
                  +OctoPrintClient.users.resetApiKey(name, opts)

                  Reset the API key for a user to being unset.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -303,16 +303,16 @@
                  -OctoPrintClient.users.getSettings(name, opts)
                  +OctoPrintClient.users.getSettings(name, opts)

                  Get the settings for a user.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -320,17 +320,17 @@
                  -OctoPrintClient.users.saveSettings(name, settings, opts)
                  +OctoPrintClient.users.saveSettings(name, settings, opts)

                  Save the settings for a user.

                  -
                  Arguments
                  +
                  Arguments:
                  • name (string()) – The user’s name

                  • settings (object()) – The new settings, may be a partial set of settings which will be merged unto the current ones

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  diff --git a/1.10.3/jsclientlib/util.html b/1.10.3/jsclientlib/util.html index 5c9cb7ba4..d55233788 100644 --- a/1.10.3/jsclientlib/util.html +++ b/1.10.3/jsclientlib/util.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.util — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -148,7 +148,7 @@
                  -

                  OctoPrintClient.util

                  +

                  OctoPrintClient.util

                  Note

                  All methods here require that the used API token or the existing browser session @@ -156,18 +156,18 @@

                  -OctoPrintClient.util.test(command, parameters, opts)
                  +OctoPrintClient.util.test(command, parameters, opts)

                  Execute a test command.

                  See below for the more specialized versions of this.

                  -
                  Arguments
                  +
                  Arguments:
                  • command (string()) – The command to execute (currently either path or url)

                  • parameters (object()) – The parameters for the command

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -175,7 +175,7 @@
                  -OctoPrintClient.util.testPath(path, additional, opts)
                  +OctoPrintClient.util.testPath(path, additional, opts)

                  Test the provided path for existence. More test criteria supported by the path test command can be provided via the additional object.

                  Example 1

                  @@ -203,14 +203,14 @@
                  -
                  Arguments
                  +
                  Arguments:
                  • path (string()) – Path to test

                  • additional (object()) – Additional parameters for the test command

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -218,7 +218,7 @@
                  -OctoPrintClient.util.testExecutable(path, opts)
                  +OctoPrintClient.util.testExecutable(path, opts)

                  Shortcut to test if a provided path exists and is executable by OctoPrint.

                  Example

                  Test if /some/path/to/a/file exists and can be executed by OctoPrint.

                  @@ -244,13 +244,13 @@

                  -
                  Arguments
                  +
                  Arguments:
                  • path (string()) – Path to test

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -258,7 +258,7 @@
                  -OctoPrintClient.util.testUrl(url, additional, opts)
                  +OctoPrintClient.util.testUrl(url, additional, opts)

                  Test if a URL can be accessed. More test criteria supported by the URL test command can be provided via the additional object.

                  Example 1

                  @@ -309,14 +309,14 @@
      -
      Arguments
      +
      Arguments:
      • url (string()) – URL to test

      • additional (object()) – Additional parameters for the test command

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -324,7 +324,7 @@
      -OctoPrintClient.util.testServer(host, port, additional, opts)
      +OctoPrintClient.util.testServer(host, port, additional, opts)

      Test if a server is reachable. More options supported by the server test command can be provided via the additional object.

      Example 1

      @@ -352,7 +352,7 @@
      -
      Arguments
      +
      Arguments:
      • url (string()) – Host to test

      • port (int()) – Port to test

      • @@ -360,7 +360,7 @@
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -368,7 +368,7 @@
      -OctoPrintClient.util.testResolution(name, additional, opts)
      +OctoPrintClient.util.testResolution(name, additional, opts)

      Test if a host name can be resolved.

      Example

      Test if octoprint.org can be resolved.

      @@ -383,14 +383,14 @@
      -
      Arguments
      +
      Arguments:
      • name (string()) – Host name to test

      • additional (object()) – Additional parameters for the test command

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/jsclientlib/wizard.html b/1.10.3/jsclientlib/wizard.html index 0c0dbaf7c..5f8f1f093 100644 --- a/1.10.3/jsclientlib/wizard.html +++ b/1.10.3/jsclientlib/wizard.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.wizard — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -143,7 +143,7 @@
      -

      OctoPrintClient.wizard

      +

      OctoPrintClient.wizard

      Note

      All methods here require that the used API token or the existing browser session @@ -151,15 +151,15 @@

      -OctoPrintClient.wizard.get(opts)
      +OctoPrintClient.wizard.get(opts)

      Retrieve additional data about registered wizards.

      -
      Arguments
      +
      Arguments:
      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      @@ -167,16 +167,16 @@
      -OctoPrintClient.wizard.finish(handled, opts)
      +OctoPrintClient.wizard.finish(handled, opts)

      Inform wizards that the wizard dialog has been finished.

      -
      Arguments
      +
      Arguments:
      • handled (list()) – List of identifiers of handled wizards

      • opts (object()) – Additional options for the request

      -
      Returns Promise
      +
      Returns Promise:

      A jQuery Promise for the request’s response

      diff --git a/1.10.3/modules/access.html b/1.10.3/modules/access.html index 2424bb225..6252ca22d 100644 --- a/1.10.3/modules/access.html +++ b/1.10.3/modules/access.html @@ -1,26 +1,26 @@ - + - + octoprint.access.users — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -164,43 +164,43 @@
      -

      octoprint.access.users

      +

      octoprint.access.users

      -class octoprint.access.users.AnonymousUser(groups)
      +class octoprint.access.users.AnonymousUser(groups)
      -class octoprint.access.users.ApiUser(groups)
      +class octoprint.access.users.ApiUser(groups)
      -exception octoprint.access.users.CorruptUserStorage
      +exception octoprint.access.users.CorruptUserStorage
      -exception octoprint.access.users.InvalidUsername(username)
      +exception octoprint.access.users.InvalidUsername(username)
      -exception octoprint.access.users.UnknownRole(role)
      +exception octoprint.access.users.UnknownRole(role)
      -exception octoprint.access.users.UnknownUser(username)
      +exception octoprint.access.users.UnknownUser(username)
      -class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
      +class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
      -asDict()
      +asDict()

      Deprecated since version 1.4.0: Replaced by as_dict()

      @@ -210,7 +210,7 @@
      -exception octoprint.access.users.UserAlreadyExists(username)
      +exception octoprint.access.users.UserAlreadyExists(username)
      diff --git a/1.10.3/modules/cli.html b/1.10.3/modules/cli.html index 99113e03b..256997e85 100644 --- a/1.10.3/modules/cli.html +++ b/1.10.3/modules/cli.html @@ -1,26 +1,26 @@ - + - + octoprint.cli — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -183,22 +183,22 @@
      -

      octoprint.cli

      +

      octoprint.cli

      -class octoprint.cli.HiddenOption(param_decls: Optional[Sequence[str]] = None, show_default: Optional[Union[bool, str]] = None, prompt: Union[bool, str] = False, confirmation_prompt: Union[bool, str] = False, prompt_required: bool = True, hide_input: bool = False, is_flag: Optional[bool] = None, flag_value: Optional[Any] = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: Optional[Union[ParamType, Any]] = None, help: Optional[str] = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)
      +class octoprint.cli.HiddenOption(param_decls: Sequence[str] | None = None, show_default: bool | str | None = None, prompt: bool | str = False, confirmation_prompt: bool | str = False, prompt_required: bool = True, hide_input: bool = False, is_flag: bool | None = None, flag_value: Any | None = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: ParamType | Any | None = None, help: str | None = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)

      Custom option sub class with empty help.

      -class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)
      +class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)

      Custom context wrapping the standard options.

      -octoprint.cli.bulk_options(options)
      +octoprint.cli.bulk_options(options)

      Utility decorator to decorate a function with a list of click decorators.

      The provided list of options will be reversed to ensure correct processing order (inverse from what would be intuitive).

      @@ -206,7 +206,7 @@
      -octoprint.cli.hidden_option(*param_decls, **attrs)
      +octoprint.cli.hidden_option(*param_decls, **attrs)

      Attaches a hidden option to the command. All positional arguments are passed as parameter declarations to Option; all keyword arguments are forwarded unchanged. This is equivalent to creating an @@ -216,7 +216,7 @@

      -octoprint.cli.init_platform_for_cli(ctx)
      +octoprint.cli.init_platform_for_cli(ctx)

      Performs a basic platform initialization for the CLI.

      Plugin implementations will be initialized, but only with a subset of the usual property injections:

      @@ -236,7 +236,7 @@
      -octoprint.cli.legacy_options(f)
      +octoprint.cli.legacy_options(f)

      Legacy options available directly on the “octoprint” command in earlier versions. Kept available for reasons of backwards compatibility, but hidden from the generated help pages.

      @@ -244,19 +244,19 @@
      -octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]
      +octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]

      Decorator to pass in the OctoPrintContext instance.

      -octoprint.cli.set_ctx_obj_option(ctx, param, value)
      +octoprint.cli.set_ctx_obj_option(ctx, param, value)

      Helper for setting eager options on the context.

      -octoprint.cli.standard_options(hidden=False)
      +octoprint.cli.standard_options(hidden=False)

      Decorator to add the standard options shared among all “octoprint” commands.

      If hidden is set to True, the options will be available on the command but not listed in its help page.

      @@ -264,23 +264,23 @@
      -

      octoprint.cli.dev

      +

      octoprint.cli.dev

      -class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)
      +class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)

      Custom click.MultiCommand implementation that provides commands relevant for (plugin) development based on availability of development dependencies.

      -get_command(ctx, cmd_name)
      +get_command(ctx, cmd_name)

      Given a context and a command name, this returns a Command object if it exists or returns None.

      -list_commands(ctx)
      +list_commands(ctx)

      Returns a list of subcommand names in the order they should appear.

      @@ -289,35 +289,35 @@
      -

      octoprint.cli.plugins

      +

      octoprint.cli.plugins

      -class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)
      +class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)

      Custom click.MultiCommand implementation that collects commands from the plugin hook octoprint.cli.commands.

      -settings
      +settings

      The global Settings instance.

      -plugin_manager
      +plugin_manager

      The PluginManager instance.

      -get_command(ctx, cmd_name)
      +get_command(ctx, cmd_name)

      Given a context and a command name, this returns a Command object if it exists or returns None.

      -list_commands(ctx)
      +list_commands(ctx)

      Returns a list of subcommand names in the order they should appear.

      @@ -326,22 +326,22 @@
      -

      octoprint.cli.server

      +

      octoprint.cli.server

      -octoprint.cli.server.daemon_options(f)
      +octoprint.cli.server.daemon_options(f)

      Decorator to add the options for the daemon subcommand: --pid.

      -octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)
      +octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)

      Initializes the environment and starts up the server.

      -octoprint.cli.server.server_options(f)
      +octoprint.cli.server.server_options(f)

      Decorator to add the options shared among the server commands: --host, --port, -4, -6 --logging, --iknowwhatimdoing and --debug.

      diff --git a/1.10.3/modules/filemanager.html b/1.10.3/modules/filemanager.html index 22c3fe52a..f848d764b 100644 --- a/1.10.3/modules/filemanager.html +++ b/1.10.3/modules/filemanager.html @@ -1,26 +1,26 @@ - + - + octoprint.filemanager — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -280,19 +280,19 @@
      -

      octoprint.filemanager

      +

      octoprint.filemanager

      -class octoprint.filemanager.ContentTypeDetector(extensions, detector)
      -
      +class octoprint.filemanager.ContentTypeDetector(extensions, detector) +
      -property detector
      +detector

      Alias for field number 1

      -
      +
      -property extensions
      +extensions

      Alias for field number 0

      @@ -300,16 +300,16 @@
      -class octoprint.filemanager.ContentTypeMapping(extensions, content_type)
      -
      +class octoprint.filemanager.ContentTypeMapping(extensions, content_type) +
      -property content_type
      +content_type

      Alias for field number 1

      -
      +
      -property extensions
      +extensions

      Alias for field number 0

      @@ -317,20 +317,20 @@
      -exception octoprint.filemanager.NoSuchStorage
      +exception octoprint.filemanager.NoSuchStorage
      -

      octoprint.filemanager.analysis

      +

      octoprint.filemanager.analysis

      -class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)
      +class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)

      The AbstractAnalysisQueue is the parent class of all specific analysis queues such as the GcodeAnalysisQueue. It offers methods to enqueue new entries to analyze and pausing and resuming analysis processing.

      -
      Parameters
      +
      Parameters:

      finished_callback (callable) – Callback that will be called upon finishing analysis of an entry in the queue. The callback will be called with the analyzed entry as the first argument and the analysis result as returned from the queue implementation as the second parameter.

      @@ -338,21 +338,21 @@
      -_do_analysis(high_priority=False)
      +_do_analysis(high_priority=False)

      Performs the actual analysis of the current entry which can be accessed via self._current. Needs to be overridden by sub classes.

      -
      Parameters
      +
      Parameters:

      high_priority (bool) – Whether the current entry has high priority or not.

      -
      Returns
      +
      Returns:

      The result of the analysis which will be forwarded to the finished_callback provided during

      construction.

      -
      Return type
      +
      Return type:

      object

      @@ -360,18 +360,18 @@
      -_do_abort(reenqueue=True)
      +_do_abort(reenqueue=True)

      Aborts analysis of the current entry. Needs to be overridden by sub classes.

      -enqueue(entry, high_priority=False)
      +enqueue(entry, high_priority=False)

      Enqueues an entry for analysis by the queue.

      If high_priority is True (defaults to False), the entry will be prioritized and hence processed before other entries in the queue with normal priority.

      -
      Parameters
      +
      Parameters:
      • entry (QueueEntry) – The QueueEntry to analyze.

      • high_priority (boolean) – Whether to process the provided entry with high priority (True) or not @@ -383,13 +383,13 @@

        -pause()
        +pause()

        Pauses processing of the queue, e.g. when a print is active.

        -resume()
        +resume()

        Resumes processing of the queue, e.g. when a print has finished.

        @@ -397,12 +397,12 @@
        -exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
        +exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
        -class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)
        +class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)

        OctoPrint’s AnalysisQueue can manage various AbstractAnalysisQueue implementations, mapped by their machine code type.

        By invoking register_finish_callback() it is possible to register oneself as a callback to be invoked each @@ -416,12 +416,12 @@

        -class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)
        +class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)

        A queue to analyze GCODE files. Analysis results are dict instances structured as follows:

        -

    Attribute

    +
    --++ @@ -512,11 +512,11 @@
    -class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)
    +class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)

    A QueueEntry for processing through the AnalysisQueue. Wraps the entry’s properties necessary for processing.

    -
    Parameters
    +
    Parameters:
    • name (str) – Name of the file to analyze.

    • path (str) – Storage location specific path to the file to analyze.

    • @@ -533,23 +533,23 @@
      -

      octoprint.filemanager.destinations

      +

      octoprint.filemanager.destinations

      -

      octoprint.filemanager.storage

      +

      octoprint.filemanager.storage

      -class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)
      +class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)

      The LocalFileStorage is a storage implementation which holds all files, folders and metadata on disk.

      Metadata is managed inside .metadata.json files in the respective folders, indexed by the sanitized filenames stored within the folder. Metadata access is managed through an LRU cache to minimize access overhead.

      This storage type implements path_on_disk().

      -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)
      +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)

      Adds the file file_object as path

      -
      Parameters
      +
      Parameters:
      • path (string) – the file’s new path, will be sanitized

      • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -561,7 +561,7 @@

      • display (str) – display name of the file

      -
      Returns
      +
      Returns:

      the sanitized name of the file to be used for future references to it

      @@ -569,18 +569,18 @@
      -add_folder(path, ignore_existing=True, display=None)
      +add_folder(path, ignore_existing=True, display=None)

      Adds a folder as path

      The path will be sanitized.

      -
      Parameters
      +
      Parameters:
      • path (string) – the path of the new folder

      • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

      • display (str) – display name of the folder

      -
      Returns
      +
      Returns:

      the sanitized name of the new folder to be used for future references to the folder

      @@ -588,7 +588,7 @@
      +add_link(path, rel, data)

      Adds a link of relation rel to file path with the given data.

      The following relation types are currently supported:

      @@ -609,7 +609,7 @@

      Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

      -
      Parameters
      +
      Parameters:
      • path – path of the file for which to add a link

      • rel – type of relation of the link to add (currently model, machinecode and web are supported)

      • @@ -621,12 +621,12 @@
        -property analysis_backlog
        +property analysis_backlog

        Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

        The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

        -
        Returns
        +
        Returns:

        an iterator yielding all un-analysed files in the storage

        @@ -634,16 +634,16 @@
        -canonicalize(path)
        +canonicalize(path)

        Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

        By default, this calls sanitize(), which also takes care of stripping any invalid characters.

        -
        Parameters
        +
        Parameters:

        path – the path to canonicalize

        -
        Returns
        +
        Returns:

        a 2-tuple containing the canonicalized path and file name

        @@ -651,16 +651,16 @@
        -copy_file(source, destination)
        +copy_file(source, destination)

        Copies the file source to destination

        -
        Parameters
        +
        Parameters:
        • source (string) – path to the source file

        • destination (string) – path to destination

        -
        Returns
        +
        Returns:

        the path in the storage to the copy of the file

        @@ -668,16 +668,16 @@
        -copy_folder(source, destination)
        +copy_folder(source, destination)

        Copies the folder source to destination

        -
        Parameters
        +
        Parameters:
        • source (string) – path to the source folder

        • destination (string) – path to destination

        -
        Returns
        +
        Returns:

        the path in the storage to the copy of the folder

        @@ -685,7 +685,7 @@
        -file_exists(path)
        +file_exists(path)

        Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

        @@ -693,7 +693,7 @@
        -file_in_path(path, filepath)
        +file_in_path(path, filepath)

        Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -702,7 +702,7 @@

        -folder_exists(path)
        +folder_exists(path)

        Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

        @@ -710,10 +710,10 @@
        -get_additional_metadata(path, key)
        +get_additional_metadata(path, key)

        Fetches additional metadata at key from the metadata of path.

        -
        Parameters
        +
        Parameters:
        • path – the virtual path to the file for which to fetch additional metadata

        • key – key of metadata to fetch

        • @@ -724,10 +724,10 @@
          -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
          +get_lastmodified(path: str | None = None, recursive: bool = False) int

          Get the modification date of the specified path or path’s subtree.

          -
          Parameters
          +
          Parameters:
          • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

          • @@ -740,13 +740,13 @@
            -get_metadata(path)
            +get_metadata(path)

            Retrieves the metadata for the file path.

            -
            Parameters
            +
            Parameters:

            path – virtual path to the file for which to retrieve the metadata

            -
            Returns
            +
            Returns:

            the metadata associated with the file

            @@ -754,10 +754,10 @@
            -get_size(path=None, recursive=False)
            +get_size(path=None, recursive=False)

            Get the size of the specified path or path’s subtree.

            -
            Parameters
            +
            Parameters:
            • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

            • @@ -770,10 +770,10 @@
              -has_analysis(path)
              +has_analysis(path)

              Returns whether the file at path has been analysed yet

              -
              Parameters
              +
              Parameters:

              path – virtual path to the file for which to retrieve the metadata

              @@ -781,7 +781,7 @@
              -join_path(*path)
              +join_path(*path)

              Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

              @@ -789,10 +789,10 @@
              -last_modified(path=None, recursive=False)
              +last_modified(path=None, recursive=False)

              Get the last modification date of the specified path or path’s subtree.

              -
              Parameters
              +
              Parameters:
              • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

              • @@ -806,7 +806,7 @@
                -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                An optional filter function can be supplied which will be called with a file name and file data and which has @@ -860,7 +860,7 @@

                -
                Parameters
                +
                Parameters:
                • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                • @@ -870,7 +870,7 @@ do one step down into sub folders to be able to populate the children.

                -
                Returns
                +
                Returns:

                a dictionary mapping entry names to entry data that represents the whole file list

                @@ -878,16 +878,16 @@
                -move_file(source, destination, allow_overwrite=False)
                +move_file(source, destination, allow_overwrite=False)

                Moves the file source to destination

                -
                Parameters
                +
                Parameters:
                • source (string) – path to the source file

                • destination (string) – path to destination

                -
                Returns
                +
                Returns:

                the new path in the storage to the file

                @@ -895,16 +895,16 @@
                -move_folder(source, destination)
                +move_folder(source, destination)

                Moves the folder source to destination

                -
                Parameters
                +
                Parameters:
                • source (string) – path to the source folder

                • destination (string) – path to destination

                -
                Returns
                +
                Returns:

                the new path in the storage to the folder

                @@ -912,14 +912,14 @@
                -path_in_storage(path)
                +path_in_storage(path)

                Retrieves the equivalent in the storage adapter for path.

                Opposite of path_on_disk().

                -
                Parameters
                +
                Parameters:

                path (string) – the path for which to retrieve the storage path

                -
                Returns
                +
                Returns:

                the path in storage to path

                @@ -927,16 +927,16 @@
                -path_on_disk(path)
                +path_on_disk(path)

                Retrieves the path on disk for path.

                Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                Opposite of path_in_storage().

                -
                Parameters
                +
                Parameters:

                path (string) – the virtual path for which to retrieve the path on disk

                -
                Returns
                +
                Returns:

                the path on disk to path

                @@ -944,10 +944,10 @@
                -remove_additional_metadata(path, key)
                +remove_additional_metadata(path, key)

                Removes additional metadata under key for name on path

                -
                Parameters
                +
                Parameters:
                • path – the virtual path to the file for which to remove the metadata under key

                • key – the key to remove

                • @@ -958,12 +958,12 @@
                  -remove_file(path)
                  +remove_file(path)

                  Removes the file at path

                  Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                  -
                  Parameters
                  +
                  Parameters:

                  path (string) – path of the file to remove

                  @@ -971,10 +971,10 @@
                  -remove_folder(path, recursive=True)
                  +remove_folder(path, recursive=True)

                  Removes the folder at path

                  -
                  Parameters
                  +
                  Parameters:
                  • path (string) – the path of the folder to remove

                  • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -986,10 +986,10 @@

                    +remove_link(path, rel, data)

                    Removes the link consisting of rel and data from file name on path.

                    -
                    Parameters
                    +
                    Parameters:
                    • path – path of the file from which to remove the link

                    • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                    • @@ -1001,7 +1001,7 @@
                      -sanitize(path)
                      +sanitize(path)

                      Returns a (path, name) tuple derived from the provided path.

                      path may be:
                        @@ -1020,7 +1020,7 @@
                        -sanitize_name(name)
                        +sanitize_name(name)

                        Raises a ValueError for a name containing / or \. Otherwise sanitizes the given name using octoprint.files.sanitize_filename. Also strips any leading ..

                        @@ -1028,7 +1028,7 @@
                        -sanitize_path(path)
                        +sanitize_path(path)

                        Ensures that the on disk representation of path is located under the configured basefolder. Resolves all relative path elements (e.g. ..) and sanitizes folder names using sanitize_name(). Final path is the absolute path including leading basefolder path.

                        @@ -1036,13 +1036,13 @@
                        -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                        +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                        Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                        If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                        If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                        -
                        Parameters
                        +
                        Parameters:
                        • path – the virtual path to the file for which to add additional metadata

                        • key – key of metadata to add

                        • @@ -1057,7 +1057,7 @@
                          -split_path(path)
                          +split_path(path)

                          Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                          @@ -1067,14 +1067,14 @@
                          -class octoprint.filemanager.storage.StorageInterface
                          +class octoprint.filemanager.storage.StorageInterface

                          Interface of storage adapters for OctoPrint.

                          -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)
                          +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)

                          Adds the file file_object as path

                          -
                          Parameters
                          +
                          Parameters:
                          • path (string) – the file’s new path, will be sanitized

                          • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -1086,7 +1086,7 @@

                          • display (str) – display name of the file

                          -
                          Returns
                          +
                          Returns:

                          the sanitized name of the file to be used for future references to it

                          @@ -1094,18 +1094,18 @@
                          -add_folder(path, ignore_existing=True, display=None)
                          +add_folder(path, ignore_existing=True, display=None)

                          Adds a folder as path

                          The path will be sanitized.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (string) – the path of the new folder

                          • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

                          • display (str) – display name of the folder

                          -
                          Returns
                          +
                          Returns:

                          the sanitized name of the new folder to be used for future references to the folder

                          @@ -1113,7 +1113,7 @@
                          +add_link(path, rel, data)

                          Adds a link of relation rel to file path with the given data.

                          The following relation types are currently supported:

                          @@ -1134,7 +1134,7 @@

                          Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

                          -
                          Parameters
                          +
                          Parameters:
                          • path – path of the file for which to add a link

                          • rel – type of relation of the link to add (currently model, machinecode and web are supported)

                          • @@ -1146,12 +1146,12 @@
                            -property analysis_backlog
                            +property analysis_backlog

                            Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                            The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                            -
                            Returns
                            +
                            Returns:

                            an iterator yielding all un-analysed files in the storage

                            @@ -1159,16 +1159,16 @@
                            -canonicalize(path)
                            +canonicalize(path)

                            Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                            By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                            -
                            Parameters
                            +
                            Parameters:

                            path – the path to canonicalize

                            -
                            Returns
                            +
                            Returns:

                            a 2-tuple containing the canonicalized path and file name

                            @@ -1176,16 +1176,16 @@
                            -copy_file(source, destination)
                            +copy_file(source, destination)

                            Copies the file source to destination

                            -
                            Parameters
                            +
                            Parameters:
                            • source (string) – path to the source file

                            • destination (string) – path to destination

                            -
                            Returns
                            +
                            Returns:

                            the path in the storage to the copy of the file

                            @@ -1193,16 +1193,16 @@
                            -copy_folder(source, destination)
                            +copy_folder(source, destination)

                            Copies the folder source to destination

                            -
                            Parameters
                            +
                            Parameters:
                            • source (string) – path to the source folder

                            • destination (string) – path to destination

                            -
                            Returns
                            +
                            Returns:

                            the path in the storage to the copy of the folder

                            @@ -1210,7 +1210,7 @@
                            -file_exists(path)
                            +file_exists(path)

                            Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                            @@ -1218,7 +1218,7 @@
                            -file_in_path(path, filepath)
                            +file_in_path(path, filepath)

                            Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -1227,7 +1227,7 @@

                            -folder_exists(path)
                            +folder_exists(path)

                            Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                            @@ -1235,10 +1235,10 @@
                            -get_additional_metadata(path, key)
                            +get_additional_metadata(path, key)

                            Fetches additional metadata at key from the metadata of path.

                            -
                            Parameters
                            +
                            Parameters:
                            • path – the virtual path to the file for which to fetch additional metadata

                            • key – key of metadata to fetch

                            • @@ -1249,10 +1249,10 @@
                              -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                              +get_lastmodified(path: str | None = None, recursive: bool = False) int

                              Get the modification date of the specified path or path’s subtree.

                              -
                              Parameters
                              +
                              Parameters:
                              • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                              • @@ -1265,13 +1265,13 @@
                                -get_metadata(path)
                                +get_metadata(path)

                                Retrieves the metadata for the file path.

                                -
                                Parameters
                                +
                                Parameters:

                                path – virtual path to the file for which to retrieve the metadata

                                -
                                Returns
                                +
                                Returns:

                                the metadata associated with the file

                                @@ -1279,10 +1279,10 @@
                                -get_size(path=None, recursive=False) int
                                +get_size(path=None, recursive=False) int

                                Get the size of the specified path or path’s subtree.

                                -
                                Parameters
                                +
                                Parameters:
                                • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                                • @@ -1295,10 +1295,10 @@
                                  -has_analysis(path)
                                  +has_analysis(path)

                                  Returns whether the file at path has been analysed yet

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  path – virtual path to the file for which to retrieve the metadata

                                  @@ -1306,7 +1306,7 @@
                                  -join_path(*path)
                                  +join_path(*path)

                                  Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                                  @@ -1314,10 +1314,10 @@
                                  -last_modified(path=None, recursive=False)
                                  +last_modified(path=None, recursive=False)

                                  Get the last modification date of the specified path or path’s subtree.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                                  • @@ -1331,7 +1331,7 @@
                                    -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                                    +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                                    List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                                    An optional filter function can be supplied which will be called with a file name and file data and which has @@ -1385,7 +1385,7 @@

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                                    • @@ -1395,7 +1395,7 @@ do one step down into sub folders to be able to populate the children.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    a dictionary mapping entry names to entry data that represents the whole file list

                                    @@ -1403,16 +1403,16 @@
                                    -move_file(source, destination)
                                    +move_file(source, destination)

                                    Moves the file source to destination

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • source (string) – path to the source file

                                    • destination (string) – path to destination

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the new path in the storage to the file

                                    @@ -1420,16 +1420,16 @@
                                    -move_folder(source, destination)
                                    +move_folder(source, destination)

                                    Moves the folder source to destination

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • source (string) – path to the source folder

                                    • destination (string) – path to destination

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the new path in the storage to the folder

                                    @@ -1437,14 +1437,14 @@
                                    -path_in_storage(path)
                                    +path_in_storage(path)

                                    Retrieves the equivalent in the storage adapter for path.

                                    Opposite of path_on_disk().

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    path (string) – the path for which to retrieve the storage path

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the path in storage to path

                                    @@ -1452,16 +1452,16 @@
                                    -path_on_disk(path)
                                    +path_on_disk(path)

                                    Retrieves the path on disk for path.

                                    Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                                    Opposite of path_in_storage().

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    path (string) – the virtual path for which to retrieve the path on disk

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the path on disk to path

                                    @@ -1469,10 +1469,10 @@
                                    -remove_additional_metadata(path, key)
                                    +remove_additional_metadata(path, key)

                                    Removes additional metadata under key for name on path

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • path – the virtual path to the file for which to remove the metadata under key

                                    • key – the key to remove

                                    • @@ -1483,12 +1483,12 @@
                                      -remove_file(path)
                                      +remove_file(path)

                                      Removes the file at path

                                      Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      path (string) – path of the file to remove

                                      @@ -1496,10 +1496,10 @@
                                      -remove_folder(path, recursive=True)
                                      +remove_folder(path, recursive=True)

                                      Removes the folder at path

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • path (string) – the path of the folder to remove

                                      • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -1511,10 +1511,10 @@

                                        +remove_link(path, rel, data)

                                        Removes the link consisting of rel and data from file name on path.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path – path of the file from which to remove the link

                                        • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                                        • @@ -1526,14 +1526,14 @@
                                          -sanitize(path)
                                          +sanitize(path)

                                          Sanitizes the given path, stripping it of all invalid characters. The path may consist of both folder and file name, the underlying implementation must separate those if necessary and sanitize individually.

                                          -
                                          Parameters
                                          +
                                          Parameters:

                                          path (string) – the path to sanitize

                                          -
                                          Returns
                                          +
                                          Returns:

                                          a 2-tuple containing the sanitized path and file name

                                          @@ -1541,7 +1541,7 @@
                                          -sanitize_name(name)
                                          +sanitize_name(name)

                                          Sanitizes the given file name, stripping it of all invalid characters. :param string name: the file name to sanitize :return: the sanitized name

                                          @@ -1549,7 +1549,7 @@
                                          -sanitize_path(path)
                                          +sanitize_path(path)

                                          Sanitizes the given folder-only path, stripping it of all invalid characters. :param string path: the path to sanitize :return: the sanitized path

                                          @@ -1557,13 +1557,13 @@
                                          -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                          +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                          Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                          If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                          If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • path – the virtual path to the file for which to add additional metadata

                                          • key – key of metadata to add

                                          • @@ -1578,7 +1578,7 @@
                                            -split_path(path)
                                            +split_path(path)

                                            Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                            @@ -1588,22 +1588,22 @@
      -

      octoprint.filemanager.util

      +

      octoprint.filemanager.util

      -class octoprint.filemanager.util.AbstractFileWrapper(filename)
      +class octoprint.filemanager.util.AbstractFileWrapper(filename)

      Wrapper for file representations to save to storages.

      -
      Parameters
      +
      Parameters:

      filename (str) – The file’s name

      -save(path, permissions=None)
      +save(path, permissions=None)

      Saves the file’s content to the given absolute path.

      -
      Parameters
      +
      Parameters:
      • path (str) – The absolute path to where to save the file

      • permissions (int) – The permissions to set on the file

      • @@ -1614,13 +1614,13 @@
        -stream()
        +stream()

        Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

        -
        Returns
        +
        Returns:

        The file’s contents as a stream.

        -
        Return type
        +
        Return type:

        io.IOBase

        @@ -1630,12 +1630,12 @@
        -class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)
        +class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)

        An implementation of AbstractFileWrapper that wraps an actual file on disk. The save implementations will either copy the file to the new path (preserving file attributes) or – if move is True (the default) – move the file.

        -
        Parameters
        +
        Parameters:
        • filename (str) – The file’s name

        • path (str) – The file’s absolute path

        • @@ -1645,10 +1645,10 @@
        -save(path, permissions=None)
        +save(path, permissions=None)

        Saves the file’s content to the given absolute path.

        -
        Parameters
        +
        Parameters:
        • path (str) – The absolute path to where to save the file

        • permissions (int) – The permissions to set on the file

        • @@ -1659,13 +1659,13 @@
          -stream()
          +stream()

          Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

          -
          Returns
          +
          Returns:

          The file’s contents as a stream.

          -
          Return type
          +
          Return type:

          io.IOBase

          @@ -1675,42 +1675,42 @@
          -class octoprint.filemanager.util.LineProcessorStream(input_stream)
          +class octoprint.filemanager.util.LineProcessorStream(input_stream)

          While reading from this stream the provided input_stream is read line by line, calling the (overridable) method process_line() for each read line.

          Sub classes can thus modify the contents of the input_stream in line, while it is being read. Keep in mind that process_line will receive the line as a byte stream - if underlying code needs to operate on unicode you’ll need to do the decoding yourself.

          -
          Parameters
          +
          Parameters:

          input_stream (io.RawIOBase) – The stream to process on the fly.

          -close()
          +close()

          Flush and close the IO object.

          This method has no effect if the file is already closed.

          -process_line(line)
          +process_line(line)

          Called from the read Method of this stream with each line read from self.input_stream.

          By returning None the line will not be returned from the read stream, effectively being stripped from the wrapper input_stream.

          -
          Parameters
          +
          Parameters:

          line (bytes) – The line as read from self.input_stream in byte representation

          -
          Returns
          +
          Returns:

          The processed version of the line (might also be multiple lines), or None if the line is to be

          stripped from the processed stream.

          -
          Return type
          +
          Return type:

          bytes or None

          @@ -1718,14 +1718,14 @@
          -readable(*args, **kwargs)
          +readable(*args, **kwargs)

          Return whether object was opened for reading.

          If False, read() will raise OSError.

          -seekable(*args, **kwargs)
          +seekable(*args, **kwargs)

          Return whether object supports random access.

          If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

          @@ -1733,7 +1733,7 @@
          -writable(*args, **kwargs)
          +writable(*args, **kwargs)

          Return whether object was opened for writing.

          If False, write() will raise OSError.

          @@ -1742,31 +1742,31 @@
          -class octoprint.filemanager.util.MultiStream(*streams)
          +class octoprint.filemanager.util.MultiStream(*streams)

          A stream implementation which when read reads from multiple streams, one after the other, basically concatenating their contents in the order they are provided to the constructor.

          -
          Parameters
          +
          Parameters:

          *streams – One or more io.IOBase streams to concatenate.

          -close()
          +close()

          Flush and close the IO object.

          This method has no effect if the file is already closed.

          -readable(*args, **kwargs)
          +readable(*args, **kwargs)

          Return whether object was opened for reading.

          If False, read() will raise OSError.

          -seekable(*args, **kwargs)
          +seekable(*args, **kwargs)

          Return whether object supports random access.

          If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

          @@ -1774,7 +1774,7 @@
          -writable(*args, **kwargs)
          +writable(*args, **kwargs)

          Return whether object was opened for writing.

          If False, write() will raise OSError.

          @@ -1783,23 +1783,23 @@
          -class octoprint.filemanager.util.StreamWrapper(filename, *streams)
          +class octoprint.filemanager.util.StreamWrapper(filename, *streams)

          A wrapper allowing processing of one or more consecutive streams.

          -
          Parameters
          +
          Parameters:

          *streams – One or more io.IOBase streams to process one after another to save to storage.

          -save(path, permissions=None)
          +save(path, permissions=None)

          Will dump the contents of all streams provided during construction into the target file, in the order they were provided.

          -stream()
          +stream()

          If more than one stream was provided to the constructor, will return a MultiStream wrapping all provided streams in the order they were provided, else the first and only stream is returned directly.

          diff --git a/1.10.3/modules/index.html b/1.10.3/modules/index.html index f8ad2efc6..cd3c7cca0 100644 --- a/1.10.3/modules/index.html +++ b/1.10.3/modules/index.html @@ -1,26 +1,26 @@ - + - + Internal Modules — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -149,7 +149,7 @@
          -

          Internal Modules

          +

          Internal Modules

          • octoprint.access.users
              @@ -1183,7 +1183,6 @@
            • OctoPrintFlaskResponse
            • diff --git a/1.10.3/modules/plugin.html b/1.10.3/modules/plugin.html index c19791b3a..e73905b28 100644 --- a/1.10.3/modules/plugin.html +++ b/1.10.3/modules/plugin.html @@ -1,26 +1,26 @@ - + - + octoprint.plugin — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -284,16 +284,16 @@
              -

              octoprint.plugin

              +

              octoprint.plugin

              This module represents OctoPrint’s plugin subsystem. This includes management and helper methods as well as the registered plugin types.

              -octoprint.plugin.plugin_manager(init=False, plugin_folders=None, plugin_bases=None, plugin_entry_points=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)
              +octoprint.plugin.plugin_manager(init=False, plugin_folders=None, plugin_bases=None, plugin_entry_points=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)

              Factory method for initially constructing and consecutively retrieving the PluginManager singleton.

              -
              Parameters
              +
              Parameters:
              • init (boolean) – A flag indicating whether this is the initial call to construct the singleton (True) or not (False, default). If this is set to True and the plugin manager has already been initialized, a ValueError @@ -324,17 +324,17 @@ incompatible. This is for development purposes only and should not be used in production.

              -
              Returns
              +
              Returns:

              A fully initialized PluginManager instance to be used for plugin

              management tasks.

              -
              Return type
              +
              Return type:

              PluginManager

              -
              Raises
              +
              Raises:

              ValueErrorinit was True although the plugin manager was already initialized, or it was False although the plugin manager was not yet initialized.

              @@ -343,10 +343,10 @@
              -octoprint.plugin.plugin_settings(plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None, settings=None)
              +octoprint.plugin.plugin_settings(plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None, settings=None)

              Factory method for creating a PluginSettings instance.

              -
              Parameters
              +
              Parameters:
              • plugin_key (string) – The plugin identifier for which to create the settings instance.

              • defaults (dict) – The default settings for the plugin, if different from get_settings_defaults.

              • @@ -355,14 +355,14 @@
              • settings (octoprint.settings.Settings) – The settings instance to use.

              -
              Returns
              +
              Returns:

              A fully initialized PluginSettings instance to be used to access the plugin’s

              settings

              -
              Return type
              +
              Return type:

              PluginSettings

              @@ -370,7 +370,7 @@
              -octoprint.plugin.call_plugin(types, method, args=None, kwargs=None, callback=None, error_callback=None, sorting_context=None, initialized=True, manager=None)
              +octoprint.plugin.call_plugin(types, method, args=None, kwargs=None, callback=None, error_callback=None, sorting_context=None, initialized=True, manager=None)

              Helper method to invoke the indicated method on all registered plugin implementations implementing the indicated types. Allows providing method arguments and registering callbacks to call in case of success and/or failure of each call which can be used to return individual results to the calling code.

              @@ -391,7 +391,7 @@
          -
          Parameters
          +
          Parameters:
          • types (list) – A list of plugin implementation types to match against.

          • method (string) – Name of the method to call on all matching implementations.

          • @@ -413,14 +413,14 @@
            -class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)
            +class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)

            The PluginSettings class is the interface for plugins to their own or globally defined settings.

            It provides some convenience methods for directly accessing plugin settings via the regular octoprint.settings.Settings interfaces as well as means to access plugin specific folder locations.

            All getter and setter methods will ensure that plugin settings are stored in their correct location within the settings structure by modifying the supplied paths accordingly.

            -
            Parameters
            +
            Parameters:
            • settings (Settings) – The Settings instance on which to operate.

            • plugin_key (str) – The plugin identifier of the plugin for which to create this instance.

            • @@ -431,21 +431,21 @@
            -get(path, merged=False, asdict=False)
            +get(path, merged=False, asdict=False)

            Retrieves a raw value from the settings for path, optionally merging the raw value with the default settings if merged is set to True.

            -
            Parameters
            +
            Parameters:
            • path (list, tuple) – The path for which to retrieve the value.

            • merged (boolean) – Whether to merge the returned result with the default settings (True) or not (False, default).

            -
            Returns
            +
            Returns:

            The retrieved settings value.

            -
            Return type
            +
            Return type:

            object

            @@ -453,7 +453,7 @@
            -get_int(path, min=None, max=None)
            +get_int(path, min=None, max=None)

            Like get() but tries to convert the retrieved value to int. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

            @@ -461,7 +461,7 @@
            -get_float(path, min=None, max=None)
            +get_float(path, min=None, max=None)

            Like get() but tries to convert the retrieved value to float. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

            @@ -469,16 +469,16 @@
            -get_boolean(path)
            +get_boolean(path)

            Like get() but tries to convert the retrieved value to boolean.

            -set(path, value, force=False)
            +set(path, value, force=False)

            Sets the raw value on the settings for path.

            -
            Parameters
            +
            Parameters:
            • path (list, tuple) – The path for which to retrieve the value.

            • value (object) – The value to set.

            • @@ -491,7 +491,7 @@
              -set_int(path, value, force=False, min=None, max=None)
              +set_int(path, value, force=False, min=None, max=None)

              Like set() but ensures the value is an int through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -500,7 +500,7 @@

              -set_float(path, value, force=False, min=None, max=None)
              +set_float(path, value, force=False, min=None, max=None)

              Like set() but ensures the value is an float through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -509,18 +509,18 @@

              -set_boolean(path, value, force=False)
              +set_boolean(path, value, force=False)

              Like set() but ensures the value is an boolean through attempted conversion before setting it.

              -save(force=False, trigger_event=False)
              +save(force=False, trigger_event=False)

              Saves the settings to config.yaml if there are active changes. If force is set to True the settings will be saved even if there are no changes. Settings trigger_event to True will cause a SettingsUpdated event to get triggered.

              -
              Parameters
              +
              Parameters:
              • force (boolean) – Force saving to config.yaml even if there are no changes.

              • trigger_event (boolean) – Trigger the SettingsUpdated event on save.

              • @@ -531,17 +531,17 @@
                -add_overlay(overlay, at_end=False, key=None)
                +add_overlay(overlay, at_end=False, key=None)

                Adds a new config overlay for the plugin’s settings. Will return the overlay’s key in the map.

                -
                Parameters
                +
                Parameters:
                • overlay (dict) – Overlay dict to add

                • at_end (boolean) – Whether to add overlay at end or start (default) of config hierarchy

                • key (str) – Key to use to identify overlay. If not set one will be built based on the overlay’s hash

                -
                Return type
                +
                Return type:

                str

                @@ -549,14 +549,14 @@
                -remove_overlay(key)
                +remove_overlay(key)

                Removes an overlay from the settings based on its key. Return True if the overlay could be found and was removed, False otherwise.

                -
                Parameters
                +
                Parameters:

                key (str) – The key of the overlay to remove

                -
                Return type
                +
                Return type:

                boolean

                @@ -564,7 +564,7 @@
                -get_plugin_data_folder()
                +get_plugin_data_folder()

                Deprecated since version 1.2.0: Replaced by get_plugin_data_folder()

                @@ -572,22 +572,22 @@
                -get_plugin_logfile_path(postfix=None)
                +get_plugin_logfile_path(postfix=None)

                Retrieves the path to a logfile specifically for the plugin. If postfix is not supplied, the logfile will be named plugin_<plugin identifier>.log and located within the configured logs folder. If a postfix is supplied, the name will be plugin_<plugin identifier>_<postfix>.log at the same location.

                Plugins may use this for specific logging tasks. For example, a SlicingPlugin might want to create a log file for logging the output of the slicing engine itself if some debug flag is set.

                -
                Parameters
                +
                Parameters:

                postfix (str) – Postfix of the logfile for which to create the path. If set, the file name of the log file will be plugin_<plugin identifier>_<postfix>.log, if not it will be plugin_<plugin identifier>.log.

                -
                Returns
                +
                Returns:

                Absolute path to the log file, directly usable by the plugin.

                -
                Return type
                +
                Return type:

                str

                @@ -595,7 +595,7 @@
                -global_get(path, **kwargs)
                +global_get(path, **kwargs)

                Getter for retrieving settings not managed by the plugin itself from the core settings structure. Use this to access global settings outside of your plugin.

                Directly forwards to octoprint.settings.Settings.get().

                @@ -603,32 +603,32 @@
                -global_get_basefolder(folder_type, **kwargs)
                +global_get_basefolder(folder_type, **kwargs)

                Retrieves a globally defined basefolder of the given folder_type. Directly forwards to octoprint.settings.Settings.getBaseFolder().

                -global_get_boolean(path, **kwargs)
                +global_get_boolean(path, **kwargs)

                Like global_get() but directly orwards to octoprint.settings.Settings.getBoolean().

                -global_get_float(path, **kwargs)
                +global_get_float(path, **kwargs)

                Like global_get() but directly forwards to octoprint.settings.Settings.getFloat().

                -global_get_int(path, **kwargs)
                +global_get_int(path, **kwargs)

                Like global_get() but directly forwards to octoprint.settings.Settings.getInt().

                -global_set(path, value, **kwargs)
                +global_set(path, value, **kwargs)

                Setter for modifying settings not managed by the plugin itself on the core settings structure. Use this to modify global settings outside of your plugin.

                Directly forwards to octoprint.settings.Settings.set().

                @@ -636,19 +636,19 @@
                -global_set_boolean(path, value, **kwargs)
                +global_set_boolean(path, value, **kwargs)

                Like global_set() but directly forwards to octoprint.settings.Settings.setBoolean().

                -global_set_float(path, value, **kwargs)
                +global_set_float(path, value, **kwargs)

                Like global_set() but directly forwards to octoprint.settings.Settings.setFloat().

                -global_set_int(path, value, **kwargs)
                +global_set_int(path, value, **kwargs)

                Like global_set() but directly forwards to octoprint.settings.Settings.setInt().

                @@ -656,41 +656,41 @@
          -

          octoprint.plugin.core

          +

          octoprint.plugin.core

          In this module resides the core data structures and logic of the plugin system.

          -class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)
          +class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)

          The PluginManager is the central component for finding, loading and accessing plugins provided to the system.

          It is able to discover plugins both through possible file system locations as well as customizable entry points.

          -disable_plugin(name, plugin=None)
          +disable_plugin(name, plugin=None)

          Disables a plugin

          -enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)
          +enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)

          Enables a plugin

          -get_filtered_implementations(f, *types, **kwargs)
          +get_filtered_implementations(f, *types, **kwargs)

          Get all mixin implementations that implement all of the provided types and match the provided filter f.

          -
          Parameters
          +
          Parameters:
          • f (callable) – A filter function returning True for implementations to return and False for those to exclude.

          • types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

          -
          Returns
          +
          Returns:

          A list of all found and matching implementations.

          -
          Return type
          +
          Return type:

          list

          @@ -698,25 +698,25 @@
          -get_helpers(name, *helpers)
          +get_helpers(name, *helpers)

          Retrieves the named helpers for the plugin with identifier name.

          If the plugin is not available, returns None. Otherwise returns a dict with the requested plugin helper names mapped to the method - if a helper could not be resolved, it will be missing from the dict.

          -
          Parameters
          +
          Parameters:
          • name (str) – Identifier of the plugin for which to look up the helpers.

          • helpers (one or more str) – Identifiers of the helpers of plugin name to return.

          -
          Returns
          +
          Returns:

          A dictionary of all resolved helpers, mapped by their identifiers, or None if the plugin was not

          registered with the system.

          -
          Return type
          +
          Return type:

          dict

          @@ -724,16 +724,16 @@
          -get_hooks(hook)
          +get_hooks(hook)

          Retrieves all registered handlers for the specified hook.

          -
          Parameters
          +
          Parameters:

          hook (str) – The hook for which to retrieve the handlers.

          -
          Returns
          +
          Returns:

          A dict containing all registered handlers mapped by their plugin’s identifier.

          -
          Return type
          +
          Return type:

          dict

          @@ -741,16 +741,16 @@
          -get_implementations(*types, **kwargs)
          +get_implementations(*types, **kwargs)

          Get all mixin implementations that implement all of the provided types.

          -
          Parameters
          +
          Parameters:

          types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

          -
          Returns
          +
          Returns:

          A list of all found implementations

          -
          Return type
          +
          Return type:

          list

          @@ -758,21 +758,21 @@
          -get_plugin(identifier, require_enabled=True)
          +get_plugin(identifier, require_enabled=True)

          Retrieves the module of the plugin identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

          -
          Parameters
          +
          Parameters:
          • identifier (str) – The identifier of the plugin to retrieve.

          • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

          -
          Returns
          +
          Returns:

          The requested plugin module or None

          -
          Return type
          +
          Return type:

          module

          @@ -780,21 +780,21 @@
          -get_plugin_info(identifier, require_enabled=True)
          +get_plugin_info(identifier, require_enabled=True)

          Retrieves the PluginInfo instance identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

          -
          Parameters
          +
          Parameters:
          • identifier (str) – The identifier of the plugin to retrieve.

          • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

          -
          Returns
          +
          Returns:

          The requested PluginInfo or None

          -
          Return type
          +
          Return type:

          PluginInfo

          @@ -802,24 +802,24 @@
          -static has_any_of_hooks(plugin, *hooks)
          +static has_any_of_hooks(plugin, *hooks)

          Tests if the plugin contains any of the provided hooks.

          Uses octoprint.plugin.core.PluginManager.hook_matches_hooks().

          -
          Parameters
          +
          Parameters:
          • plugin – plugin to test hooks for

          • *hooks – hooks to test against

          -
          Returns
          +
          Returns:

          True if any of the plugin’s hooks match the provided hooks,

          False otherwise.

          -
          Return type
          +
          Return type:

          (bool)

          @@ -827,24 +827,24 @@
          -static has_any_of_mixins(plugin, *mixins)
          +static has_any_of_mixins(plugin, *mixins)

          Tests if the plugin has an implementation implementing any of the provided mixins.

          -
          Parameters
          +
          Parameters:
          • plugin – plugin for which to check the implementation

          • *mixins – mixins to test against

          -
          Returns
          +
          Returns:

          True if the plugin’s implementation implements any of the

          provided mixins, False otherwise.

          -
          Return type
          +
          Return type:

          (bool)

          @@ -852,41 +852,41 @@
          -has_obsolete_hooks(plugin)
          +has_obsolete_hooks(plugin)

          Checks whether the plugin uses any obsolete hooks

          -has_restart_needing_hooks(plugin)
          +has_restart_needing_hooks(plugin)

          Checks whether the plugin has any hooks that need a restart on changes

          -has_restart_needing_implementation(plugin)
          +has_restart_needing_implementation(plugin)

          Checks whether the plugin’s implementation needs a restart on changes

          -static hook_matches_hooks(hook, *hooks)
          +static hook_matches_hooks(hook, *hooks)

          Tests if hook matches any of the provided hooks to test for.

          hook is expected to be an exact hook name.

          hooks is expected to be a list containing one or more hook names or patterns. That can be either an exact hook name or an fnmatch.fnmatch() pattern.

          -
          Parameters
          +
          Parameters:
          • hook – the hook to test

          • hooks – the hook name patterns to test against

          -
          Returns
          +
          Returns:

          True if the hook matches any of the hooks, False otherwise.

          -
          Return type
          +
          Return type:

          (bool)

          @@ -894,25 +894,25 @@
          -is_obsolete_hook(hook)
          +is_obsolete_hook(hook)

          Checks whether a hook is obsolete

          -is_plugin_marked(name, flag)
          +is_plugin_marked(name, flag)

          Checks whether a plugin has been marked with a certain flag.

          -
          Parameters
          +
          Parameters:
          • name (str) – the plugin’s identifier

          • flag (str) – the flag to check

          -
          Returns
          +
          Returns:

          True if the plugin has been flagged, False otherwise

          -
          Return type
          +
          Return type:

          (boolean)

          @@ -920,22 +920,22 @@
          -is_restart_needing_hook(hook)
          +is_restart_needing_hook(hook)

          Checks whether a hook needs a restart on changes

          -is_restart_needing_plugin(plugin)
          +is_restart_needing_plugin(plugin)

          Checks whether the plugin needs a restart on changes

          -mark_plugin(name, **flags)
          +mark_plugin(name, **flags)

          Mark plugin name with an arbitrary number of flags.

          -
          Parameters
          +
          Parameters:
          • name (str) – plugin identifier

          • **flags (dict) – dictionary of flag names and values

          • @@ -946,21 +946,21 @@
            -property plugin_hooks
            +property plugin_hooks

            Returns: (dict) dictionary of registered hooks and their handlers

            -property plugins
            +property plugins

            Returns: (list) list of enabled and disabled registered plugins

            -register_message_receiver(client)
            +register_message_receiver(client)

            Registers a client for receiving plugin messages. The client needs to be a callable accepting two input arguments, plugin (the sending plugin’s identifier) and data (the message itself), and one optional keyword argument, permissions (an optional list of permissions to test against).

            @@ -968,10 +968,10 @@
            -reload_plugins(startup=False, initialize_implementations=True, force_reload=None)
            +reload_plugins(startup=False, initialize_implementations=True, force_reload=None)

            Reloads plugins, detecting newly added ones in the process.

            -
            Parameters
            +
            Parameters:
            • startup (boolean) – whether this is called during startup of the platform

            • initialize_implementations (boolean) – whether plugin implementations should be initialized

            • @@ -983,11 +983,11 @@
              -send_plugin_message(plugin, data, permissions=None)
              +send_plugin_message(plugin, data, permissions=None)

              Sends data in the name of plugin to all currently registered message receivers by invoking them with the three arguments.

              -
              Parameters
              +
              Parameters:
              • plugin (str) – The sending plugin’s identifier.

              • data (object) – The message.

              • @@ -999,7 +999,7 @@
                -unregister_message_receiver(client)
                +unregister_message_receiver(client)

                Unregisters a client for receiving plugin messages.

                @@ -1007,14 +1007,14 @@
                -class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)
                +class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)

                The PluginInfo class wraps all available information about a registered plugin.

                This includes its meta data (like name, description, version, etc) as well as the actual plugin extensions like implementations, hooks and helpers.

                It works on Python module objects and extracts the relevant data from those via accessing the control properties.

                -
                Parameters
                +
                Parameters:
                • key (str) – Identifier of the plugin

                • location (str) – Installation folder of the plugin

                • @@ -1030,14 +1030,14 @@
                -property author
                +property author

                Author of the plugin. Will be taken from the author attribute of the plugin module as defined in attr_author if available, otherwise from the author supplied during construction. May be None.

                -
                Returns
                +
                Returns:

                Author of the plugin.

                -
                Return type
                +
                Return type:

                str or None

                @@ -1045,30 +1045,30 @@
                -blacklisted
                +blacklisted

                Whether the plugin is blacklisted.

                -bundled
                +bundled

                Whether this plugin is bundled with OctoPrint.

                -property check
                +property check

                Method for pre-load check of plugin. Will be taken from the check attribute of the plugin module as defined in attr_check if available, otherwise a lambda always returning True is returned.

                -
                Returns
                +
                Returns:

                Check method for the plugin module which should return True if the plugin can be loaded, False

                otherwise.

                -
                Return type
                +
                Return type:

                callable

                @@ -1076,15 +1076,15 @@
                -property description
                +property description

                Description of the plugin. Will be taken from the description attribute of the plugin module as defined in attr_description if available, otherwise from the description supplied during construction. May be None.

                -
                Returns
                +
                Returns:

                Description of the plugin.

                -
                Return type
                +
                Return type:

                str or None

                @@ -1092,14 +1092,14 @@
                -property disable
                +property disable

                Method for disabling the plugin module. Will be taken from the disable attribute of the plugin module as defined in attr_disable if available, otherwise a no-operation lambda will be returned.

                -
                Returns
                +
                Returns:

                Disable method for the plugin module.

                -
                Return type
                +
                Return type:

                callable

                @@ -1107,15 +1107,15 @@
                -property disabling_discouraged
                +property disabling_discouraged

                Reason why disabling of this plugin is discouraged. Only evaluated for bundled plugins! Will be taken from the disabling_discouraged attribute of the plugin module as defined in attr_disabling_discouraged if available. False if unset or plugin not bundled.

                -
                Returns
                +
                Returns:

                Reason why disabling this plugin is discouraged (only for bundled plugins)

                -
                Return type
                +
                Return type:

                str or None

                @@ -1123,14 +1123,14 @@
                -property enable
                +property enable

                Method for enabling the plugin module. Will be taken from the enable attribute of the plugin module as defined in attr_enable if available, otherwise a no-operation lambda will be returned.

                -
                Returns
                +
                Returns:

                Enable method for the plugin module.

                -
                Return type
                +
                Return type:

                callable

                @@ -1138,27 +1138,27 @@
                -enabled
                +enabled

                Whether the plugin is enabled.

                -forced_disabled
                +forced_disabled

                Whether the plugin has been force disabled by the system, e.g. due to safe mode blacklisting.

                -get_hook(hook)
                +get_hook(hook)
                -
                Parameters
                +
                Parameters:

                hook (str) – Hook to return.

                -
                Returns
                +
                Returns:

                Handler for the requested hook or None if no handler is registered.

                -
                Return type
                +
                Return type:

                callable or None

                @@ -1166,15 +1166,15 @@
                -get_implementation(*types)
                +get_implementation(*types)
                -
                Parameters
                +
                Parameters:

                types (list) – List of Plugin sub classes the implementation needs to implement.

                -
                Returns
                +
                Returns:

                The plugin’s implementation if it matches all of the requested types, None otherwise.

                -
                Return type
                +
                Return type:

                object

                @@ -1182,14 +1182,14 @@
                -property helpers
                +property helpers

                Helpers provided by the plugin. Will be taken from the helpers attribute of the plugin module as defined in attr_helpers if available, otherwise an empty list is returned.

                -
                Returns
                +
                Returns:

                Helpers provided by the plugin.

                -
                Return type
                +
                Return type:

                dict

                @@ -1197,13 +1197,13 @@
                -property hidden
                +property hidden

                Hidden flag.

                -
                Returns
                +
                Returns:

                Whether the plugin should be flagged as hidden or not

                -
                Return type
                +
                Return type:

                bool

                @@ -1211,14 +1211,14 @@
                -property hooks
                +property hooks

                Hooks provided by the plugin. Will be taken from the hooks attribute of the plugin module as defined in attr_hooks if available, otherwise an empty dictionary is returned.

                -
                Returns
                +
                Returns:

                Hooks provided by the plugin.

                -
                Return type
                +
                Return type:

                dict

                @@ -1226,14 +1226,14 @@
                -property implementation
                +property implementation

                Implementation provided by the plugin. Will be taken from the implementation attribute of the plugin module as defined in attr_implementation if available, otherwise None is returned.

                -
                Returns
                +
                Returns:

                Implementation provided by the plugin.

                -
                Return type
                +
                Return type:

                object

                @@ -1241,26 +1241,26 @@
                -incompatible
                +incompatible

                Whether this plugin has been detected as incompatible.

                -invalid_syntax
                +invalid_syntax

                Whether invalid syntax was encountered while trying to load this plugin.

                -property license
                +property license

                License of the plugin. Will be taken from the license attribute of the plugin module as defined in attr_license if available, otherwise from the license supplied during construction. May be None.

                -
                Returns
                +
                Returns:

                License of the plugin.

                -
                Return type
                +
                Return type:

                str or None

                @@ -1268,14 +1268,14 @@
                -property load
                +property load

                Method for loading the plugin module. Will be taken from the load attribute of the plugin module as defined in attr_load if available, otherwise a no-operation lambda will be returned.

                -
                Returns
                +
                Returns:

                Load method for the plugin module.

                -
                Return type
                +
                Return type:

                callable

                @@ -1283,13 +1283,13 @@
                -loaded
                +loaded

                Whether this plugin has been loaded.

                -long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))
                +long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))

                Long string representation of the plugin’s information. Will return a string of the format <enabled><str(self)><bundled><location>.

                enabled, bundled and location will only be displayed if the corresponding flags are set to True. The will be filled from enabled_str, bundled_str and location_str as follows:

                @@ -1306,7 +1306,7 @@
                -
                Parameters
                +
                Parameters:
                • show_enabled (boolean) – whether to show the enabled part

                • enabled_strs (tuple) – the 2-tuple containing the two possible strings to use for displaying the enabled state

                • @@ -1316,10 +1316,10 @@
                • location_str (str) – the format string to use for displaying the plugin’s installation location

                -
                Returns
                +
                Returns:

                The long string representation of the plugin as described above

                -
                Return type
                +
                Return type:

                str

                @@ -1327,26 +1327,26 @@
                -property looks_like_plugin
                +property looks_like_plugin

                Returns whether the plugin actually looks like a plugin (has control properties) or not.

                -managable
                +managable

                Whether this plugin can be managed by OctoPrint.

                -property name
                +property name

                Human readable name of the plugin. Will be taken from name attribute of the plugin module if available, otherwise from the name supplied during construction with a fallback to key.

                -
                Returns
                +
                Returns:

                Name of the plugin, fallback is the plugin’s identifier.

                -
                Return type
                +
                Return type:

                str

                @@ -1354,33 +1354,33 @@
                -needs_restart
                +needs_restart

                Whether this plugin needs a restart of OctoPrint after enabling/disabling.

                -origin
                +origin

                The origin from which this plugin was loaded, either a EntryPointOrigin, FolderOrigin or ModuleOrigin instance. Set during loading, initially None.

                -property parsed_metadata
                +property parsed_metadata

                The plugin metadata parsed from the plugin’s AST.

                -property privacypolicy
                +property privacypolicy

                Privacy Policy URL of the plugin. Will be taken from the privacy policy attribute of the plugin module as defined in attr_privacypolicy if available. May be None.

                -
                Returns
                +
                Returns:

                Privacy Policy URL of the plugin.

                -
                Return type
                +
                Return type:

                str or None

                @@ -1388,14 +1388,14 @@
                -property pythoncompat
                +property pythoncompat

                Python compatibility string of the plugin module as defined in attr_pythoncompat if available, otherwise defaults to >=2.7,<3.

                -
                Returns
                +
                Returns:

                Python compatibility string of the plugin

                -
                Return type
                +
                Return type:

                str

                @@ -1403,14 +1403,14 @@
                -property unload
                +property unload

                Method for unloading the plugin module. Will be taken from the unload attribute of the plugin module as defined in attr_unload if available, otherwise a no-operation lambda will be returned.

                -
                Returns
                +
                Returns:

                Unload method for the plugin module.

                -
                Return type
                +
                Return type:

                callable

                @@ -1418,14 +1418,14 @@
                -property url
                +property url

                Website URL for the plugin. Will be taken from the url attribute of the plugin module as defined in attr_url if available, otherwise from the url supplied during construction. May be None.

                -
                Returns
                +
                Returns:

                Website URL for the plugin.

                -
                Return type
                +
                Return type:

                str or None

                @@ -1433,7 +1433,7 @@
                -validate(phase, additional_validators=None)
                +validate(phase, additional_validators=None)

                Validates the plugin for various validation phases.

                phase can be one of before_import, before_load, after_load.

                Used by PluginManager, should not be used elsewhere.

                @@ -1441,14 +1441,14 @@
                -property version
                +property version

                Version of the plugin. Will be taken from the version attribute of the plugin module as defined in attr_version if available, otherwise from the version supplied during construction. May be None.

                -
                Returns
                +
                Returns:

                Version of the plugin.

                -
                Return type
                +
                Return type:

                str or None

                @@ -1458,35 +1458,35 @@
                -class octoprint.plugin.core.Plugin
                +class octoprint.plugin.core.Plugin

                The parent class of all plugin implementations.

                -_identifier
                +_identifier

                The identifier of the plugin. Injected by the plugin core system upon initialization of the implementation.

                -_plugin_name
                +_plugin_name

                The name of the plugin. Injected by the plugin core system upon initialization of the implementation.

                -_plugin_version
                +_plugin_version

                The version of the plugin. Injected by the plugin core system upon initialization of the implementation.

                -_basefolder
                +_basefolder

                The base folder of the plugin. Injected by the plugin core system upon initialization of the implementation.

                -_logger
                +_logger

                The logger instance to use, with the logging name set to the PluginManager.logging_prefix of the PluginManager concatenated with _identifier. Injected by the plugin core system upon initialization of the implementation.

                @@ -1494,19 +1494,19 @@
                -initialize()
                +initialize()

                Called by the plugin core after performing all injections. Override this to initialize your implementation.

                -on_plugin_disabled()
                +on_plugin_disabled()

                Called by the plugin core when the plugin was disabled. Override this to react to the event.

                -on_plugin_enabled()
                +on_plugin_enabled()

                Called by the plugin core when the plugin was enabled. Override this to react to the event.

                @@ -1514,28 +1514,28 @@
                -class octoprint.plugin.core.RestartNeedingPlugin
                +class octoprint.plugin.core.RestartNeedingPlugin

                Mixin for plugin types that need a restart after enabling/disabling them.

                -class octoprint.plugin.core.SortablePlugin
                +class octoprint.plugin.core.SortablePlugin

                Mixin for plugin types that are sortable.

                -get_sorting_key(context=None)
                +get_sorting_key(context=None)

                Returns the sorting key to use for the implementation in the specified context.

                May return None if order is irrelevant.

                Implementations returning None will be ordered by plugin identifier after all implementations which did return a sorting key value that was not None sorted by that.

                -
                Parameters
                +
                Parameters:

                context (str) – The sorting context for which to provide the sorting key value.

                -
                Returns
                +
                Returns:

                An integer signifying the sorting key value of the plugin

                (sorting will be done ascending), or None if the implementation doesn’t care about calling order.

                @@ -1543,7 +1543,7 @@

                -
                Return type
                +
                Return type:

                int or None

                @@ -1553,96 +1553,96 @@
          -

          octoprint.plugin.types

          +

          octoprint.plugin.types

          This module bundles all of OctoPrint’s supported plugin implementation types as well as their common parent class, OctoPrintPlugin.

          Please note that the plugin implementation types are documented in the section Available plugin mixins.

          -class octoprint.plugin.types.OctoPrintPlugin
          +class octoprint.plugin.types.OctoPrintPlugin

          Bases: Plugin

          The parent class of all OctoPrint plugin mixins.

          -_plugin_manager
          +_plugin_manager

          The PluginManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_printer_profile_manager
          +_printer_profile_manager

          The PrinterProfileManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_event_bus
          +_event_bus

          The EventManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_analysis_queue
          +_analysis_queue

          The AnalysisQueue instance. Injected by the plugin core system upon initialization of the implementation.

          -_slicing_manager
          +_slicing_manager

          The SlicingManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_file_manager
          +_file_manager

          The FileManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_printer
          +_printer

          The PrinterInterface instance. Injected by the plugin core system upon initialization of the implementation.

          -_app_session_manager
          +_app_session_manager

          The SessionManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_plugin_lifecycle_manager
          +_plugin_lifecycle_manager

          The LifecycleManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_user_manager
          +_user_manager

          The UserManager instance. Injected by the plugin core system upon initialization of the implementation.

          -_connectivity_checker
          +_connectivity_checker

          The ConnectivityChecker instance. Injected by the plugin core system upon initialization of the implementation.

          -_data_folder
          +_data_folder

          Path to the data folder for the plugin to use for any data it might have to persist. Should always be accessed through get_plugin_data_folder() since that function will also ensure that the data folder actually exists and if not creating it before returning it. Injected by the plugin core system upon initialization of the @@ -1651,7 +1651,7 @@

          -get_plugin_data_folder()
          +get_plugin_data_folder()

          Retrieves the path to a data folder specifically for the plugin, ensuring it exists and if not creating it before returning it.

          Plugins may use this folder for storing additional data they need for their operation.

          @@ -1659,7 +1659,7 @@
          -on_plugin_pending_uninstall()
          +on_plugin_pending_uninstall()

          Called by the plugin manager when the plugin is pending uninstall. Override this to react to the event.

          NOT called during plugin uninstalls triggered outside of OctoPrint!

          @@ -1668,7 +1668,7 @@
          -class octoprint.plugin.types.ReloadNeedingPlugin
          +class octoprint.plugin.types.ReloadNeedingPlugin

          Bases: Plugin

          Mixin for plugin types that need a reload of the UI after enabling/disabling them.

          diff --git a/1.10.3/modules/printer.html b/1.10.3/modules/printer.html index 30b534379..84ab22767 100644 --- a/1.10.3/modules/printer.html +++ b/1.10.3/modules/printer.html @@ -1,26 +1,26 @@ - + - + octoprint.printer — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -230,14 +230,14 @@
          -

          octoprint.printer

          +

          octoprint.printer

          This module defines the interface for communicating with a connected printer.

          The communication is in fact divided in two components, the PrinterInterface and a deeper lying communication layer. However, plugins should only ever need to use the PrinterInterface as the abstracted version of the actual printer communication.

          -octoprint.printer.get_connection_options()
          +octoprint.printer.get_connection_options()

          Deprecated since version 1.3.0: Replaced by PrinterInterface.get_connection_options()

          @@ -245,18 +245,18 @@
          -class octoprint.printer.PrinterInterface
          +class octoprint.printer.PrinterInterface

          The PrinterInterface represents the developer interface to the Printer instance.

          -can_modify_file(path, sd, *args, **kwargs)
          +can_modify_file(path, sd, *args, **kwargs)

          Determines whether the path (on the printer’s SD if sd is True) may be modified (updated or deleted) or not.

          A file that is currently being printed is not allowed to be modified. Any other file or the current file when it is not being printed is fine though.

          -
          Since
          +
          Since:

          1.3.2

          @@ -268,13 +268,13 @@ versions!

          -
          Parameters
          +
          Parameters:
          • path (str) – path in storage of the file to check

          • sd (bool) – True if to check against SD storage, False otherwise

          -
          Returns
          +
          Returns:

          (bool) True if the file may be modified, False otherwise

          @@ -282,10 +282,10 @@
          -cancel_print(tags=None, *args, **kwargs)
          +cancel_print(tags=None, *args, **kwargs)

          Cancels the current print job.

          -
          Parameters
          +
          Parameters:

          tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

          @@ -293,10 +293,10 @@
          -change_tool(tool, tags=None, *args, **kwargs)
          +change_tool(tool, tags=None, *args, **kwargs)

          Switch the currently active tool (for which extrude commands will apply).

          -
          Parameters
          +
          Parameters:
          • tool (str) – The tool to switch to, matching the regex “tool[0-9]+” (e.g. “tool0”, “tool1”, …)

          • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

          • @@ -307,10 +307,10 @@
            -commands(commands, tags=None, force=False, *args, **kwargs)
            +commands(commands, tags=None, force=False, *args, **kwargs)

            Sends the provided commands to the printer.

            -
            Parameters
            +
            Parameters:
            • commands (str, list) – The commands to send. Might be a single command provided just as a string or a list of multiple commands to send in order.

            • @@ -323,12 +323,12 @@
              -connect(port=None, baudrate=None, profile=None, *args, **kwargs)
              +connect(port=None, baudrate=None, profile=None, *args, **kwargs)

              Connects to the printer, using the specified serial port, baudrate and printer profile. If a connection is already established, that connection will be closed prior to connecting anew with the provided parameters.

              -
              Parameters
              +
              Parameters:
              • port (str) – Name of the serial port to connect to. If not provided, an auto detection will be attempted.

              • baudrate (int) – Baudrate to connect with. If not provided, an auto detection will be attempted.

              • @@ -341,20 +341,20 @@
                -disconnect(*args, **kwargs)
                +disconnect(*args, **kwargs)

                Disconnects from the printer. Does nothing if no connection is currently established.

                -extrude(amount, speed=None, tags=None, *args, **kwargs)
                +extrude(amount, speed=None, tags=None, *args, **kwargs)

                Extrude amount millimeters of material from the tool.

                -
                Parameters
                +
                Parameters:
                • amount (int, float) – The amount of material to extrude in mm

                • speed (int, None) – Speed at which to extrude (F parameter). If set to None (or left out)

                • -
                • used. (the maximum speed of E axis from the printer profile will be) –

                • +
                • used. (the maximum speed of E axis from the printer profile will be)

                • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                @@ -363,7 +363,7 @@
                -fake_ack(*args, **kwargs)
                +fake_ack(*args, **kwargs)

                Fakes an acknowledgment for the communication layer. If the communication between OctoPrint and the printer gets stuck due to lost “ok” responses from the server due to communication issues, this can be used to get things going again.

                @@ -371,10 +371,10 @@
                -feed_rate(factor, tags=None, *args, **kwargs)
                +feed_rate(factor, tags=None, *args, **kwargs)

                Sets the factor for the printer’s feed rate.

                -
                Parameters
                +
                Parameters:
                • factor (int, float) – The factor for the feed rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                • @@ -386,10 +386,10 @@
                  -flow_rate(factor, tags=None, *args, **kwargs)
                  +flow_rate(factor, tags=None, *args, **kwargs)

                  Sets the factor for the printer’s flow rate.

                  -
                  Parameters
                  +
                  Parameters:
                  • factor (int, float) – The factor for the flow rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                  • @@ -401,7 +401,7 @@
                    -classmethod get_connection_options(*args, **kwargs)
                    +classmethod get_connection_options(*args, **kwargs)

                    Retrieves the available ports, baudrates, preferred port and baudrate for connecting to the printer.

                    Returned dict has the following structure:

                    ports: <list of available serial ports>
                    @@ -412,10 +412,10 @@
                     
                    -
                    Returns
                    +
                    Returns:

                    A dictionary holding the connection options in the structure specified above

                    -
                    Return type
                    +
                    Return type:

                    (dict)

                    @@ -423,9 +423,9 @@
                    -get_current_connection(*args, **kwargs)
                    +get_current_connection(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (tuple) The current connection information as a 4-tuple (connection_string, port, baudrate, printer_profile).

                    If the printer is currently not connected, the tuple will be ("Closed", None, None, None).

                    @@ -437,9 +437,9 @@
                    -get_current_data(*args, **kwargs)
                    +get_current_data(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (dict) The current state data.

                    @@ -447,9 +447,9 @@
                    -get_current_job(*args, **kwargs)
                    +get_current_job(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (dict) The data of the current job.

                    @@ -457,9 +457,9 @@
                    -get_current_temperatures(*args, **kwargs)
                    +get_current_temperatures(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (dict) The current temperatures.

                    @@ -467,7 +467,7 @@
                    -get_state_id(*args, **kwargs)
                    +get_state_id(*args, **kwargs)

                    Identifier of the current communication state.

                    Possible values are:

                    @@ -489,7 +489,7 @@
          -
          Returns
          +
          Returns:

          (str) A unique identifier corresponding to the current communication state.

          @@ -497,9 +497,9 @@
          -get_state_string(*args, **kwargs)
          +get_state_string(*args, **kwargs)
          -
          Returns
          +
          Returns:

          (str) A human readable string corresponding to the current communication state.

          @@ -507,9 +507,9 @@
          -get_temperature_history(*args, **kwargs)
          +get_temperature_history(*args, **kwargs)
          -
          Returns
          +
          Returns:

          (list) The temperature history.

          @@ -517,15 +517,15 @@
          -get_transport(*args, **kwargs)
          +get_transport(*args, **kwargs)

          Returns the communication layer’s transport object, if a connection is currently established.

          Note that this doesn’t have to necessarily be a serial.Serial instance, it might also be something different, so take care to do instance checks before attempting to access any properties or methods.

          -
          Returns
          +
          Returns:

          The communication layer’s transport object

          -
          Return type
          +
          Return type:

          object

          @@ -533,10 +533,10 @@
          -home(axes, tags=None, *args, **kwargs)
          +home(axes, tags=None, *args, **kwargs)

          Homes the specified printer axes.

          -
          Parameters
          +
          Parameters:
          • axes (str, list) – The axis or axes to home, each of which must converted to lower case must match one of “x”, “y”, “z” and “e”

          • @@ -548,9 +548,9 @@
            -is_cancelling(*args, **kwargs)
            +is_cancelling(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently cancelling a print.

            @@ -558,9 +558,9 @@
            -is_closed_or_error(*args, **kwargs)
            +is_closed_or_error(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently disconnected and/or in an error state.

            @@ -568,11 +568,11 @@
            -is_current_file(path, sd, *args, **kwargs)
            +is_current_file(path, sd, *args, **kwargs)

            Returns whether the provided path (on the printer’s SD if sd is True) is the currently selected file for printing.

            -
            Since
            +
            Since:

            1.3.2

            @@ -584,13 +584,13 @@ versions!

            -
            Parameters
            +
            Parameters:
            • path (str) – path in storage of the file to check

            • sd (bool) – True if to check against SD storage, False otherwise

            -
            Returns
            +
            Returns:

            (bool) True if the file is currently selected, False otherwise

            @@ -598,9 +598,9 @@
            -is_error(*args, **kwargs)
            +is_error(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently in an error state.

            @@ -608,9 +608,9 @@
            -is_operational(*args, **kwargs)
            +is_operational(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently connected and available.

            @@ -618,9 +618,9 @@
            -is_paused(*args, **kwargs)
            +is_paused(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently paused.

            @@ -628,9 +628,9 @@
            -is_pausing(*args, **kwargs)
            +is_pausing(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently pausing a print.

            @@ -638,9 +638,9 @@
            -is_printing(*args, **kwargs)
            +is_printing(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently printing.

            @@ -648,9 +648,9 @@
            -is_ready(*args, **kwargs)
            +is_ready(*args, **kwargs)
            -
            Returns
            +
            Returns:

            (boolean) Whether the printer is currently operational and ready for new print jobs (not printing).

            @@ -658,7 +658,7 @@
            -job_on_hold(blocking=True, *args, **kwargs)
            +job_on_hold(blocking=True, *args, **kwargs)

            Contextmanager that allows executing code while printing while making sure that no commands from the file being printed are continued to be sent to the printer. Note that this will only work for local files, NOT SD files.

            @@ -675,7 +675,7 @@ don’t want to block on acquire, be sure to set blocking to False and catch the RuntimeException thrown if the lock can’t be acquired.

            -
            Parameters
            +
            Parameters:

            blocking (bool) – Whether to block while attempting to acquire the lock (default) or not

            @@ -683,10 +683,10 @@
            -jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)
            +jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)

            Jogs the specified printer axis by the specified amount in mm.

            -
            Parameters
            +
            Parameters:
            • axes (dict) – Axes and distances to jog, keys are axes (“x”, “y”, “z”), values are distances in mm

            • relative (bool) – Whether to interpret the distance values as relative (true, default) or absolute (false) @@ -702,17 +702,17 @@

              -log_lines(*lines)
              +log_lines(*lines)

              Logs the provided lines to the printer log and serial.log :param *lines: the lines to log

              -pause_print(tags=None, *args, **kwargs)
              +pause_print(tags=None, *args, **kwargs)

              Pauses the current print job if it is currently running, does nothing otherwise.

              -
              Parameters
              +
              Parameters:

              tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

              @@ -720,10 +720,10 @@
              -register_callback(callback, *args, **kwargs)
              +register_callback(callback, *args, **kwargs)

              Registers a PrinterCallback with the instance.

              -
              Parameters
              +
              Parameters:

              callback (PrinterCallback) – The callback object to register.

              @@ -731,10 +731,10 @@
              -resume_print(tags=None, *args, **kwargs)
              +resume_print(tags=None, *args, **kwargs)

              Resumes the current print job if it is currently paused, does nothing otherwise.

              -
              Parameters
              +
              Parameters:

              tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

              @@ -742,20 +742,20 @@
              -script(name, context=None, tags=None, *args, **kwargs)
              +script(name, context=None, tags=None, *args, **kwargs)

              Sends the GCODE script name to the printer.

              The script will be run through the template engine, the rendering context can be extended by providing a context with additional template variables to use.

              If the script is unknown, an UnknownScriptException will be raised.

              -
              Parameters
              +
              Parameters:
              • name (str) – The name of the GCODE script to render.

              • context (dict) – An optional context of additional template variables to provide to the renderer.

              • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

              -
              Raises
              +
              Raises:

              UnknownScriptException – There is no GCODE script with name name

              @@ -763,11 +763,11 @@
              -select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)
              +select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)

              Selects the specified path for printing, specifying if the file is to be found on the sd or not. Optionally can also directly start the print after selecting the file.

              -
              Parameters
              +
              Parameters:
              • path (str) – The path to select for printing. Either an absolute path or relative path to a local file in the uploads folder or a filename on the printer’s SD card.

              • @@ -777,7 +777,7 @@
              • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

              -
              Raises
              +
              Raises:
              • InvalidFileType – if the file is not a machinecode file and hence cannot be printed

              • InvalidFileLocation – if an absolute path was provided and not contained within local storage or @@ -789,10 +789,10 @@

                -send_initial_callback(callback)
                +send_initial_callback(callback)

                Sends the initial printer update to PrinterCallback.

                -
                Parameters
                +
                Parameters:

                callback (PrinterCallback) – The callback object to send initial data to.

                @@ -800,7 +800,7 @@
                -set_job_on_hold(value, blocking=True, *args, **kwargs)
                +set_job_on_hold(value, blocking=True, *args, **kwargs)

                Setter for finer control over putting jobs on hold. Set to True to ensure that no commands from the file being printed are continued to be sent to the printer. Set to False to resume. Note that this will only work for local files, NOT SD files.

                @@ -819,13 +819,13 @@

                Just like job_on_hold() this should be used sparingly and only for very specific situations. If you abuse this, you WILL cause print quality issues!

                -
                Parameters
                +
                Parameters:
                • value (bool) – The value to set

                • blocking (bool) – Whether to block while attempting to set the value (default) or not

                -
                Returns
                +
                Returns:

                (bool) Whether the value could be set successfully (True) or a timeout was encountered (False)

                @@ -833,10 +833,10 @@
                -set_temperature(heater, value, tags=None, *args, **kwargs)
                +set_temperature(heater, value, tags=None, *args, **kwargs)

                Sets the target temperature on the specified heater to the given value in celsius.

                -
                Parameters
                +
                Parameters:
                • heater (str) – The heater for which to set the target temperature. Either “bed” for setting the bed temperature, “chamber” for setting the temperature of the heated enclosure or something matching the @@ -852,10 +852,10 @@

                  -set_temperature_offset(offsets=None, tags=None, *args, **kwargs)
                  +set_temperature_offset(offsets=None, tags=None, *args, **kwargs)

                  Sets the temperature offsets to apply to target temperatures read from a GCODE file while printing.

                  -
                  Parameters
                  +
                  Parameters:
                  • offsets (dict) – A dictionary specifying the offsets to apply. Keys must match the format for the heater parameter to set_temperature(), so “bed” for the offset for the bed target temperature and @@ -868,10 +868,10 @@

                    -start_print(tags=None, *args, **kwargs)
                    +start_print(tags=None, *args, **kwargs)

                    Starts printing the currently selected file. If no file is currently selected, does nothing.

                    -
                    Parameters
                    +
                    Parameters:

                    tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                    @@ -879,10 +879,10 @@
                    -toggle_pause_print(tags=None, *args, **kwargs)
                    +toggle_pause_print(tags=None, *args, **kwargs)

                    Pauses the current print job if it is currently running or resumes it if it is currently paused.

                    -
                    Parameters
                    +
                    Parameters:

                    tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                    @@ -890,10 +890,10 @@
                    -unregister_callback(callback, *args, **kwargs)
                    +unregister_callback(callback, *args, **kwargs)

                    Unregisters a PrinterCallback from the instance.

                    -
                    Parameters
                    +
                    Parameters:

                    callback (PrinterCallback) – The callback object to unregister.

                    @@ -901,25 +901,25 @@
                    -unselect_file(*args, **kwargs)
                    +unselect_file(*args, **kwargs)

                    Unselects and currently selected file.

                    -valid_axes = ('x', 'y', 'z', 'e')
                    +valid_axes = ('x', 'y', 'z', 'e')

                    Valid axes identifiers.

                    -valid_heater_regex = re.compile('^(tool\\d+|bed|chamber)$')
                    +valid_heater_regex = re.compile('^(tool\\d+|bed|chamber)$')

                    Regex for valid heater identifiers.

                    -valid_tool_regex = re.compile('^(tool\\d+)$')
                    +valid_tool_regex = re.compile('^(tool\\d+)$')

                    Regex for valid tool identifiers.

                    @@ -927,13 +927,13 @@
                    -class octoprint.printer.PrinterCallback
                    +class octoprint.printer.PrinterCallback
                    -on_printer_add_log(data)
                    +on_printer_add_log(data)

                    Called when the PrinterInterface receives a new communication log entry from the communication layer.

                    -
                    Parameters
                    +
                    Parameters:

                    data (str) – The received log line.

                    @@ -941,10 +941,10 @@
                    -on_printer_add_message(data)
                    +on_printer_add_message(data)

                    Called when the PrinterInterface receives a new message from the communication layer.

                    -
                    Parameters
                    +
                    Parameters:

                    data (str) – The received message.

                    @@ -952,7 +952,7 @@
                    -on_printer_add_temperature(data)
                    +on_printer_add_temperature(data)

                    Called when the PrinterInterface receives a new temperature data set from the communication layer.

                    data is a dict of the following structure:

                    tool0:
                    @@ -968,7 +968,7 @@
                     
                    -
                    Parameters
                    +
                    Parameters:

                    data (dict) – A dict of all current temperatures in the format as specified above

                    @@ -976,10 +976,10 @@
                    -on_printer_received_registered_message(name, output)
                    +on_printer_received_registered_message(name, output)

                    Called when the PrinterInterface received a registered message, e.g. from a feedback command.

                    -
                    Parameters
                    +
                    Parameters:
                    • name (str) – Name of the registered message (e.g. the feedback command)

                    • output (str) – Output for the registered message

                    • @@ -990,7 +990,7 @@
                      -on_printer_send_current_data(data)
                      +on_printer_send_current_data(data)

                      Called when the internal state of the PrinterInterface changes, due to changes in the printer state, temperatures, log lines, job progress etc. Updates via this method are guaranteed to be throttled to a maximum of 2 calls per second.

                      @@ -1026,7 +1026,7 @@
                      -
                      Parameters
                      +
                      Parameters:

                      data (dict) – The current data in the format as specified above.

                      @@ -1034,7 +1034,7 @@
                      -on_printer_send_initial_data(data)
                      +on_printer_send_initial_data(data)

                      Called when registering as a callback with the PrinterInterface to receive the initial data (state, log and temperature history etc) from the printer.

                      data is a dict of the following structure:

                      @@ -1053,7 +1053,7 @@
                      -
                      Parameters
                      +
                      Parameters:

                      data (dict) – The initial data in the format as specified above.

                      @@ -1063,14 +1063,14 @@
      -

      octoprint.printer.profile

      +

      octoprint.printer.profile

      This module contains printer profile related code.

      A printer profile is a dict of the following structure:

      -

    Key

    +
    ---+++ @@ -1236,24 +1236,24 @@

    Name

    -class octoprint.printer.profile.PrinterProfileManager
    +class octoprint.printer.profile.PrinterProfileManager

    Manager for printer profiles. Offers methods to select the globally used printer profile and to list, add, remove, load and save printer profiles.

    -class octoprint.printer.profile.BedFormFactor
    +class octoprint.printer.profile.BedFormFactor

    Valid values for bed form factor

    -CIRCULAR = 'circular'
    +CIRCULAR = 'circular'

    Circular bed

    -RECTANGULAR = 'rectangular'
    +RECTANGULAR = 'rectangular'

    Rectangular bed

    @@ -1261,17 +1261,17 @@
    -class octoprint.printer.profile.BedOrigin
    +class octoprint.printer.profile.BedOrigin

    Valid values for bed origin

    -CENTER = 'center'
    +CENTER = 'center'

    Origin at the center of the bed when looking from top

    -LOWERLEFT = 'lowerleft'
    +LOWERLEFT = 'lowerleft'

    Origin at lower left corner of the bed when looking from the top

    @@ -1279,19 +1279,19 @@
    -class octoprint.printer.profile.SaveError
    +class octoprint.printer.profile.SaveError

    Saving a profile failed

    -class octoprint.printer.profile.CouldNotOverwriteError
    +class octoprint.printer.profile.CouldNotOverwriteError

    Overwriting of a profile not allowed

    -class octoprint.printer.profile.InvalidProfileError
    +class octoprint.printer.profile.InvalidProfileError

    Profile invalid

    diff --git a/1.10.3/modules/schema.html b/1.10.3/modules/schema.html index 17352b876..4b11af152 100644 --- a/1.10.3/modules/schema.html +++ b/1.10.3/modules/schema.html @@ -1,26 +1,26 @@ - + - + octoprint.schema — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -739,16 +739,16 @@
    -

    octoprint.schema

    +

    octoprint.schema

    -class octoprint.schema.BaseModel
    +class octoprint.schema.BaseModel
    -class Config
    +class Config
    -use_enum_values = True
    +use_enum_values = True
    @@ -757,162 +757,162 @@
    -

    octoprint.schema.config

    +

    octoprint.schema.config

    -class octoprint.schema.config.Config(*, accessControl: ~octoprint.schema.config.access_control.AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ~octoprint.schema.config.api.ApiConfig = ApiConfig(key=None, apps={}, allowCrossOrigin=False), appearance: ~octoprint.schema.config.appearance.AppearanceConfig = AppearanceConfig(name='', color=<ColorEnum.default: 'default'>, colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: ~typing.List[~typing.Union[~octoprint.schema.config.controls.ControlConfig, ~octoprint.schema.config.controls.ContainerConfig]] = [], devel: ~octoprint.schema.config.devel.DevelConfig = DevelConfig(stylesheet=<StylesheetEnum.css: 'css'>, cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: ~octoprint.schema.config.estimation.EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: ~octoprint.schema.config.events.EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: ~octoprint.schema.config.feature.FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: ~octoprint.schema.config.folder.FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: ~octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt=<RunAtEnum.idle: 'idle'>, bedZ=0.0), plugins: ~octoprint.schema.config.plugins.PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}), printerParameters: ~octoprint.schema.config.printer_parameters.PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: ~octoprint.schema.config.printer_profiles.PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ~octoprint.schema.config.scripts.ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: ~octoprint.schema.config.serial.SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ~octoprint.schema.config.server.ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths=[]), slicing: ~octoprint.schema.config.slicing.SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: ~octoprint.schema.config.system.SystemConfig = SystemConfig(actions=[]), temperature: ~octoprint.schema.config.temperature.TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: ~typing.List[~octoprint.schema.config.terminalfilters.TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: ~octoprint.schema.config.webcam.WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
    +class octoprint.schema.config.Config(*, accessControl: ~octoprint.schema.config.access_control.AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ~octoprint.schema.config.api.ApiConfig = ApiConfig(key=None, apps={}, allowCrossOrigin=False), appearance: ~octoprint.schema.config.appearance.AppearanceConfig = AppearanceConfig(name='', color=<ColorEnum.default: 'default'>, colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: ~typing.List[~octoprint.schema.config.controls.ControlConfig | ~octoprint.schema.config.controls.ContainerConfig] = [], devel: ~octoprint.schema.config.devel.DevelConfig = DevelConfig(stylesheet=<StylesheetEnum.css: 'css'>, cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: ~octoprint.schema.config.estimation.EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: ~octoprint.schema.config.events.EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: ~octoprint.schema.config.feature.FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: ~octoprint.schema.config.folder.FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: ~octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt=<RunAtEnum.idle: 'idle'>, bedZ=0.0), plugins: ~octoprint.schema.config.plugins.PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}), printerParameters: ~octoprint.schema.config.printer_parameters.PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: ~octoprint.schema.config.printer_profiles.PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ~octoprint.schema.config.scripts.ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: ~octoprint.schema.config.serial.SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ~octoprint.schema.config.server.ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths=[]), slicing: ~octoprint.schema.config.slicing.SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: ~octoprint.schema.config.system.SystemConfig = SystemConfig(actions=[]), temperature: ~octoprint.schema.config.temperature.TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: ~typing.List[~octoprint.schema.config.terminalfilters.TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: ~octoprint.schema.config.webcam.WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
    -accessControl: AccessControlConfig
    +accessControl: AccessControlConfig
    -api: ApiConfig
    +api: ApiConfig
    -appearance: AppearanceConfig
    +appearance: AppearanceConfig
    -controls: List[Union[ControlConfig, ContainerConfig]]
    +controls: List[ControlConfig | ContainerConfig]
    -devel: DevelConfig
    +devel: DevelConfig
    -estimation: EstimationConfig
    +estimation: EstimationConfig
    -events: EventsConfig
    +events: EventsConfig
    -feature: FeatureConfig
    +feature: FeatureConfig
    -folder: FolderConfig
    +folder: FolderConfig
    -gcodeAnalysis: GcodeAnalysisConfig
    +gcodeAnalysis: GcodeAnalysisConfig
    -plugins: PluginsConfig
    +plugins: PluginsConfig
    -printerParameters: PrinterParametersConfig
    +printerParameters: PrinterParametersConfig
    -printerProfiles: PrinterProfilesConfig
    +printerProfiles: PrinterProfilesConfig
    -scripts: ScriptsConfig
    +scripts: ScriptsConfig
    -serial: SerialConfig
    +serial: SerialConfig
    -server: ServerConfig
    +server: ServerConfig
    -slicing: SlicingConfig
    +slicing: SlicingConfig
    -system: SystemConfig
    +system: SystemConfig
    -temperature: TemperatureConfig
    +temperature: TemperatureConfig
    -terminalFilters: List[TerminalFilterEntry]
    +terminalFilters: List[TerminalFilterEntry]
    -webcam: WebcamConfig
    +webcam: WebcamConfig
    -
    +
    -class octoprint.schema.config.access_control.AccessControlConfig(*, salt: Optional[str] = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: Optional[str] = None, groupfile: Optional[str] = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: Optional[str] = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
    +class octoprint.schema.config.access_control.AccessControlConfig(*, salt: str | None = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: str | None = None, groupfile: str | None = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: str | None = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
    -addRemoteUsers: bool
    +addRemoteUsers: bool

    If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.

    -autologinAs: Optional[str]
    +autologinAs: str | None

    The name of the user to automatically log on clients originating from localNetworks as. Must be the name of one of your configured users.

    -autologinHeadsupAcknowledged: bool
    +autologinHeadsupAcknowledged: bool

    Whether the user has acknowledged the heads-up about the importance of a correct reverse proxy configuration in the presence of autologin.

    -autologinLocal: bool
    +autologinLocal: bool

    If set to true, will automatically log on clients originating from any of the networks defined in localNetworks as the user defined in autologinAs.

    -checkBasicAuthenticationPassword: bool
    +checkBasicAuthenticationPassword: bool

    Whether to also check the password provided through Basic Authentication, if the Basic Authentication header is to be trusted. Disabling this will only match the user name in the Basic Authentication header and login the user without further checks, thus disable with caution.

    -defaultReauthenticationTimeout: int
    +defaultReauthenticationTimeout: int

    Default timeout after which to require reauthentication by a user for dangerous changes, in minutes. Defaults to 5 minutes. Set to 0 to disable reauthentication requirements (SECURITY IMPACT!).

    -groupManager: str
    +groupManager: str

    groups.yaml in the default configuration folder).

    -
    Type
    +
    Type:

    The group manager implementation to use for accessing group information. Currently only a filebased user manager is implemented which stores configured groups in a YAML file (Default

    @@ -920,52 +920,52 @@
    -groupfile: Optional[str]
    +groupfile: str | None

    The YAML group file to use. If left out defaults to groups.yaml in the default configuration folder.

    -localNetworks: List[str]
    +localNetworks: List[str]

    A list of networks or IPs for which an automatic logon as the user defined in autologinAs will take place. If available OctoPrint will evaluate the X-Forwarded-For HTTP header for determining the client’s IP address. Defaults to anything originating from localhost.

    -permissionManager: str
    +permissionManager: str

    The permission manager implementation to use.

    -remoteUserHeader: str
    +remoteUserHeader: str

    Header used by the reverse proxy to convey the authenticated user.

    -salt: Optional[str]
    +salt: str | None

    Secret salt used for password hashing. DO NOT TOUCH! If changed you will no longer be able to log in with your existing accounts. Default unset, generated on first run.

    -trustBasicAuthentication: bool
    +trustBasicAuthentication: bool

    Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user during Basic Authentication. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through Basic Authentication!

    -trustRemoteUser: bool
    +trustRemoteUser: bool

    Whether to trust remote user headers. If you have setup authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user provided in the header. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!

    -userManager: str
    +userManager: str

    users.yaml in the default configuration folder).

    -
    Type
    +
    Type:

    The user manager implementation to use for accessing user information. Currently only a filebased user manager is implemented which stores configured accounts in a YAML file (Default

    @@ -973,82 +973,82 @@
    -userfile: Optional[str]
    +userfile: str | None

    The YAML user file to use. If left out defaults to users.yaml in the default configuration folder.

    -
    +
    -class octoprint.schema.config.api.ApiConfig(*, key: Optional[str] = None, apps: Dict[str, str] = {}, allowCrossOrigin: bool = False)
    +class octoprint.schema.config.api.ApiConfig(*, key: str | None = None, apps: Dict[str, str] = {}, allowCrossOrigin: bool = False)
    -allowCrossOrigin: bool
    +allowCrossOrigin: bool

    Whether to allow cross origin access to the API or not.

    -apps: Dict[str, str]
    +apps: Dict[str, str]
    -key: Optional[str]
    +key: str | None

    Global API key, deprecated, use User API keys instead. Unset by default, will be generated on first run.

    -
    +
    -class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
    +class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
    -closeModalsWithClick: bool
    +closeModalsWithClick: bool
    -color: ColorEnum
    +color: ColorEnum

    Use this to color the navigation bar.

    -colorIcon: bool
    +colorIcon: bool
    -colorTransparent: bool
    +colorTransparent: bool

    Makes the color of the navigation bar “transparent”. In case your printer uses acrylic for its frame 😉.

    -components: ComponentConfig
    +components: ComponentConfig

    Configures the order and availability of the UI components.

    -defaultLanguage: str
    +defaultLanguage: str

    Default language of OctoPrint. If left unset OctoPrint will try to match up available languages with the user’s browser settings.

    -fuzzyTimes: bool
    +fuzzyTimes: bool
    -name: str
    +name: str

    <>”)

    -
    Type
    +
    Type:

    Use this to give your OctoPrint instance a name. It will be displayed in the title bar (as “<Name> [OctoPrint]”) and in the navigation bar (as “OctoPrint

    @@ -1056,12 +1056,12 @@
    -showFahrenheitAlso: bool
    +showFahrenheitAlso: bool
    -showInternalFilename: bool
    +showInternalFilename: bool

    Show the internal filename in the files sidebar, if necessary.

    @@ -1069,57 +1069,57 @@
    -class octoprint.schema.config.appearance.ColorEnum(value)
    +class octoprint.schema.config.appearance.ColorEnum(value)

    An enumeration.

    -blue = 'blue'
    +blue = 'blue'
    -default = 'default'
    +default = 'default'
    -green = 'green'
    +green = 'green'
    -orange = 'orange'
    +orange = 'orange'
    -red = 'red'
    +red = 'red'
    -violet = 'violet'
    +violet = 'violet'
    -yellow = 'yellow'
    +yellow = 'yellow'
    -class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
    +class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
    -disabled: ComponentDisabledConfig
    +disabled: ComponentDisabledConfig

    Disabled components per container. If a component is included here it will not be included in OctoPrint’s UI at all. Note that this might mean that critical functionality will not be available if no replacement is registered.

    -order: ComponentOrderConfig
    +order: ComponentOrderConfig

    Defines the order of the components within their respective containers.

    @@ -1127,52 +1127,52 @@
    -class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
    +class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
    -about: List[str]
    +about: List[str]

    Disabled about dialog items.

    -generic: List[str]
    +generic: List[str]

    Disabled generic items.

    -navbar: List[str]
    +navbar: List[str]

    Disabled navbar items.

    -settings: List[str]
    +settings: List[str]

    Disabled settings.

    -sidebar: List[str]
    +sidebar: List[str]

    Disabled sidebar items.

    -tab: List[str]
    +tab: List[str]

    Disabled tabs.

    -usersettings: List[str]
    +usersettings: List[str]

    Disabled user settings.

    -wizard: List[str]
    +wizard: List[str]

    Disabled wizards.

    @@ -1180,75 +1180,75 @@
    -class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
    +class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
    -about: List[str]
    +about: List[str]

    Order of about dialog items.

    -generic: List[str]
    +generic: List[str]

    Order of generic items.

    -navbar: List[str]
    +navbar: List[str]

    Order of navbar items.

    -settings: List[str]
    +settings: List[str]

    Order of settings.

    -sidebar: List[str]
    +sidebar: List[str]

    Order of sidebar items.

    -tab: List[str]
    +tab: List[str]

    Order of tabs.

    -usersettings: List[str]
    +usersettings: List[str]

    Order of user settings.

    -wizard: List[str]
    +wizard: List[str]

    Order of wizards.

    -
    +
    -class octoprint.schema.config.controls.ContainerConfig(*, children: List[Union[ContainerConfig, ControlConfig]] = [], name: Optional[str] = None, layout: LayoutEnum = LayoutEnum.vertical)
    +class octoprint.schema.config.controls.ContainerConfig(*, children: List[ContainerConfig | ControlConfig] = [], name: str | None = None, layout: LayoutEnum = LayoutEnum.vertical)
    -children: List[Union[ContainerConfig, ControlConfig]]
    +children: List[ContainerConfig | ControlConfig]

    A list of children controls or containers contained within this container.

    -layout: LayoutEnum
    +layout: LayoutEnum

    The layout to use for laying out the contained children, either from top to bottom (vertical) or from left to right (horizontal).

    -name: Optional[str]
    +name: str | None

    A name to display above the container, basically a section header.

    @@ -1256,61 +1256,61 @@
    -class octoprint.schema.config.controls.ControlConfig(*, name: str, command: Optional[str] = None, commands: Optional[List[str]] = None, script: Optional[str] = None, javascript: Optional[str] = None, additionalClasses: Optional[str] = None, enabled: Optional[str] = None, input: Optional[List[ControlInputConfig]] = [], regex: Optional[str] = None, template: Optional[str] = None, confirm: Optional[str] = None)
    +class octoprint.schema.config.controls.ControlConfig(*, name: str, command: str | None = None, commands: List[str] | None = None, script: str | None = None, javascript: str | None = None, additionalClasses: str | None = None, enabled: str | None = None, input: List[ControlInputConfig] | None = [], regex: str | None = None, template: str | None = None, confirm: str | None = None)
    -additionalClasses: Optional[str]
    +additionalClasses: str | None

    Additional classes to apply to the button of a command, commands, script or javascript control, other than the default btn. Can be used to visually style the button, e.g. set to btn-danger to turn the button red.

    -command: Optional[str]
    +command: str | None

    A single GCODE command to send to the printer. Will be rendered as a button which sends the command to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with commands and script. The rendered button be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

    -commands: Optional[List[str]]
    +commands: List[str] | None

    A list of GCODE commands to send to the printer. Will be rendered as a button which sends the commands to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and script. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

    -confirm: Optional[str]
    +confirm: str | None

    A text to display to the user to confirm his button press. Can be used with sensitive custom controls like changing EEPROM values in order to prevent accidental clicks. The text will be displayed in a confirmation dialog.

    -enabled: Optional[str]
    +enabled: str | None

    A JavaScript snippet returning either true or false determining whether the control should be enabled or not. This allows to override the default logic for the enable state of the control (disabled if printer is offline). The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

    -input: Optional[List[ControlInputConfig]]
    +input: List[ControlInputConfig] | None

    A list of definitions of input parameters for a command or commands, to be rendered as additional input fields. command/commands may contain placeholders to be replaced by the values obtained from the user for the defined input fields.

    -javascript: Optional[str]
    +javascript: str | None

    A JavaScript snippet to be executed when the button rendered for command or commands is clicked. This allows to override the direct sending of the command or commands to the printer with more sophisticated behaviour. The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

    -name: str
    +name: str

    The name of the control, will be displayed either on the button if it’s a control sending a command or as a label for controls which only display output.

    -regex: Optional[str]
    +regex: str | None

    //docs.python.org/3/library/re.html#regular-expression-syntax) to match against lines received from the printer to retrieve information from it (e.g. specific output). Together with template this allows rendition of received data from the printer within the UI.

    -
    Type
    +
    Type:

    A [regular expression <re-syntax>](https

    @@ -1318,19 +1318,19 @@
    -script: Optional[str]
    +script: str | None

    The name of a full blown [GCODE script]() to send to the printer. Will be rendered as a button which sends the script to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and commands. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met. Values of input parameters will be available in the template context under the parameter variable (e.g. an input parameter speed will be available in the script template as parameter.speed). On top of that all other variables defined in the [GCODE template context]() will be available.

    -template: Optional[str]
    +template: str | None

    {temperature}` for a regex T:s*(?P<temperature>d+(.d*)) or positional groups within the regex (e.g. Position: X={0}, Y={1}, Z={2}, E={3} for a regex X:([0-9.]+) Y:([0-9.]+) Z:([0-9.]+) E:([0-9.]+)).

    -
    Type
    +
    Type:

    A template to use for rendering the match of regex. May contain placeholders in [Python Format String Syntax](https

    -
    Type
    +
    Type:

    //docs.python.org/3/library/string.html#formatstrings) for either named groups within the regex (e.g. `Temperature

    @@ -1340,28 +1340,28 @@
    -class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: Union[str, int, float, bool], slider: Optional[ControlSliderInputConfig] = None)
    +class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: str | int | float | bool, slider: ControlSliderInputConfig | None = None)
    -default: Union[str, int, float, bool]
    +default: str | int | float | bool

    Default value for the input field.

    -name: str
    +name: str

    Name to display for the input field.

    -parameter: str
    +parameter: str

    Internal parameter name for the input field, used as a placeholder in command/commands.

    -slider: Optional[ControlSliderInputConfig]
    +slider: ControlSliderInputConfig | None

    If this attribute is included, instead of an input field a slider control will be rendered.

    @@ -1369,22 +1369,22 @@
    -class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
    +class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
    -max: int
    +max: int

    Maximum value of the slider.

    -min: int
    +min: int

    Minimum value of the slider.

    -step: int
    +step: int

    Step size per slider tick.

    @@ -1392,32 +1392,32 @@
    -class octoprint.schema.config.controls.LayoutEnum(value)
    +class octoprint.schema.config.controls.LayoutEnum(value)

    An enumeration.

    -horizontal = 'horizontal'
    +horizontal = 'horizontal'
    -vertical = 'vertical'
    +vertical = 'vertical'
    -
    +
    -class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
    +class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
    -enabled: bool
    +enabled: bool

    Whether to enable caching. Defaults to true. Setting it to false will cause the UI to always be fully rerendered on request to / on the server.

    -preemptive: bool
    +preemptive: bool

    Whether to enable the preemptive cache.

    @@ -1425,55 +1425,55 @@
    -class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
    +class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
    -cache: DevelCacheConfig
    +cache: DevelCacheConfig

    Settings for OctoPrint’s internal caching.

    -enableCsrfProtection: bool
    +enableCsrfProtection: bool

    Enable or disable the CSRF protection. Careful, disabling this reduces security.

    -enableRateLimiter: bool
    +enableRateLimiter: bool

    Enable or disable the rate limiter. Careful, disabling this reduces security.

    -pluginTimings: bool
    +pluginTimings: bool
    -showLoadingAnimation: bool
    +showLoadingAnimation: bool

    Enable or disable the loading animation.

    -sockJsConnectTimeout: float
    +sockJsConnectTimeout: float
    -stylesheet: StylesheetEnum
    +stylesheet: StylesheetEnum

    Settings for stylesheet preference. OctoPrint will prefer to use the stylesheet type specified here. Usually (on a production install) that will be the compiled css (default). Developers may specify less here too.

    -useFrozenDictForPrinterState: bool
    +useFrozenDictForPrinterState: bool
    -webassets: DevelWebassetsConfig
    +webassets: DevelWebassetsConfig

    Settings for OctoPrint’s web asset merging and minifying.

    @@ -1481,13 +1481,13 @@
    -class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
    +class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
    -bundle: bool
    +bundle: bool

    if this is set to false, no minification will take place regardless of the minify setting.

    -
    Type
    +
    Type:

    If set to true, OctoPrint will merge all JS, all CSS and all Less files into one file per type to reduce request count. Setting it to false will load all assets individually. Note

    @@ -1495,16 +1495,16 @@
    -clean_on_startup: bool
    +clean_on_startup: bool

    Whether to delete generated web assets on server startup (forcing a regeneration).

    -minify: bool
    +minify: bool

    if bundle is set to false, no minification will take place either.

    -
    Type
    +
    Type:

    If set to true, OctoPrint will the core and library javascript assets. Note

    @@ -1512,10 +1512,10 @@
    -minify_plugins: bool
    +minify_plugins: bool

    if bundle or minify are set to false, no minification of the plugin assets will take place either.

    -
    Type
    +
    Type:

    If set to true, OctoPrint will also minify the third party plugin javascript assets. Note

    @@ -1525,26 +1525,26 @@
    -class octoprint.schema.config.devel.StylesheetEnum(value)
    +class octoprint.schema.config.devel.StylesheetEnum(value)

    An enumeration.

    -css = 'css'
    +css = 'css'
    -less = 'less'
    +less = 'less'
    -
    +
    -class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
    +class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
    -printTime: PrintTimeEstimationConfig
    +printTime: PrintTimeEstimationConfig

    Parameters for the print time estimation during an ongoing print job.

    @@ -1552,75 +1552,75 @@
    -class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
    +class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
    -forceDumbAfterMin: float
    +forceDumbAfterMin: float

    If no estimate could be calculated until this many minutes into the print and no statistical data is available, use dumb linear estimate.

    -forceDumbFromPercent: float
    +forceDumbFromPercent: float

    If no estimate could be calculated until this percentage and no statistical data is available, use dumb linear estimate. Value between 0 and 1.0.

    -stableThreshold: int
    +stableThreshold: int

    Average fluctuation between individual calculated estimates to consider in stable range. Seconds of difference.

    -statsWeighingUntil: float
    +statsWeighingUntil: float

    Until which percentage to do a weighted mixture of statistical duration (analysis or past prints) with the result from the calculated estimate if that’s already available. Utilized to compensate for the fact that the earlier in a print job, the least accuracy even a stable calculated estimate provides.

    -validityRange: float
    +validityRange: float

    Range the assumed percentage (based on current estimated statistical, calculated or mixed total vs elapsed print time so far) needs to be around the actual percentage for the result to be used.

    -
    +
    -class octoprint.schema.config.events.EventSubscription(*, event: str, name: Optional[str] = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
    +class octoprint.schema.config.events.EventSubscription(*, event: str, name: str | None = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
    -command: str
    +command: str

    The command to execute when the event is triggered, either a GCODE or a system command.

    -debug: bool
    +debug: bool

    If set to true, OctoPrint will log the command after performing all placeholder replacements.

    -enabled: bool
    +enabled: bool

    Whether the event subscription should be enabled.

    -event: str
    +event: str

    The event to subscribe to.

    -name: Optional[str]
    +name: str | None

    The event name to show on the UI

    -type: SubscriptionTypeEnum
    +type: SubscriptionTypeEnum

    The type of the command.

    @@ -1628,16 +1628,16 @@
    -class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
    +class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
    -enabled: bool
    +enabled: bool

    Whether event subscriptions should be enabled or not.

    -subscriptions: List[EventSubscription]
    +subscriptions: List[EventSubscription]

    A list of event subscriptions.

    @@ -1645,221 +1645,221 @@
    -class octoprint.schema.config.events.SubscriptionTypeEnum(value)
    +class octoprint.schema.config.events.SubscriptionTypeEnum(value)

    An enumeration.

    -gcode = 'gcode'
    +gcode = 'gcode'
    -system = 'system'
    +system = 'system'
    -
    +
    -class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
    +class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
    -autoUppercaseBlacklist: List[str]
    +autoUppercaseBlacklist: List[str]

    Commands that should never be auto-uppercased when sent to the printer through the Terminal tab.

    -enableDragDropUpload: bool
    +enableDragDropUpload: bool

    Enable drag and drop upload overlay

    -enforceReallyUniversalFilenames: bool
    +enforceReallyUniversalFilenames: bool

    Replace all special characters and spaces with text equivalent to make them universally compatible. Most OS filesystems work fine with unicode characters, but just in case you can revert to the older behaviour by setting this to true.

    -g90InfluencesExtruder: bool
    +g90InfluencesExtruder: bool

    Whether G90/G91 also influence absolute/relative mode of extruders.

    -keyboardControl: bool
    +keyboardControl: bool

    Whether to enable the keyboard control feature in the control tab.

    -modelSizeDetection: bool
    +modelSizeDetection: bool

    Whether to enable model size detection and warning (true) or not (false).

    -pollWatched: bool
    +pollWatched: bool

    Whether to actively poll the watched folder (true) or to rely on the OS’s file system notifications instead (false).

    -printCancelConfirmation: bool
    +printCancelConfirmation: bool

    Whether to show a confirmation on print cancelling (true) or not (false)

    -printStartConfirmation: bool
    +printStartConfirmation: bool

    Whether to show a confirmation on print start (true) or not (false)

    -rememberFileFolder: bool
    +rememberFileFolder: bool

    Whether to remember the selected folder on the file manager.

    -sdSupport: bool
    +sdSupport: bool

    Specifies whether support for SD printing and file management should be enabled.

    -temperatureGraph: bool
    +temperatureGraph: bool

    Whether to enable the temperature graph in the UI or not.

    -uploadOverwriteConfirmation: bool
    +uploadOverwriteConfirmation: bool
    -
    +
    -class octoprint.schema.config.folder.FolderConfig(*, uploads: Optional[str] = None, timelapse: Optional[str] = None, timelapse_tmp: Optional[str] = None, logs: Optional[str] = None, virtualSd: Optional[str] = None, watched: Optional[str] = None, plugins: Optional[str] = None, slicingProfiles: Optional[str] = None, printerProfiles: Optional[str] = None, scripts: Optional[str] = None, translations: Optional[str] = None, generated: Optional[str] = None, data: Optional[str] = None)
    +class octoprint.schema.config.folder.FolderConfig(*, uploads: str | None = None, timelapse: str | None = None, timelapse_tmp: str | None = None, logs: str | None = None, virtualSd: str | None = None, watched: str | None = None, plugins: str | None = None, slicingProfiles: str | None = None, printerProfiles: str | None = None, scripts: str | None = None, translations: str | None = None, generated: str | None = None, data: str | None = None)
    -data: Optional[str]
    +data: str | None

    Absolute path where to store additional data. Defaults to the data folder in OctoPrint’s base folder.

    -generated: Optional[str]
    +generated: str | None

    Absolute path where to store generated files. Defaults to the generated folder in OctoPrint’s base folder.

    -logs: Optional[str]
    +logs: str | None

    Absolute path where to store logs. Defaults to the logs folder in OctoPrint’s base folder.

    -plugins: Optional[str]
    +plugins: str | None

    Absolute path where to locate and install single file plugins. Defaults to the plugins folder in OctoPrint’s base folder.

    -printerProfiles: Optional[str]
    +printerProfiles: str | None

    Absolute path where to store printer profiles. Defaults to the printerProfiles folder in OctoPrint’s base folder.

    -scripts: Optional[str]
    +scripts: str | None

    Absolute path where to store (GCODE) scripts. Defaults to the scripts folder in OctoPrint’s base folder.

    -slicingProfiles: Optional[str]
    +slicingProfiles: str | None

    Absolute path where to store slicing profiles. Defaults to the slicingProfiles folder in OctoPrint’s base folder.

    -timelapse: Optional[str]
    +timelapse: str | None

    Absolute path where to store finished timelase recordings. Defaults to the timelapse folder in OctoPrint’s base folder.

    -timelapse_tmp: Optional[str]
    +timelapse_tmp: str | None

    Absolute path where to store temporary timelapse snapshots. Defaults to the timelapse/tmp folder in OctoPrint’s base folder.

    -translations: Optional[str]
    +translations: str | None

    Absolute path where to store additional translations. Defaults to the translations folder in OctoPrint’s base folder.

    -uploads: Optional[str]
    +uploads: str | None

    Absolute path where to store gcode uploads. Defaults to the uploads folder in OctoPrint’s base folder.

    -virtualSd: Optional[str]
    +virtualSd: str | None

    Absolute path where to store the virtual printer’s SD card files. Defaults to the virtualSd folder in OctoPrint’s base folder.

    -watched: Optional[str]
    +watched: str | None

    Absolute path to the watched folder. Defaults to the watched folder in OctoPrint’s base folder.

    -
    +
    -class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
    +class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
    -bedZ: float
    +bedZ: float

    Z position considered the location of the bed.

    -maxExtruders: int
    +maxExtruders: int

    Maximum number of extruders to support/to sanity check for.

    -runAt: RunAtEnum
    +runAt: RunAtEnum

    Whether to run the analysis only when idle (not printing), regardless of printing state or never.

    -throttle_highprio: float
    +throttle_highprio: float

    Pause between each processed GCODE line batch in high priority mode (e.g. on fresh uploads), seconds.

    -throttle_lines: int
    +throttle_lines: int

    GCODE line batch size.

    -throttle_normalprio: float
    +throttle_normalprio: float

    Pause between each processed GCODE line batch in normal priority mode, seconds.

    @@ -1867,218 +1867,218 @@
    -class octoprint.schema.config.gcode_analysis.RunAtEnum(value)
    +class octoprint.schema.config.gcode_analysis.RunAtEnum(value)

    An enumeration.

    -always = 'always'
    +always = 'always'
    -idle = 'idle'
    +idle = 'idle'
    -never = 'never'
    +never = 'never'
    -
    +
    -class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {})
    +class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {})
    -disabled: List[str]
    +disabled: List[str]

    Identifiers of installed but disabled plugins.

    -forced_compatible: List[str]
    +forced_compatible: List[str]

    Identifiers of plugins for which python compatibility information will be ignored and the plugin considered compatible in any case. Only for development, do NOT use in production.

    -sorting_order: Dict[str, Dict[str, int]]
    +sorting_order: Dict[str, Dict[str, int]]

    Custom sorting of hooks and implementations provided by plugins. Two-tiered dictionary structure, plugin identifier mapping to a dictionary of order overrides mapped by sorting context/hook name.

    -
    +
    -class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
    +class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
    -pauseTriggers: List[str]
    +pauseTriggers: List[str]
    -
    +
    -class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: Optional[str] = None)
    +class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: str | None = None)
    -default: Optional[str]
    +default: str | None

    Name of the printer profile to default to.

    -
    +
    -class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: Optional[str] = None, beforePrinterDisconnected: Optional[str] = None, beforePrintStarted: Optional[str] = None, afterPrintCancelled: Optional[str] = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: Optional[str] = None, beforePrintPaused: Optional[str] = None, afterPrintResumed: Optional[str] = None, beforeToolChange: Optional[str] = None, afterToolChange: Optional[str] = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
    +class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: str | None = None, beforePrinterDisconnected: str | None = None, beforePrintStarted: str | None = None, afterPrintCancelled: str | None = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: str | None = None, beforePrintPaused: str | None = None, afterPrintResumed: str | None = None, beforeToolChange: str | None = None, afterToolChange: str | None = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
    -afterPrintCancelled: Optional[str]
    +afterPrintCancelled: str | None
    -afterPrintDone: Optional[str]
    +afterPrintDone: str | None
    -afterPrintResumed: Optional[str]
    +afterPrintResumed: str | None
    -afterPrinterConnected: Optional[str]
    +afterPrinterConnected: str | None
    -afterToolChange: Optional[str]
    +afterToolChange: str | None
    -beforePrintPaused: Optional[str]
    +beforePrintPaused: str | None
    -beforePrintStarted: Optional[str]
    +beforePrintStarted: str | None
    -beforePrinterDisconnected: Optional[str]
    +beforePrinterDisconnected: str | None
    -beforeToolChange: Optional[str]
    +beforeToolChange: str | None
    -snippets: Dict[str, str]
    +snippets: Dict[str, str]
    -class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
    +class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
    -gcode: GcodeScriptsConfig
    +gcode: GcodeScriptsConfig
    -
    +
    -class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)
    +class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)

    An enumeration.

    -always = 'always'
    +always = 'always'
    -detect = 'detect'
    +detect = 'detect'
    -never = 'never'
    +never = 'never'
    -class octoprint.schema.config.serial.InfoWarnNeverEnum(value)
    +class octoprint.schema.config.serial.InfoWarnNeverEnum(value)

    An enumeration.

    -info = 'info'
    +info = 'info'
    -never = 'never'
    +never = 'never'
    -warn = 'warn'
    +warn = 'warn'
    -class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
    +class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
    -autoreport_pos: bool
    +autoreport_pos: bool

    Whether to enable position autoreport in the firmware if its support is detected

    -autoreport_sdstatus: bool
    +autoreport_sdstatus: bool

    Whether to enable SD printing autoreport in the firmware if its support is detected

    -autoreport_temp: bool
    +autoreport_temp: bool

    Whether to enable temperature autoreport in the firmware if its support is detected

    -busy_protocol: bool
    +busy_protocol: bool

    Whether to shorten the communication timeout if the firmware seems to support the busy protocol

    -emergency_parser: bool
    +emergency_parser: bool

    Whether to send emergency commands out of band if the firmware seems to support the emergency parser

    -extended_m20: bool
    +extended_m20: bool

    Whether to request extended M20 (file list) output from the firmware if its support is detected

    -lfn_write: bool
    +lfn_write: bool

    Whether to enable long filename support for SD card writes if the firmware reports support for it

    @@ -2086,29 +2086,29 @@
    -class octoprint.schema.config.serial.SerialConfig(*, port: Optional[str] = None, baudrate: Optional[int] = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
    +class octoprint.schema.config.serial.SerialConfig(*, port: str | None = None, baudrate: int | None = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
    -abortHeatupOnCancel: bool
    +abortHeatupOnCancel: bool
    -ackMax: int
    +ackMax: int
    -additionalBaudrates: List[int]
    +additionalBaudrates: List[int]

    Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer

    -additionalPorts: List[str]
    +additionalPorts: List[str]

    //docs.python.org/3/library/glob.html)

    -
    Type
    +
    Type:

    Use this to define additional patterns to consider for serial port listing. Must be a valid [“glob” pattern](http

    @@ -2116,95 +2116,95 @@
    -alwaysSendChecksum: bool
    +alwaysSendChecksum: bool

    Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.

    -autoconnect: bool
    +autoconnect: bool

    Whether to try to automatically connect to the printer on startup or not

    -autorefresh: bool
    +autorefresh: bool

    Whether to automatically refresh the port list while no connection is established

    -autorefreshInterval: int
    +autorefreshInterval: int

    Interval in seconds at which to refresh the port list while no connection is established

    -baudrate: Optional[int]
    +baudrate: int | None

    The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.

    -blacklistedBaudrates: List[int]
    +blacklistedBaudrates: List[int]
    -blacklistedPorts: List[str]
    +blacklistedPorts: List[str]
    -blockWhileDwelling: bool
    +blockWhileDwelling: bool

    Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).

    -blockedCommands: List[str]
    +blockedCommands: List[str]

    Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.

    -capabilities: SerialCapabilities
    +capabilities: SerialCapabilities
    -checksumRequiringCommands: List[str]
    +checksumRequiringCommands: List[str]

    Commands which need to always be send with a checksum.

    -disableSdPrintingDetection: bool
    +disableSdPrintingDetection: bool
    -disconnectOnErrors: bool
    +disconnectOnErrors: bool

    Whether to disconnect from the printer on errors or not.

    -emergencyCommands: List[str]
    +emergencyCommands: List[str]
    -enableShutdownActionCommand: bool
    +enableShutdownActionCommand: bool

    Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it’s running on.

    -encoding: str
    +encoding: str

    //docs.python.org/3/library/codecs.html#standard-encodings).

    -
    Type
    +
    Type:

    Encoding to use when talking to a machine. ascii limits access to characters 0-127, latin_1 enables access to the “extended” ascii characters 0-255. Other values can be used, see [Python’s standard encodings](https

    @@ -2212,68 +2212,68 @@
    -exclusive: bool
    +exclusive: bool

    Whether to request the serial port exclusively or not

    -externalHeatupDetection: bool
    +externalHeatupDetection: bool

    Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer’s LCD panel or while printing from SD) or not. Causes issues with Repetier’s “first ok then response” approach to communication, so disable for printers running Repetier firmware.

    -firmwareDetection: bool
    +firmwareDetection: bool

    Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).

    -helloCommand: str
    +helloCommand: str

    Command to send in order to initiate a handshake with the printer.

    -identicalResendsCountdown: int
    +identicalResendsCountdown: int

    If ignoreIdenticalResends is true, how many consecutive identical resends to ignore.

    -ignoreEmptyPorts: bool
    +ignoreEmptyPorts: bool
    -ignoreErrorsFromFirmware: bool
    +ignoreErrorsFromFirmware: bool

    Whether to completely ignore errors from the firmware or not.

    -ignoreIdenticalResends: bool
    +ignoreIdenticalResends: bool

    Whether to ignore identical resends from the printer (true, repetier) or not (false).

    -ignoredCommands: List[str]
    +ignoredCommands: List[str]

    Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.

    -lastLineBufferSize: int
    +lastLineBufferSize: int
    -log: bool
    +log: bool

    might decrease performance)

    -
    Type
    +
    Type:

    Whether to log whole communication to serial.log (warning

    @@ -2281,194 +2281,189 @@
    -logPositionOnCancel: bool
    +logPositionOnCancel: bool
    -logPositionOnPause: bool
    +logPositionOnPause: bool
    -logResends: bool
    +logResends: bool

    Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.

    -longRunningCommands: List[str]
    +longRunningCommands: List[str]

    Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.

    -lowLatency: bool
    +lowLatency: bool

    Whether to request low latency mode on the serial port or not

    -maxCommunicationTimeouts: SerialMaxTimeouts
    +maxCommunicationTimeouts: SerialMaxTimeouts
    -maxConsecutiveResends: int
    +maxConsecutiveResends: int
    -maxNotSdPrinting: int
    +maxNotSdPrinting: int
    -maxWritePasses: int
    +maxWritePasses: int

    Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error

    -neverSendChecksum: bool
    +neverSendChecksum: bool
    -notifySuppressedCommands: InfoWarnNeverEnum
    +notifySuppressedCommands: InfoWarnNeverEnum
    -pausingCommands: List[str]
    +pausingCommands: List[str]

    Commands which should cause OctoPrint to pause any ongoing prints.

    -port: Optional[str]
    +port: str | None

    The default port to use to connect to the printer. If unset or set to AUTO, the port will be auto-detected.

    -repetierTargetTemp: bool
    -

    <temperature>` instead of attaching that information to the regular M105 responses.

    -
    -
    Type
    -

    Whether the printer sends repetier style target temperatures in the format `TargetExtr0

    -
    -
    +repetierTargetTemp: bool +

    Whether the printer sends repetier style target temperatures in the format TargetExtr0:<temperature> instead of attaching that information to the regular M105 responses.

    -resendRatioStart: int
    +resendRatioStart: int
    -resendRatioThreshold: int
    +resendRatioThreshold: int

    Percentage of resend requests among all sent lines that should be considered critical.

    -sanityCheckTools: bool
    +sanityCheckTools: bool
    -sdAlwaysAvailable: bool
    +sdAlwaysAvailable: bool

    Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don’t report the SD card status properly.

    -sdCancelCommand: str
    +sdCancelCommand: str
    -sdLowerCase: bool
    +sdLowerCase: bool
    -sdRelativePath: bool
    +sdRelativePath: bool

    Specifies whether firmware expects relative paths for selecting SD files.

    -sendChecksumWithUnknownCommands: bool
    +sendChecksumWithUnknownCommands: bool

    Specifies whether OctoPrint should also send linenumber + checksum with commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

    -sendM112OnError: bool
    +sendM112OnError: bool
    -supportFAsCommand: bool
    +supportFAsCommand: bool

    Whether to support F on its own as a valid GCODE command (true) or not (false).

    -supportResendsWithoutOk: AlwaysDetectNeverEnum
    +supportResendsWithoutOk: AlwaysDetectNeverEnum

    Whether to support resends without follow-up ok or not.

    -supportWait: bool
    +supportWait: bool
    -swallowOkAfterResend: bool
    +swallowOkAfterResend: bool
    -terminalLogSize: int
    +terminalLogSize: int
    -timeout: SerialTimeoutConfig
    +timeout: SerialTimeoutConfig

    Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems

    -triggerOkForM29: bool
    +triggerOkForM29: bool

    Whether to automatically trigger an ok for M29 (a lot of versions of this command are buggy and the response skips on the ok).

    -unknownCommandsNeedAck: bool
    +unknownCommandsNeedAck: bool

    Specifies whether OctoPrint should also use up acknowledgments (ok) for commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

    -useParityWorkaround: AlwaysDetectNeverEnum
    +useParityWorkaround: AlwaysDetectNeverEnum
    -waitForStartOnConnect: bool
    +waitForStartOnConnect: bool

    Whether OctoPrint should wait for the start response from the printer before trying to send commands during connect.

    -waitToLoadSdFileList: bool
    +waitToLoadSdFileList: bool

    Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.

    @@ -2476,22 +2471,22 @@
    -class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
    +class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
    -idle: int
    +idle: int

    Max. timeouts when the printer is idle

    -long: int
    +long: int

    Max. timeouts when a long running command is active

    -printing: int
    +printing: int

    Max. timeouts when the printer is printing

    @@ -2499,109 +2494,109 @@
    -class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
    +class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
    -baudrateDetectionPause: float
    +baudrateDetectionPause: float
    -communication: float
    +communication: float

    Timeout during serial communication, in seconds

    -communicationBusy: float
    +communicationBusy: float

    Timeout during serial communication when busy protocol support is detected, in seconds

    -connection: float
    +connection: float

    Timeout for waiting to establish a connection with the selected port, in seconds

    -detectionConsecutive: float
    +detectionConsecutive: float
    -detectionFirst: float
    +detectionFirst: float
    -posAutoreport: float
    +posAutoreport: float
    -positionLogWait: float
    +positionLogWait: float
    -resendOk: float
    +resendOk: float
    -sdStatus: float
    +sdStatus: float

    Timeout after which to query the SD status while SD printing

    -sdStatusAutoreport: float
    +sdStatusAutoreport: float
    -temperature: float
    +temperature: float

    Timeout after which to query temperature when no target is set

    -temperatureAutoreport: float
    +temperatureAutoreport: float
    -temperatureTargetSet: float
    +temperatureTargetSet: float

    Timeout after which to query temperature when a target is set

    -
    +
    -class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: Optional[str] = None, systemRestartCommand: Optional[str] = None, serverRestartCommand: Optional[str] = None, localPipCommand: Optional[str] = None)
    +class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: str | None = None, systemRestartCommand: str | None = None, serverRestartCommand: str | None = None, localPipCommand: str | None = None)
    -localPipCommand: Optional[str]
    +localPipCommand: str | None

    pip command associated with OctoPrint, used for installing plugins and updates, if unset (default) the command will be autodetected based on the current python executable - unless you have a really special setup this is the right way to do it and there should be no need to ever touch this setting.

    -serverRestartCommand: Optional[str]
    +serverRestartCommand: str | None

    Command to restart OctoPrint.

    -systemRestartCommand: Optional[str]
    +systemRestartCommand: str | None

    Command to restart the system OctoPrint is running on.

    -systemShutdownCommand: Optional[str]
    +systemShutdownCommand: str | None

    Command to shut down the system OctoPrint is running on.

    @@ -2609,16 +2604,16 @@
    -class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: Optional[SameSiteEnum] = SameSiteEnum.lax)
    +class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: SameSiteEnum | None = SameSiteEnum.lax)
    -samesite: Optional[SameSiteEnum]
    +samesite: SameSiteEnum | None

    //www.chromestatus.com/feature/5088147346030592), [“Feature: Reject insecure SameSite=None cookies”](https://www.chromestatus.com/feature/5633521622188032) and [issue #3482](https://github.com/OctoPrint/OctoPrint/issues/3482).

    -
    Type
    +
    Type:

    SameSite setting to use on the cookies. Possible values are None, Lax and Strict. Defaults to Lax. Be advised that if forced unset, this has security implications as many browsers now default to Lax unless you configure cookies to be set with Secure flag set, explicitly set SameSite setting here and also serve OctoPrint over https. The Lax setting is known to cause with embedding OctoPrint in frames. See also [“Feature

    -
    Type
    +
    Type:

    Cookies default to SameSite=Lax”](https

    @@ -2626,7 +2621,7 @@
    -secure: bool
    +secure: bool

    Whether to set the Secure flag to true on cookies. Only set to true if you are running OctoPrint behind a reverse proxy taking care of SSL termination.

    @@ -2634,16 +2629,16 @@
    -class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
    +class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
    -critical: int
    +critical: int

    Threshold (bytes) after which to consider disk space becoming critical, defaults to 200MB.

    -warning: int
    +warning: int

    Threshold (bytes) after which to consider disk space becoming sparse, defaults to 500MB.

    @@ -2651,16 +2646,16 @@
    -class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
    +class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
    -enabled: bool
    +enabled: bool

    Whether to enable the check.

    -trustedSubnets: List[str]
    +trustedSubnets: List[str]

    Additional non-local subnets to consider trusted, in CIDR notation, e.g. 192.168.1.0/24.

    @@ -2668,34 +2663,34 @@
    -class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: Optional[bool] = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
    +class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: bool | None = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
    -enabled: Optional[bool]
    +enabled: bool | None

    Whether the online check is enabled. Ships unset, the user will be asked to make a decision as part of the setup wizard.

    -host: str
    +host: str

    DNS host against which to check, defaults to Cloudflare’s DNS.

    -interval: int
    +interval: int

    Interval in which to check for online connectivity (in seconds), defaults to 15 minutes.

    -name: str
    +name: str

    Host name for which to check name resolution, defaults to OctoPrint’s main domain.

    -port: int
    +port: int

    DNS port against which to check, defaults to the standard DNS port.

    @@ -2703,19 +2698,19 @@
    -class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: Optional[bool] = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
    +class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: bool | None = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
    -enabled: Optional[bool]
    +enabled: bool | None

    Whether use of the blacklist is enabled. If unset, the user will be asked to make a decision as part of the setup wizard.

    -timeout: float
    +timeout: float

    3.05 seconds).

    -
    Type
    +
    Type:

    Timeout for fetching the blacklist, in seconds (default

    @@ -2723,10 +2718,10 @@
    -ttl: int
    +ttl: int

    15 minutes).

    -
    Type
    +
    Type:

    Time to live of the cached blacklist, in seconds (default

    @@ -2734,7 +2729,7 @@
    -url: str
    +url: str

    The URL from which to fetch the blacklist.

    @@ -2742,16 +2737,16 @@
    -class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
    +class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
    -exceptions: List[str]
    +exceptions: List[str]

    Which server paths to exclude from the preemptive cache, e.g. /some/path.

    -until: int
    +until: int

    How many days to leave unused entries in the preemptive cache config.

    @@ -2759,66 +2754,66 @@
    -class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: Optional[str] = None, schemeHeader: Optional[str] = None, hostHeader: Optional[str] = None, serverHeader: Optional[str] = None, portHeader: Optional[str] = None, prefixFallback: Optional[str] = None, schemeFallback: Optional[str] = None, hostFallback: Optional[str] = None, serverFallback: Optional[str] = None, portFallback: Optional[str] = None, trustedDownstream: List[str] = ['127.0.0.1', '::1'])
    +class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: str | None = None, schemeHeader: str | None = None, hostHeader: str | None = None, serverHeader: str | None = None, portHeader: str | None = None, prefixFallback: str | None = None, schemeFallback: str | None = None, hostFallback: str | None = None, serverFallback: str | None = None, portFallback: str | None = None, trustedDownstream: List[str] = ['127.0.0.1', '::1'])
    -hostFallback: Optional[str]
    +hostFallback: str | None

    Use this option to define an optional forced host under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname than OctoPrint itself but can’t configure said reverse proxy to send a host HTTP header (X-Forwarded-Host by default, see above) with forwarded requests.

    -hostHeader: Optional[str]
    +hostHeader: str | None

    The request header from which to determine the host under which OctoPrint is served by the reverse proxy.

    -portFallback: Optional[str]
    +portFallback: str | None
    -portHeader: Optional[str]
    +portHeader: str | None
    -prefixFallback: Optional[str]
    +prefixFallback: str | None

    Use this option to define an optional URL prefix (with a leading /, so absolute to your server’s root) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy under a different root endpoint than / and can’t configure said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with forwarded requests.

    -prefixHeader: Optional[str]
    +prefixHeader: str | None

    The request header from which to determine the URL prefix under which OctoPrint is served by the reverse proxy.

    -schemeFallback: Optional[str]
    +schemeFallback: str | None

    Use this option to define an optional forced scheme (http or https) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy that also does HTTPS determination but can’t configure said reverse proxy to send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests.

    -schemeHeader: Optional[str]
    +schemeHeader: str | None

    The request header from which to determine the scheme (http or https) under which a specific request to OctoPrint was made to the reverse proxy.

    -serverFallback: Optional[str]
    +serverFallback: str | None
    -serverHeader: Optional[str]
    +serverHeader: str | None
    -trustedDownstream: List[str]
    +trustedDownstream: List[str]

    List of trusted downstream servers for which to ignore the IP address when trying to determine the connecting client’s IP address. A reverse proxy on the same machine as OctoPrint (e.g. as found on OctoPi) will be handled correctly by default, further proxies in front of that you’ll have to add yourself.

    @@ -2826,123 +2821,123 @@
    -class octoprint.schema.config.server.SameSiteEnum(value)
    +class octoprint.schema.config.server.SameSiteEnum(value)

    An enumeration.

    -lax = 'Lax'
    +lax = 'Lax'
    -none = 'None'
    +none = 'None'
    -strict = 'Strict'
    +strict = 'Strict'
    -class octoprint.schema.config.server.ServerConfig(*, host: ~typing.Optional[str] = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: ~typing.Dict[str, str] = {}, secretKey: ~typing.Optional[str] = None, heartbeat: int = 900, reverseProxy: ~octoprint.schema.config.server.ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads: ~octoprint.schema.config.server.UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: ~octoprint.schema.config.server.CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: ~octoprint.schema.config.server.OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: ~octoprint.schema.config.server.PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace: ~octoprint.schema.config.server.DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: ~octoprint.schema.config.server.PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: ~octoprint.schema.config.server.IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: ~octoprint.schema.config.server.CookiesConfig = CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths: ~typing.List[str] = [])
    +class octoprint.schema.config.server.ServerConfig(*, host: str | None = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: ~typing.Dict[str, str] = {}, secretKey: str | None = None, heartbeat: int = 900, reverseProxy: ~octoprint.schema.config.server.ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads: ~octoprint.schema.config.server.UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: ~octoprint.schema.config.server.CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: ~octoprint.schema.config.server.OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: ~octoprint.schema.config.server.PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace: ~octoprint.schema.config.server.DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: ~octoprint.schema.config.server.PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: ~octoprint.schema.config.server.IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: ~octoprint.schema.config.server.CookiesConfig = CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths: ~typing.List[str] = [])
    -allowFraming: bool
    +allowFraming: bool

    Whether to allow OctoPrint to be embedded in a frame or not. Note that depending on your setup you might have to set SameSite to None, Secure to true and serve OctoPrint through a reverse proxy that enables https for cookies and thus logging in to work.

    -allowedLoginRedirectPaths: List[str]
    +allowedLoginRedirectPaths: List[str]

    List of paths that are allowed to be used as redirect targets for the login page, in addition to the default ones (/, /recovery/ and /plugin/appkeys/auth/)

    -commands: CommandsConfig
    +commands: CommandsConfig

    Commands to restart/shutdown octoprint or the system it’s running on.

    -cookies: CookiesConfig
    +cookies: CookiesConfig

    Settings for further configuration of the cookies that OctoPrint sets (login, remember me, …).

    -diskspace: DiskspaceConfig
    +diskspace: DiskspaceConfig

    Settings of when to display what disk space warning.

    -firstRun: bool
    +firstRun: bool

    If this option is true, OctoPrint will show the First Run wizard and set the setting to false after that completes.

    -heartbeat: int
    +heartbeat: int
    -host: Optional[str]
    +host: str | None

    Use this option to define the host to which to bind the server. If unset, OctoPrint will attempt to bind on all available interfaces, IPv4 and v6 unless either is disabled.

    -ignoreIncompleteStartup: bool
    +ignoreIncompleteStartup: bool

    Set this to true to make OctoPrint ignore incomplete startups. Helpful for development.

    -ipCheck: IpCheckConfig
    +ipCheck: IpCheckConfig

    Configuration of the client IP check to warn about connections from external networks.

    -maxSize: int
    +maxSize: int

    Maximum size of requests other than file uploads in bytes, defaults to 100KB.

    -onlineCheck: OnlineCheckConfig
    +onlineCheck: OnlineCheckConfig

    Configuration of the regular online connectivity check.

    -pluginBlacklist: PluginBlacklistConfig
    +pluginBlacklist: PluginBlacklistConfig

    Configuration of the plugin blacklist.

    -port: int
    +port: int

    Use this option to define the port to which to bind the server.

    -preemptiveCache: PreemptiveCacheConfig
    +preemptiveCache: PreemptiveCacheConfig

    Configuration of the preemptive cache.

    -reverseProxy: ReverseProxyConfig
    +reverseProxy: ReverseProxyConfig

    //community.octoprint.org/t/reverse-proxy-configuration-examples/1107). These are necessary in order to make OctoPrint generate correct external URLs so that AJAX requests and download URLs work, and so that client IPs are read correctly.

    -
    Type
    +
    Type:

    Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, …) that doesn’t correctly set the [required headers](https

    @@ -2950,24 +2945,24 @@
    -secretKey: Optional[str]
    +secretKey: str | None

    Secret key for encrypting cookies and such, randomly generated on first run.

    -seenWizards: Dict[str, str]
    +seenWizards: Dict[str, str]
    -startOnceInSafeMode: bool
    +startOnceInSafeMode: bool

    If this option is true, OctoPrint will enable safe mode on the next server start and reset the setting to false

    -uploads: UploadsConfig
    +uploads: UploadsConfig

    Settings for file uploads to OctoPrint, such as maximum allowed file size and header suffixes to use for streaming uploads. OctoPrint does some nifty things internally in order to allow streaming of large file uploads to the application rather than just storing them in memory. For that it needs to do some rewriting of the incoming upload HTTP requests, storing the uploaded file to a temporary location on disk and then sending an internal request to the application containing the original filename and the location of the temporary file.

    @@ -2975,80 +2970,80 @@
    -class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
    +class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
    -maxSize: int
    +maxSize: int

    Maximum size of uploaded files in bytes, defaults to 1GB.

    -nameSuffix: str
    +nameSuffix: str

    Suffix used for storing the filename in the file upload headers when streaming uploads.

    -pathSuffix: str
    +pathSuffix: str

    Suffix used for storing the path to the temporary file in the file upload headers when streaming uploads.

    -
    +
    -class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: Optional[str] = None, defaultProfiles: Dict[str, str] = {})
    +class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: str | None = None, defaultProfiles: Dict[str, str] = {})
    -defaultProfiles: Dict[str, str]
    +defaultProfiles: Dict[str, str]

    Default slicing profiles per slicer, maps slicer identifier to profile identifier.

    -defaultSlicer: Optional[str]
    +defaultSlicer: str | None

    Default slicer to use.

    -enabled: bool
    +enabled: bool

    Whether to enable slicing support or not.

    -
    +
    -class octoprint.schema.config.system.ActionConfig(*, action: str, name: Optional[str] = None, command: Optional[str] = None, confirm: Optional[str] = None, **extra_data: Any)
    +class octoprint.schema.config.system.ActionConfig(*, action: str, name: str | None = None, command: str | None = None, confirm: str | None = None, **extra_data: Any)
    -action: str
    +action: str

    The identifier used internally to identify the action. Set to divider to generate a divider in the menu.

    -async_: bool
    +async_: bool

    Whether to run the command asynchronously.

    -command: Optional[str]
    +command: str | None

    The command to execute when the action is selected. Must be set if the action is not a divider.

    -confirm: Optional[str]
    +confirm: str | None

    An optional confirmation message to show before executing the command.

    -name: Optional[str]
    +name: str | None

    The name of the action that will be shown on the menu. Must be set if the action is not a divider.

    @@ -3056,39 +3051,39 @@
    -class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
    +class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
    -actions: List[ActionConfig]
    +actions: List[ActionConfig]

    A list of system actions to show in the UI.

    -
    +
    -class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
    +class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
    -cutoff: int
    +cutoff: int

    Cut off time for the temperature data, in minutes.

    -profiles: List[TemperatureProfile]
    +profiles: List[TemperatureProfile]

    Temperature profiles to offer in the UI for quick pre-heating.

    -sendAutomatically: bool
    +sendAutomatically: bool

    Whether to send new temperature settings made in the UI automatically.

    -sendAutomaticallyAfter: int
    +sendAutomaticallyAfter: int

    After what time to send the new temperature settings automatically, in seconds.

    @@ -3096,42 +3091,42 @@
    -class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
    +class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
    -bed: int
    +bed: int

    Bed temperature to set with the profile.

    -extruder: int
    +extruder: int

    Hotend temperature to set with the profile.

    -name: str
    +name: str

    Name of the profile.

    -
    +
    -class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
    +class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
    -name: str
    +name: str

    The name of the filter.

    -regex: str
    +regex: str

    //developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions).

    -
    Type
    +
    Type:

    The regular expression to match. Use [JavaScript regular expressions](https

    @@ -3139,30 +3134,30 @@
    -
    +
    -class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
    +class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
    -fps: int
    +fps: int

    The framerate at which to render the movie.

    -options: TimelapseOptions
    +options: TimelapseOptions

    Additional options depending on the timelapse type.

    -postRoll: int
    +postRoll: int

    The number of seconds in the rendered video to add after a finished print. The exact way how the additional images will be recorded depends on timelapse type. zchange timelapses will take one final picture and add it fps * postRoll times. timed timelapses continue to record just like at the beginning, so the recording will continue another fps * postRoll * interval seconds. This behaviour can be overridden by setting the capturePostRoll option to false, in which case the post roll will be created identically to zchange mode.

    -type: TimelapseTypeEnum
    +type: TimelapseTypeEnum

    The timelapse type.

    @@ -3170,13 +3165,13 @@
    -class octoprint.schema.config.webcam.TimelapseOptions(*, interval: Optional[int] = None, capturePostRoll: Optional[bool] = None, retractionZHop: Optional[float] = None)
    +class octoprint.schema.config.webcam.TimelapseOptions(*, interval: int | None = None, capturePostRoll: bool | None = None, retractionZHop: float | None = None)
    -capturePostRoll: Optional[bool]
    +capturePostRoll: bool | None

    Whether to capture the snapshots for the post roll (true) or just copy the last captured snapshot from the print over and over again (false).

    -
    Type
    +
    Type:

    timed timelapses only

    @@ -3184,10 +3179,10 @@
    -interval: Optional[int]
    +interval: int | None

    The interval which to leave between images in seconds.

    -
    Type
    +
    Type:

    timed timelapses only

    @@ -3195,10 +3190,10 @@
    -retractionZHop: Optional[float]
    +retractionZHop: float | None

    z-hop height during retractions to ignore for capturing snapshots.

    -
    Type
    +
    Type:

    zchange timelapses only

    @@ -3208,101 +3203,101 @@
    -class octoprint.schema.config.webcam.TimelapseTypeEnum(value)
    +class octoprint.schema.config.webcam.TimelapseTypeEnum(value)

    An enumeration.

    -off = 'off'
    +off = 'off'
    -timed = 'timed'
    +timed = 'timed'
    -zchange = 'zchange'
    +zchange = 'zchange'
    -class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: ~typing.Optional[str] = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: ~octoprint.schema.config.webcam.TimelapseConfig = TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
    +class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: str | None = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: ~octoprint.schema.config.webcam.TimelapseConfig = TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
    -bitrate: str
    +bitrate: str

    The bitrate to use for rendering the timelapse video. This gets directly passed to ffmpeg.

    -cleanTmpAfterDays: int
    +cleanTmpAfterDays: int

    After how many days unrendered timelapses will be deleted.

    -defaultWebcam: str
    +defaultWebcam: str

    The name of the default webcam

    -ffmpeg: Optional[str]
    +ffmpeg: str | None

    Path to ffmpeg binary to use for creating timelapse recordings. Timelapse support will be disabled if not set.

    -ffmpegCommandline: str
    +ffmpegCommandline: str
    -ffmpegThreads: int
    +ffmpegThreads: int

    Number of how many threads to instruct ffmpeg to use for encoding.

    -ffmpegThumbnailCommandline: str
    +ffmpegThumbnailCommandline: str
    -ffmpegVideoCodec: str
    +ffmpegVideoCodec: str

    Videocodec to be used for encoding.

    -snapshotWebcam: str
    +snapshotWebcam: str

    The name of the default webcam to use for snapshots

    -timelapse: TimelapseConfig
    +timelapse: TimelapseConfig

    The default timelapse settings.

    -timelapseEnabled: bool
    +timelapseEnabled: bool

    Use this option to enable timelapse support via snapshot, e.g. via MJPG-Streamer. Timelapse support will be disabled if not set.

    -watermark: bool
    +watermark: bool

    Whether to include a “created with OctoPrint” watermark in the generated timelapse recordings.

    -webcamEnabled: bool
    +webcamEnabled: bool

    Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer. Webcam support will be disabled if not set.

    @@ -3310,77 +3305,77 @@
    -

    octoprint.schema.webcam

    +

    octoprint.schema.webcam

    -class octoprint.schema.webcam.RatioEnum(value)
    +class octoprint.schema.webcam.RatioEnum(value)

    An enumeration.

    -four_three = '4:3'
    +four_three = '4:3'
    -sixteen_nine = '16:9'
    +sixteen_nine = '16:9'
    -class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: Optional[WebcamCompatibility] = None)
    +class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: WebcamCompatibility | None = None)
    -canSnapshot: bool
    +canSnapshot: bool

    Whether this webcam can take a snapshot.

    -compat: Optional[WebcamCompatibility]
    +compat: WebcamCompatibility | None

    A compatibility configuration to allow older clients to make use of this webcam

    -displayName: str
    +displayName: str

    Displayable name for this webcam

    -extras: dict
    +extras: dict

    Unstructured data describing this webcam

    -flipH: bool
    +flipH: bool

    Whether to flip the webcam horizontally.

    -flipV: bool
    +flipV: bool

    Whether to flip the webcam vertically.

    -name: str
    +name: str

    Identifier of this webcam

    -rotate90: bool
    +rotate90: bool

    Whether to rotate the webcam 90° counter clockwise.

    -snapshotDisplay: str
    +snapshotDisplay: str

    Human readable information about how a snapshot is captured or a HTTP URL from which the snapshot is loaded (optional, only for user reference)

    @@ -3388,52 +3383,52 @@
    -class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
    +class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
    -cacheBuster: bool
    +cacheBuster: bool

    Whether the URL should be randomized to bust caches

    -snapshot: str
    +snapshot: str

    The URL to get the snapshot from

    -snapshotSslValidation: bool
    +snapshotSslValidation: bool

    Whether to validate SSL certificates when retrieving a snapshot

    -snapshotTimeout: int
    +snapshotTimeout: int

    The timeout when retrieving snapshots

    -stream: str
    +stream: str

    The URL to get an MJPEG stream from

    -streamRatio: RatioEnum
    +streamRatio: RatioEnum

    The stream’s native aspect ratio

    -streamTimeout: int
    +streamTimeout: int

    The timeout of the stream in seconds

    -streamWebrtcIceServers: List[str]
    +streamWebrtcIceServers: List[str]

    The WebRTC STUN and TURN servers

    diff --git a/1.10.3/modules/server.html b/1.10.3/modules/server.html index 83b9fe44c..d2de6938e 100644 --- a/1.10.3/modules/server.html +++ b/1.10.3/modules/server.html @@ -1,26 +1,26 @@ - + - + octoprint.server — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -117,7 +117,6 @@
  • OctoPrintFlaskResponse
  • @@ -324,58 +323,58 @@
    -

    octoprint.server

    +

    octoprint.server

    -exception octoprint.server.CannotStartServerException
    +exception octoprint.server.CannotStartServerException
    -class octoprint.server.OctoPrintAnonymousIdentity
    +class octoprint.server.OctoPrintAnonymousIdentity
    -

    octoprint.server.util

    +

    octoprint.server.util

    -exception octoprint.server.util.InvalidApiKeyException
    +exception octoprint.server.util.InvalidApiKeyException
    -octoprint.server.util.corsRequestHandler()
    +octoprint.server.util.corsRequestHandler()

    before_request handler for blueprints which sets CORS headers for OPTIONS requests if enabled

    -octoprint.server.util.corsResponseHandler(resp)
    +octoprint.server.util.corsResponseHandler(resp)

    after_request handler for blueprints for which CORS is supported.

    Sets Access-Control-Allow-Origin headers for Origin request header on response.

    -octoprint.server.util.csrfRequestHandler()
    +octoprint.server.util.csrfRequestHandler()

    before_request handler for blueprints which checks for CRFS double token on relevant requests & methods.

    -octoprint.server.util.csrfResponseHandler(resp)
    +octoprint.server.util.csrfResponseHandler(resp)

    after_request handler for updating the CSRF cookie on each response.

    -octoprint.server.util.has_permissions(*permissions)
    +octoprint.server.util.has_permissions(*permissions)

    Determines if the current user (either from the session, api key or authorization header) has all of the requested permissions.

    -
    Parameters
    +
    Parameters:

    *permissions – list of all permissions required to pass the check

    @@ -384,7 +383,7 @@
    -octoprint.server.util.loginFromApiKeyRequestHandler()
    +octoprint.server.util.loginFromApiKeyRequestHandler()

    before_request handler for blueprints which creates a login session for the provided api key (if available)

    App session keys are handled as anonymous keys here and ignored.

    TODO 1.11.0: Do we still need this with load_user_from_request in place?

    @@ -392,14 +391,14 @@
    -octoprint.server.util.loginFromAuthorizationHeaderRequestHandler()
    +octoprint.server.util.loginFromAuthorizationHeaderRequestHandler()

    before_request handler for creating login sessions based on the Authorization header.

    TODO 1.11.0: Do we still need this with load_user_from_request in place?

    -octoprint.server.util.noCachingExceptGetResponseHandler(resp)
    +octoprint.server.util.noCachingExceptGetResponseHandler(resp)

    after_request handler for blueprints which shall set no caching headers on their responses to any requests that are not sent with method GET.

    See noCachingResponseHandler().

    @@ -407,7 +406,7 @@
    -octoprint.server.util.noCachingResponseHandler(resp)
    +octoprint.server.util.noCachingResponseHandler(resp)

    after_request handler for blueprints which shall set no caching headers on their responses.

    Sets Cache-Control, Pragma and Expires headers accordingly @@ -416,16 +415,16 @@

    -octoprint.server.util.optionsAllowOrigin(request)
    +octoprint.server.util.optionsAllowOrigin(request)

    Shortcut for request handling for CORS OPTIONS requests to set CORS headers.

    -octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)
    +octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)

    Requires a login with fresh credentials.

    -
    Parameters
    +
    Parameters:
    • permissions – list of all permissions required to pass the check

    • user_id – required user to pass the check

    • @@ -437,11 +436,11 @@
      -octoprint.server.util.require_login(*permissions)
      +octoprint.server.util.require_login(*permissions)

      Returns a redirect response to the login view if the permission requirements are not met.

      -
      Parameters
      +
      Parameters:

      *permissions – a list of permissions required to pass the check

      @@ -450,10 +449,10 @@
      -octoprint.server.util.require_login_with(permissions=None, user_id=None)
      +octoprint.server.util.require_login_with(permissions=None, user_id=None)

      Requires a login with the given permissions and/or user id.

      -
      Parameters
      +
      Parameters:
      • permissions – list of all permissions required to pass the check

      • user_id – required user to pass the check

      • @@ -465,22 +464,22 @@
        -octoprint.server.util.validate_local_redirect(url, allowed_paths)
        +octoprint.server.util.validate_local_redirect(url, allowed_paths)

        Validates the given local redirect URL against the given allowed paths.

        An url is valid for a local redirect if it has neither scheme nor netloc defined, and its path is one of the given allowed paths.

        -
        Parameters
        +
        Parameters:
        • url (str) – URL to validate

        • allowed_paths (List[str]) – List of allowed paths, only paths contained or prefixed (if allowed path ends with “*”) will be considered valid.

        -
        Returns
        +
        Returns:

        Whether the url passed validation or not.

        -
        Return type
        +
        Return type:

        bool

        @@ -488,19 +487,19 @@
    -

    octoprint.server.util.flask

    +

    octoprint.server.util.flask

    -class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)
    +class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)

    Slightly improved version of SimpleCache.

    Setting default_timeout or timeout to -1 will have no timeout be applied at all.

    -add(key, value, timeout=None)
    +add(key, value, timeout=None)

    Works like set() but does not overwrite the values of already existing keys.

    -
    Parameters
    +
    Parameters:
    • key – the key to set

    • value – the value for the key

    • @@ -509,11 +508,11 @@ 0 indicates that the cache never expires.

    -
    Returns
    +
    Returns:

    Same as set(), but also False for already existing keys.

    -
    Return type
    +
    Return type:

    boolean

    @@ -521,16 +520,16 @@
    -delete(key)
    +delete(key)

    Delete key from the cache.

    -
    Parameters
    +
    Parameters:

    key – the key to delete.

    -
    Returns
    +
    Returns:

    Whether the key existed and has been deleted.

    -
    Return type
    +
    Return type:

    boolean

    @@ -538,13 +537,13 @@
    -get(key)
    +get(key)

    Look up key in the cache and return the value for it.

    -
    Parameters
    +
    Parameters:

    key – the key to be looked up.

    -
    Returns
    +
    Returns:

    The value if it exists and is readable, else None.

    @@ -552,11 +551,11 @@
    -set(key, value, timeout=None)
    +set(key, value, timeout=None)

    Add a new key/value to the cache (overwrites value, if key already exists in the cache).

    -
    Parameters
    +
    Parameters:
    • key – the key to set

    • value – the value for the key

    • @@ -565,12 +564,12 @@ 0 indicates that the cache never expires.

    -
    Returns
    +
    Returns:

    True if key has been updated, False for backend errors. Pickling errors, however, will raise a subclass of pickle.PickleError.

    -
    Return type
    +
    Return type:

    boolean

    @@ -580,23 +579,23 @@
    -class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
    +class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
    -property cookies
    +property cookies

    A dict with the contents of all cookies transmitted with the request.

    -property server_name
    +property server_name

    Short cut to the request’s server name header

    -property server_port
    +property server_port

    Short cut to the request’s server port header

    @@ -604,13 +603,13 @@
    -class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Optional[Union[Iterable[bytes], bytes, Iterable[str], str]] = None, status: Optional[Union[int, str, HTTPStatus]] = None, headers: Optional[Union[Mapping[str, Union[str, int, Iterable[Union[str, int]]]], Iterable[Tuple[str, Union[str, int]]]]] = None, mimetype: Optional[str] = None, content_type: Optional[str] = None, direct_passthrough: bool = False)
    +class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Iterable[bytes] | bytes | Iterable[str] | str | None = None, status: int | str | HTTPStatus | None = None, headers: Mapping[str, str | int | Iterable[str | int]] | Iterable[Tuple[str, str | int]] | None = None, mimetype: str | None = None, content_type: str | None = None, direct_passthrough: bool = False)
    +delete_cookie(key, path='/', domain=None)

    Delete a cookie. Fails silently if key doesn’t exist.

    -
    Parameters
    +
    Parameters:
    • key – the key (name) of the cookie to be deleted.

    • path – if the cookie that should be deleted was limited to a @@ -627,25 +626,14 @@

    -
    -
    -response: Union[Iterable[str], Iterable[bytes]]
    -

    The response body to send as the WSGI iterable. A list of strings -or bytes represents a fixed-length response, any other iterable -is a streaming response. Strings are encoded to bytes as UTF-8.

    -

    Do not set to a plain string or bytes, that will cause sending -the response to be very inefficient as it will iterate one byte -at a time.

    -
    -
    +set_cookie(key, value='', *args, **kwargs)

    Sets a cookie.

    A warning is raised if the size of the cookie header exceeds max_cookie_size, but the header will still be set.

    -
    Parameters
    +
    Parameters:
    • key – the key (name) of the cookie to be set.

    • value – the value of the cookie.

    • @@ -674,21 +662,21 @@
      -class octoprint.server.util.flask.OctoPrintJsonProvider(app: Flask)
      +class octoprint.server.util.flask.OctoPrintJsonProvider(app: Flask)
      -static default(object_)
      +static default(object_)
      -dumps(obj: Any, **kwargs: Any) str
      +dumps(obj: Any, **kwargs: Any) str

      Serialize data as JSON to a string.

      Keyword arguments are passed to json.dumps(). Sets some parameter defaults from the default, ensure_ascii, and sort_keys attributes.

      -
      Parameters
      +
      Parameters:
      • obj – The data to serialize.

      • kwargs – Passed to json.dumps().

      • @@ -701,10 +689,10 @@
        -class octoprint.server.util.flask.OctoPrintSessionInterface
        +class octoprint.server.util.flask.OctoPrintSessionInterface
        -save_session(app, session, response)
        +save_session(app, session, response)

        This is called at the end of each request, after generating a response, before removing the request context. It is skipped if is_null_session() returns True.

        @@ -712,7 +700,7 @@
        +should_set_cookie(app, session)

        Used by session backends to determine if a Set-Cookie header should be set for this session cookie for this response. If the session has been modified, the cookie is set. If the session is permanent and @@ -720,7 +708,7 @@ always set.

        This check is usually skipped if the session was deleted.

        -

        New in version 0.11.

        +

        Added in version 0.11.

        @@ -728,10 +716,10 @@
        -class octoprint.server.util.flask.PluginAssetResolver
        +class octoprint.server.util.flask.PluginAssetResolver
        -resolve_output_to_path(ctx, target, bundle)
        +resolve_output_to_path(ctx, target, bundle)

        Given target, this has to return the absolute filesystem path to which the output file of bundle should be written.

        @@ -743,7 +731,7 @@
        -split_prefix(ctx, item)
        +split_prefix(ctx, item)

        See if item has blueprint prefix, return (directory, rel_path).

        @@ -751,10 +739,10 @@
        -class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
        +class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
        -join_path(template, parent)
        +join_path(template, parent)

        Join a template with the parent. By default all the lookups are relative to the loader root so this method returns the template parameter unchanged, but if the paths should be relative to the @@ -768,16 +756,16 @@

        -class octoprint.server.util.flask.SettingsCheckUpdater
        +class octoprint.server.util.flask.SettingsCheckUpdater
        -build_done(bundle, ctx)
        +build_done(bundle, ctx)

        This will be called once a bundle has been successfully built.

        -needs_rebuild(bundle, ctx)
        +needs_rebuild(bundle, ctx)

        Returns True if the given bundle needs to be rebuilt, False otherwise.

        @@ -786,23 +774,23 @@
        -octoprint.server.util.flask.check_lastmodified(lastmodified: Union[int, float, datetime]) bool
        +octoprint.server.util.flask.check_lastmodified(lastmodified: int | float | datetime) bool

        Compares the provided lastmodified value with the value of the If-Modified-Since header.

        If lastmodified is an int or float, it’s assumed to be a Unix timestamp and converted to a timezone aware datetime instance in UTC.

        If lastmodified is a datetime instance, it needs to be timezone aware or the result will always be False.

        -
        Parameters
        +
        Parameters:

        lastmodified (Union[int, float, datetime]) – The last modified value to compare against

        -
        Raises
        +
        Raises:

        ValueError – If anything but an int, float or datetime instance is passed

        -
        Returns
        +
        Returns:

        true if the values indicate that the document is still up to date

        -
        Return type
        +
        Return type:

        bool

        @@ -810,7 +798,7 @@
        -octoprint.server.util.flask.firstrun_only_access(func)
        +octoprint.server.util.flask.firstrun_only_access(func)

        If you decorate a view with this, it will ensure that first setup has _not_ been done for OctoPrint’s Access Control. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

        @@ -818,7 +806,7 @@
        +octoprint.server.util.flask.get_cookie_suffix(request)

        Request specific suffix for set and read cookies

        We need this because cookies are not port-specific and we don’t want to overwrite our session and other cookies from one OctoPrint instance on our machine with those of another @@ -827,14 +815,14 @@

        -octoprint.server.util.flask.get_flask_user_from_request(request)
        +octoprint.server.util.flask.get_flask_user_from_request(request)

        Retrieves the current flask user from the request context. Uses API key if available, otherwise the current user session if available.

        -
        Parameters
        +
        Parameters:

        request – flask request from which to retrieve the current user

        -
        Returns
        +
        Returns:

        the user (might be an anonymous user)

        @@ -842,12 +830,12 @@
        -octoprint.server.util.flask.make_api_error(message, status)
        +octoprint.server.util.flask.make_api_error(message, status)

        Helper to generate API error responses in JSON format.

        Turns something like make_api_error("Not Found", 404) into a JSON response with body {"error": "Not Found"}.

        -
        Parameters
        +
        Parameters:
        • message – The error message to put into the response

        • status – The HTTP status code

        • @@ -859,12 +847,12 @@
          -octoprint.server.util.flask.make_text_response(message, status)
          +octoprint.server.util.flask.make_text_response(message, status)

          Helper to generate basic text responses.

          Response will have the provided message as body, the provided status code, and a content type of “text/plain”.

          -
          Parameters
          +
          Parameters:
          • message – The message in the response body

          • status – The HTTP status code

          • @@ -876,7 +864,7 @@
            -octoprint.server.util.flask.no_firstrun_access(func)
            +octoprint.server.util.flask.no_firstrun_access(func)

            If you decorate a view with this, it will ensure that first setup has been done for OctoPrint’s Access Control.

            If OctoPrint’s Access Control has not been setup yet (indicated by the userManager @@ -886,12 +874,12 @@

            -octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)
            +octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)

            Validates that the given request is made by an authorized user, identified either by API key or existing Flask session, and that the credentials have been checked recently if it’s a Flask session.

            Must be executed in an existing Flask request context!

            -
            Parameters
            +
            Parameters:
            • request – The Flask request object

            • request – The required permission

            • @@ -902,12 +890,12 @@
              -octoprint.server.util.flask.permission_validator(request, permission)
              +octoprint.server.util.flask.permission_validator(request, permission)

              Validates that the given request is made by an authorized user, identified either by API key or existing Flask session.

              Must be executed in an existing Flask request context!

              -
              Parameters
              +
              Parameters:
              • request – The Flask request object

              • request – The required permission

              • @@ -918,17 +906,17 @@
                -octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)
                +octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)

                Redirects from flask to tornado, flask request context must exist.

                -
                Parameters
                +
                Parameters:
                  -
                • request

                • -
                • target

                • -
                • code

                • +
                • request

                • +
                • target

                • +
                • code

                -
                Returns
                +
                Returns:

                @@ -936,7 +924,7 @@
                -octoprint.server.util.flask.require_credentials_checked_recently(func)
                +octoprint.server.util.flask.require_credentials_checked_recently(func)

                If you decorate a view with this, it will ensure that only users who entered their password recently in this login session are allowed to proceed. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                @@ -944,19 +932,19 @@
                -octoprint.server.util.flask.restricted_access(func)
                +octoprint.server.util.flask.restricted_access(func)

                This combines no_firstrun_access() and login_required.

    -

    octoprint.server.util.sockjs

    +

    octoprint.server.util.sockjs

    -class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
    +class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
    -remove_handler(handler)
    +remove_handler(handler)

    Detach active handler from the session

    handler

    Handler to remove

    @@ -966,7 +954,7 @@
    -set_handler(handler, start_heartbeat=True)
    +set_handler(handler, start_heartbeat=True)

    Set active handler for the session

    handler

    Associate active Tornado handler with the session

    @@ -980,15 +968,15 @@
    -

    octoprint.server.util.tornado

    +

    octoprint.server.util.tornado

    -class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)

    tornado.web.RequestHandler mixin that makes sure to set CORS headers similarly to the Flask backed API endpoints.

    -set_default_headers()
    +set_default_headers()

    Override this to set HTTP headers at the beginning of the request.

    For example, this is the place to set a custom Server header. Note that setting such headers in the normal flow of request @@ -1000,14 +988,14 @@

    -class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)
    +class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)

    A custom implementation of tornado.http1connection.HTTP1Connection which upon checking the Content-Length of the request against the configured maximum utilizes max_body_sizes and default_max_body_size as a fallback.

    -class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)
    +class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)

    An implementation of tornado.http1connection.HTTP1ConnectionParameters that adds two new parameters max_body_sizes and default_max_body_size.

    For a description of these please see the documentation of CustomHTTPServer above.

    @@ -1015,7 +1003,7 @@
    -class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: Optional[HTTP1ConnectionParameters] = None, context: Optional[object] = None)
    +class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: HTTP1ConnectionParameters | None = None, context: object | None = None)

    A custom implementation of tornado.http1connection.HTTP1ServerConnection which utilizes a CustomHTTP1Connection instead of a tornado.http1connection.HTTP1Connection in _server_request_loop. The implementation logic is otherwise the same as tornado.http1connection.HTTP1ServerConnection.

    @@ -1023,7 +1011,7 @@
    -class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)
    +class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)

    Custom implementation of tornado.httpserver.HTTPServer that allows defining max body sizes depending on path and method.

    The implementation is mostly taken from tornado.httpserver.HTTPServer, the only difference is the creation @@ -1036,7 +1024,7 @@

    default_max_body_size is the default maximum body size to apply if no specific one from max_body_sizes matches.

    -handle_stream(stream, address)
    +handle_stream(stream, address)

    Override to handle a new .IOStream from an incoming connection.

    This method may be a coroutine; if so any exceptions it raises asynchronously will be logged. Accepting of incoming connections @@ -1052,44 +1040,44 @@

    -initialize(*args, **kwargs)
    +initialize(*args, **kwargs)
    -class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    tornado.web.RequestHandler that redirects to another url and logs a deprecation warning.

    -
    Parameters
    +
    Parameters:

    url (str) – URL to which to redirect

    -initialize(url)
    +initialize(url)
    -class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    -initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
    +initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
    -class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    A RequestHandler that generates data from a generator function and returns it to the client.

    -
    Parameters
    +
    Parameters:
    • generator (function) – A generator function that returns the data to be written to the client. The function will be called without any parameters.

    • @@ -1105,24 +1093,24 @@
    -initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
    +initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
    -class octoprint.server.util.tornado.GlobalHeaderTransform(request)
    +class octoprint.server.util.tornado.GlobalHeaderTransform(request)
    -class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    Customized tornado.web.StaticFileHandler that allows delivery of the requested resource as attachment and access and request path validation through optional callbacks. Note that access validation takes place before path validation.

    -
    Parameters
    +
    Parameters:
    • path (str) – The system path from which to serve files (this will be forwarded to the initialize method of :class:~tornado.web.StaticFileHandler)

    • @@ -1156,7 +1144,7 @@
    -compute_etag()
    +compute_etag()

    Computes the etag header to be used for this request.

    By default uses a hash of the content written so far.

    May be overridden to provide custom etag implementations, @@ -1165,44 +1153,44 @@

    -get_content_type()
    +get_content_type()

    Returns the Content-Type header to be used for this request.

    -

    New in version 3.1.

    +

    Added in version 3.1.

    -classmethod get_content_version(abspath)
    +classmethod get_content_version(abspath)

    Returns a version string for the resource at the given path.

    This class method may be overridden by subclasses. The default implementation is a SHA-512 hash of the file’s contents.

    -

    New in version 3.1.

    +

    Added in version 3.1.

    -initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
    +initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
    -property original_absolute_path
    +property original_absolute_path

    The path of the uncompressed file corresponding to the compressed file

    -set_extra_headers(path)
    +set_extra_headers(path)

    For subclass to add extra headers to the response

    -streamed_get(path, include_body=True)
    +streamed_get(path, include_body=True)

    Version of StaticFileHandler.get that doesn’t support ranges or ETag but streams the content. Helpful for files that might still change while being transmitted (e.g. log files)

    @@ -1211,17 +1199,17 @@
    -class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
    -log_exception(typ, value, tb, *args, **kwargs)
    +log_exception(typ, value, tb, *args, **kwargs)

    Override to customize logging of uncaught exceptions.

    By default logs instances of HTTPError as warnings without stack traces (on the tornado.general logger), and all other exceptions as errors with stack traces (on the tornado.application logger).

    -

    New in version 3.1.

    +

    Added in version 3.1.

    @@ -1229,11 +1217,11 @@
    -class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    tornado.web.RequestHandler that returns static data of a configured content_type.

    -
    Parameters
    +
    Parameters:
    • data (str) – The data with which to respond

    • content_type (str) – The content type with which to respond. Defaults to text/plain

    • @@ -1242,34 +1230,34 @@
    -initialize(data='', content_type='text/plain')
    +initialize(data='', content_type='text/plain')
    -class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    -initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
    +initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
    -class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    -initialize(access_validation=None)
    +initialize(access_validation=None)
    -class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    A RequestHandler similar to tornado.web.FallbackHandler which fetches any files contained in the request bodies of content type multipart, stores them in temporary files and supplies the fallback with the file’s name, content_type, path and size instead via a rewritten body.

    @@ -1327,18 +1315,18 @@ where necessary.

    -BODY_METHODS = ('POST', 'PATCH', 'PUT')
    +BODY_METHODS = ('POST', 'PATCH', 'PUT')

    The request methods that may contain a request body.

    -data_received(chunk)
    +data_received(chunk)

    Called by Tornado on receiving a chunk of the request body. If request is a multipart request, takes care of processing the multipart data structure via _process_multipart_data(). If not, just adds the chunk to internal in-memory buffer.

    -
    Parameters
    +
    Parameters:

    chunk – chunk of data received from Tornado

    @@ -1346,39 +1334,39 @@
    -async delete(*args, **kwargs)
    +async delete(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    -async get(*args, **kwargs)
    +async get(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    -async head(*args, **kwargs)
    +async head(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    -initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
    +initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
    -is_multipart()
    +is_multipart()

    Checks whether this request is a multipart request

    -on_finish()
    +on_finish()

    Called after the end of a request.

    Override this method to perform cleanup, logging, etc. This method is a counterpart to prepare. on_finish may @@ -1388,28 +1376,28 @@

    -async options(*args, **kwargs)
    +async options(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    -async patch(*args, **kwargs)
    +async patch(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    -async post(*args, **kwargs)
    +async post(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    -prepare()
    +prepare()

    Prepares the processing of the request. If it’s a request that may contain a request body (as defined in UploadStorageFallbackHandler.BODY_METHODS) prepares the multipart parsing if content type fits. If it’s a body-less request, just calls the fallback with an empty body and finishes the request.

    @@ -1417,7 +1405,7 @@
    -async put(*args, **kwargs)
    +async put(*args, **kwargs)

    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

    @@ -1426,7 +1414,7 @@
    -class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    tornado.web.RequestHandler that proxies requests to a preconfigured url and returns the response. Allows delivery of the requested content as attachment and access validation through an optional callback.

    @@ -1443,7 +1431,7 @@
    -
    Parameters
    +
    Parameters:
    • url (str) – URL to forward any requests to. A 404 response will be returned if this is not set. Defaults to None.

    • as_attachment (bool) – Whether to serve files with Content-Disposition: attachment header (True) @@ -1458,17 +1446,17 @@

    -initialize(url=None, as_attachment=False, basename=None, access_validation=None)
    +initialize(url=None, as_attachment=False, basename=None, access_validation=None)
    -class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
    +class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

    GeneratingDataHandler that returns a snapshot from the configured webcam.

    -
    Parameters
    +
    Parameters:
    • as_attachment (bool | str) – Whether to serve files with Content-Disposition: attachment header (True) or not. Defaults to False. If a string is given it will be used as the filename of the attachment.

    • @@ -1481,14 +1469,14 @@
    -initialize(as_attachment=False, access_validation=None)
    +initialize(as_attachment=False, access_validation=None)
    -class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)
    +class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)

    A WSGI container for use with Tornado that allows supplying the request body to be used for wsgi.input in the generated WSGI environment upon call.

    A RequestHandler can thus provide the WSGI application with a stream for the request body, or a modified body.

    @@ -1505,12 +1493,12 @@ removed_headers arguments. forced_headers will be added to the response, removed_headers will be removed.

    -static environ(request, body=None)
    +static environ(request, body=None)

    Converts a tornado.httputil.HTTPServerRequest to a WSGI environment.

    An optional body to be used for populating wsgi.input can be supplied (either a string or a stream). If not supplied, request.body will be wrapped into a io.BytesIO stream and used instead.

    -
    Parameters
    +
    Parameters:
    • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

    • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

    • @@ -1521,10 +1509,10 @@
      -async handle_request(request, body=None, future=None)
      +async handle_request(request, body=None, future=None)

      Wraps the call against the WSGI app, deriving the WSGI environment from the supplied Tornado HTTPServerRequest.

      -
      Parameters
      +
      Parameters:
      • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

      • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

      • @@ -1538,13 +1526,13 @@
        -octoprint.server.util.tornado.access_validation_factory(app, validator, *args)
        +octoprint.server.util.tornado.access_validation_factory(app, validator, *args)

        Creates an access validation wrapper using the supplied validator.

        -
        Parameters
        +
        Parameters:

        validator – the access validator to use inside the validation wrapper

        -
        Returns
        +
        Returns:

        an access validator taking a request as parameter and performing the request validation

        @@ -1552,21 +1540,21 @@
        -octoprint.server.util.tornado.enable_per_message_deflate_extension()
        +octoprint.server.util.tornado.enable_per_message_deflate_extension()

        This configures tornado.websocket.WebSocketHandler.get_compression_options to support the permessage-deflate extension to the websocket protocol, minimizing data bandwidth if clients support the extension as well

        -octoprint.server.util.tornado.fix_json_encode()
        +octoprint.server.util.tornado.fix_json_encode()

        This makes tornado.escape.json_encode use octoprint.util.JsonEncoding.encode as fallback in order to allow serialization of globally registered types like frozendict and others.

        -octoprint.server.util.tornado.fix_tornado_xheader_handling()
        +octoprint.server.util.tornado.fix_tornado_xheader_handling()

        This fixes tornado.httpserver._HTTPRequestContext._apply_xheaders to only use “X-Forwarded-For” header for rewriting the remote_ip field, utilizing the set of trusted downstreams, instead of blindly trusting X-Real-Ip, and to also fetch the scheme from “X-Forwarded-Proto” if available.

        @@ -1574,21 +1562,21 @@
        -octoprint.server.util.tornado.fix_websocket_check_origin()
        +octoprint.server.util.tornado.fix_websocket_check_origin()

        This fixes tornado.websocket.WebSocketHandler.check_origin to do the same origin check against the Host header case-insensitively, as defined in RFC6454, Section 4, item 5.

        -octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)
        +octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)

        Creates a request path validation wrapper returning the defined status code if the supplied path_filter returns False.

        -
        Parameters
        +
        Parameters:

        path_filter – the path filter to use on the requested path, should return False for requests that should be responded with the provided error code.

        -
        Returns
        +
        Returns:

        a request path validator taking a request path as parameter and performing the request validation

        diff --git a/1.10.3/modules/settings.html b/1.10.3/modules/settings.html index 9a0410cdc..a4041babd 100644 --- a/1.10.3/modules/settings.html +++ b/1.10.3/modules/settings.html @@ -1,26 +1,26 @@ - + - + octoprint.settings — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -197,30 +197,30 @@
        -

        octoprint.settings

        +

        octoprint.settings

        This module represents OctoPrint’s settings management. Within this module the default settings for the core application are defined and the instance of the Settings is held, which offers getter and setter methods for the raw configuration values as well as various convenience methods to access the paths to base folders of various types and the configuration file itself.

        -octoprint.settings.default_settings = dict(...)
        +octoprint.settings.default_settings = dict(...)

        The default settings of the core application.

        -octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>
        +octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>

        Values that are considered to be equivalent to the boolean True value, used for type conversion in various places.

        -octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)
        +octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)

        Factory method for initially constructing and consecutively retrieving the Settings singleton.

        -
        Parameters
        +
        Parameters:
        • init (boolean) – A flag indicating whether this is the initial call to construct the singleton (True) or not (False, default). If this is set to True and the plugin manager has already been initialized, a ValueError @@ -234,13 +234,13 @@

        • overlays (list) – List of paths to config overlays to put between default settings and config.yaml

        -
        Returns
        +
        Returns:

        The fully initialized Settings instance.

        -
        Return type
        +
        Return type:

        Settings

        -
        Raises
        +
        Raises:

        ValueErrorinit is True but settings are already initialized or vice versa.

        @@ -248,7 +248,7 @@
        -class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)
        +class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)

        The Settings class allows managing all of OctoPrint’s settings. It takes care of initializing the settings directory, loading the configuration from config.yaml, persisting changes to disk etc and provides access methods for getting and setting specific values from the overall settings structure via paths.

        @@ -271,10 +271,6 @@

        the following paths could be used:

        ---- @@ -313,32 +309,32 @@

        However, these would be invalid paths: ["key"], ["serial", "port", "value"], ["server", "host", 3].

        -OVERLAY_KEY = '__overlay__'
        +OVERLAY_KEY = '__overlay__'
        -add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
        +add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
        -add_path_update_callback(path, callback)
        +add_path_update_callback(path, callback)
        -backup(suffix=None, path=None, ext=None, hidden=False)
        +backup(suffix=None, path=None, ext=None, hidden=False)
        -checkBaseFolder(type)
        +checkBaseFolder(type)
        -property config
        +property config

        A view of the local config as stored in config.yaml

        Does not support modifications, they will be thrown away silently. If you need to modify anything in the settings, utilize the provided set and remove methods.

        @@ -346,164 +342,164 @@
        -property config_hash
        +property config_hash
        -property config_yaml
        +property config_yaml
        -deleteApiKey()
        +deleteApiKey()
        -property effective
        +property effective
        -property effective_hash
        +property effective_hash
        -property effective_yaml
        +property effective_yaml
        -generateApiKey()
        +generateApiKey()
        -get(path, **kwargs)
        +get(path, **kwargs)
        -getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
        +getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
        -getBoolean(path, **kwargs)
        +getBoolean(path, **kwargs)
        -getFloat(path, **kwargs)
        +getFloat(path, **kwargs)
        -getInt(path, **kwargs)
        +getInt(path, **kwargs)
        -has(path, **kwargs)
        +has(path, **kwargs)
        -property last_modified
        +property last_modified

        Returns: (int) The last modification time of the configuration file.

        -property last_modified_or_made_dirty
        +property last_modified_or_made_dirty
        -listScripts(script_type)
        +listScripts(script_type)
        -load(migrate=False)
        +load(migrate=False)
        -loadScript(script_type, name, context=None, source=False)
        +loadScript(script_type, name, context=None, source=False)
        -load_overlay(overlay, migrate=True)
        +load_overlay(overlay, migrate=True)
        -load_overlays(overlays, migrate=True)
        +load_overlays(overlays, migrate=True)
        -remove(path, config=None, error_on_path=False, defaults=None)
        +remove(path, config=None, error_on_path=False, defaults=None)
        -remove_overlay(key)
        +remove_overlay(key)
        -remove_path_update_callback(path, callback)
        +remove_path_update_callback(path, callback)
        -sanity_check_folders(folders=None)
        +sanity_check_folders(folders=None)
        -save(force=False, trigger_event=False)
        +save(force=False, trigger_event=False)
        -saveScript(script_type, name, script)
        +saveScript(script_type, name, script)
        -set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
        +set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
        -setBaseFolder(type, path, force=False, validate=True)
        +setBaseFolder(type, path, force=False, validate=True)
        -setBoolean(path, value, **kwargs)
        +setBoolean(path, value, **kwargs)
        -setFloat(path, value, **kwargs)
        +setFloat(path, value, **kwargs)
        -setInt(path, value, **kwargs)
        +setInt(path, value, **kwargs)
        -warn_about_risky_settings()
        +warn_about_risky_settings()
        diff --git a/1.10.3/modules/slicing.html b/1.10.3/modules/slicing.html index 6f694e1b6..c38a3af23 100644 --- a/1.10.3/modules/slicing.html +++ b/1.10.3/modules/slicing.html @@ -1,26 +1,26 @@ - + - + octoprint.slicing — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -192,14 +192,14 @@
        -

        octoprint.slicing

        +

        octoprint.slicing

        In this module the slicing support of OctoPrint is encapsulated.

        -class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)
        +class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)

        A wrapper for slicing profiles, both meta data and actual profile data.

        -
        Parameters
        +
        Parameters:
        • slicer (str) – Identifier of the slicer this profile belongs to.

        • name (str) – Identifier of this slicing profile.

        • @@ -214,7 +214,7 @@
          -class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)
          +class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)

          A wrapper for a temporary slicing profile to be used for a slicing job, based on a SlicingProfile with optional overrides applied through the supplied save_profile method.

          Usage example:

          @@ -225,7 +225,7 @@
        -
        Parameters
        +
        Parameters:
        • save_profile (callable) – Method to use for saving the temporary profile, also responsible for applying the supplied overrides. This will be called according to the method signature of @@ -239,10 +239,10 @@

          -class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)
          +class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)

          The SlicingManager is responsible for managing available slicers and slicing profiles.

          -
          Parameters
          +
          Parameters:
          -all_profiles(slicer, require_configured=False)
          +all_profiles(slicer, require_configured=False)

          Retrieves all profiles for slicer slicer.

          If require_configured is set to True (default is False), only will return the profiles if the slicer is already configured, otherwise a SlicerNotConfigured exception will be raised.

          -
          Parameters
          +
          Parameters:
          • slicer (str) – Identifier of the slicer for which to retrieve all slicer profiles

          • require_configured (boolean) – Whether to require the slicer slicer to be already configured (True) @@ -265,13 +265,13 @@ exception will be raised.

          -
          Returns
          +
          Returns:

          A dict of all SlicingProfile instances available for the slicer slicer, mapped by the identifier.

          -
          Return type
          +
          Return type:

          dict of SlicingProfile

          -
          Raises
          +
          Raises:
          • UnknownSlicer – The slicer slicer is unknown.

          • SlicerNotConfigured – The slicer slicer is not configured and require_configured was True.

          • @@ -282,17 +282,17 @@
            -cancel_slicing(slicer_name, source_path, dest_path)
            +cancel_slicing(slicer_name, source_path, dest_path)

            Cancels the slicing job on slicer slicer_name from source_path to dest_path.

            -
            Parameters
            +
            Parameters:
            • slicer_name (str) – Identifier of the slicer on which to cancel the job.

            • source_path (str) – The absolute path to the source file being sliced.

            • dest_path (str) – The absolute path to the destination file being sliced to.

            -
            Raises
            +
            Raises:

            UnknownSlicer – The slicer specified via slicer_name is unknown.

            @@ -300,17 +300,17 @@
            -property configured_slicers
            +property configured_slicers

            Returns: (list of str) Identifiers of all available configured slicers.

            -property default_slicer
            +property default_slicer

            Retrieves the default slicer.

            -
            Returns
            +
            Returns:

            (str) The identifier of the default slicer or None if the default slicer is not registered in the

            system.

            @@ -322,17 +322,17 @@
            -delete_profile(slicer, name)
            +delete_profile(slicer, name)

            Deletes the profile name for the specified slicer.

            If the profile does not exist, nothing will happen.

            -
            Parameters
            +
            Parameters:
            • slicer (str) – Identifier of the slicer for which to delete the profile.

            • name (str) – Identifier of the profile to delete.

            -
            Raises
            +
            Raises:
            • UnknownSlicer – The slicer slicer is unknown.

            • CouldNotDeleteProfile – There was an error while deleting the profile.

            • @@ -343,25 +343,25 @@
              -get_profile_path(slicer, name, must_exist=False)
              +get_profile_path(slicer, name, must_exist=False)

              Retrieves the path to the profile named name for slicer slicer.

              If must_exist is set to True (defaults to False) a UnknownProfile exception will be raised if the profile doesn’t exist yet.

              -
              Parameters
              +
              Parameters:
              • slicer (str) – Identifier of the slicer to which the profile belongs to.

              • name (str) – Identifier of the profile for which to retrieve the path.

              • must_exist (boolean) – Whether the path must exist (True) or not (False, default).

              -
              Returns
              +
              Returns:

              The absolute path to the profile identified by name for slicer slicer.

              -
              Return type
              +
              Return type:

              str

              -
              Raises
              +
              Raises:
              • UnknownSlicer – The slicer slicer is unknown.

              • UnknownProfile – The profile named name doesn’t exist and must_exist was True.

              • @@ -372,18 +372,18 @@
                -get_slicer(slicer, require_configured=True)
                +get_slicer(slicer, require_configured=True)

                Retrieves the slicer named slicer. If require_configured is set to True (the default) an exception will be raised if the slicer is not yet configured.

                -
                Parameters
                +
                Parameters:
                • slicer (str) – Identifier of the slicer to return

                • require_configured (boolean) – Whether to raise an exception if the slicer has not been configured yet (True, the default), or also return an unconfigured slicer (False).

                -
                Raises
                +
                Raises:
                • UnknownSlicer – The slicer is unknown.

                • SlicerNotConfigured – The slicer is not yet configured and require_configured was set to True.

                • @@ -394,19 +394,19 @@
                  -get_slicer_profile_path(slicer)
                  +get_slicer_profile_path(slicer)

                  Retrieves the path where the profiles for slicer slicer are stored.

                  -
                  Parameters
                  +
                  Parameters:

                  slicer (str) – Identifier of the slicer for which to retrieve the path.

                  -
                  Returns
                  +
                  Returns:

                  The absolute path to the folder where the slicer’s profiles are stored.

                  -
                  Return type
                  +
                  Return type:

                  str

                  -
                  Raises
                  +
                  Raises:

                  UnknownSlicer – The slicer slicer is unknown.

                  @@ -414,26 +414,26 @@
                  -initialize()
                  +initialize()

                  Initializes the slicing manager by loading and initializing all available SlicerPlugin implementations.

                  -load_profile(slicer, name, require_configured=True)
                  +load_profile(slicer, name, require_configured=True)

                  Loads the slicing profile for slicer with the given profile name and returns it. If it can’t be loaded due to an IOError None will be returned instead.

                  If require_configured is True (the default) a SlicerNotConfigured exception will be raised if the indicated slicer has not yet been configured.

                  -
                  Returns
                  +
                  Returns:

                  The requested slicing profile or None if it could not be loaded.

                  -
                  Return type
                  +
                  Return type:

                  SlicingProfile

                  -
                  Raises
                  +
                  Raises:
                  • UnknownSlicer – The slicer specified via slicer is unknown.

                  • SlicerNotConfigured – The slicer specified via slicer has not yet been configured and @@ -446,13 +446,13 @@

                    -profiles_last_modified(slicer)
                    +profiles_last_modified(slicer)

                    Retrieves the last modification date of slicer’s profiles.

                    -
                    Parameters
                    +
                    Parameters:

                    slicer (str) – the slicer for which to retrieve the last modification date

                    -
                    Returns
                    +
                    Returns:

                    (float) the time stamp of the last modification of the slicer’s profiles

                    @@ -460,21 +460,21 @@
                    -property registered_slicers
                    +property registered_slicers

                    Returns: (list of str) Identifiers of all available slicers.

                    -reload_slicers()
                    +reload_slicers()

                    Retrieves all registered SlicerPlugin implementations and registers them as available slicers.

                    -save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)
                    +save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)

                    Saves the slicer profile profile for slicer slicer under name name.

                    profile may be either a SlicingProfile or a dict.

                    If it’s a SlicingProfile, its slicer`, name and - if @@ -487,7 +487,7 @@

                    If the profile is the first profile to be saved for the slicer, it will automatically be marked as default.

                    -
                    Parameters
                    +
                    Parameters:
                    • slicer (str) – Identifier of the slicer for which to save the profile.

                    • name (str) – Identifier under which to save the profile.

                    • @@ -500,13 +500,13 @@
                    • description (str) – A description of the profile.

                    -
                    Returns
                    +
                    Returns:

                    The saved profile (including the applied overrides).

                    -
                    Return type
                    +
                    Return type:

                    SlicingProfile

                    -
                    Raises
                    +
                    Raises:
                    • ValueError – The supplied profile is neither a SlicingProfile nor a dict.

                    • UnknownSlicer – The slicer slicer is unknown.

                    • @@ -519,10 +519,10 @@
                      -set_default_profile(slicer, name, require_configured=False, require_exists=True)
                      +set_default_profile(slicer, name, require_configured=False, require_exists=True)

                      Sets the given profile as default profile for the slicer.

                      -
                      Parameters
                      +
                      Parameters:
                      • slicer (str) – Identifier of the slicer for which to set the default profile.

                      • @@ -536,7 +536,7 @@ UnknownProfile error if true and the profile is unknown.

                      -
                      Raises
                      +
                      Raises:
                      • UnknownSlicer – The slicer slicer is unknown

                      • @@ -552,7 +552,7 @@
                        -slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)
                        +slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)

                        Slices source_path to dest_path using slicer slicer_name and slicing profile profile_name. Since slicing happens asynchronously, callback will be called when slicing has finished (either successfully or not), with callback_args and callback_kwargs supplied.

                        @@ -580,7 +580,7 @@

                        If the source_path is to be a sliced at a different position than the print bed center, this position can be supplied as a dictionary defining the x and y coordinate in print bed coordinates of the model’s center.

                        -
                        Parameters
                        +
                        Parameters:
                        • slicer_name (str) – The identifier of the slicer to use for slicing.

                        • source_path (str) – The absolute path to the source file to slice.

                        • @@ -604,7 +604,7 @@ Example: dict(x=10,y=20).

                        -
                        Raises
                        +
                        Raises:
                        • UnknownSlicer – The slicer specified via slicer_name is unknown.

                        • SlicerNotConfigured – The slice specified via slicer_name is not configured yet.

                        • @@ -615,7 +615,7 @@
                          -property slicing_enabled
                          +property slicing_enabled

                          Returns: (boolean) True if there is at least one configured slicer available, False otherwise.

                          @@ -624,29 +624,29 @@
                          -

                          octoprint.slicing.exceptions

                          +

                          octoprint.slicing.exceptions

                          Slicing related exceptions.

                          -class octoprint.slicing.exceptions.SlicingException
                          +class octoprint.slicing.exceptions.SlicingException

                          Base exception of all slicing related exceptions.

                          -class octoprint.slicing.exceptions.SlicingCancelled
                          +class octoprint.slicing.exceptions.SlicingCancelled

                          Bases: SlicingException

                          Raised if a slicing job was cancelled.

                          -class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)
                          +class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)

                          Bases: SlicingException

                          Base exception of all slicer related exceptions.

                          -slicer
                          +slicer

                          Identifier of the slicer for which the exception was raised.

                          @@ -654,31 +654,31 @@
                          -class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)
                          +class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)

                          Bases: SlicerException

                          Raised if a slicer is unknown.

                          -class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)
                          +class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)

                          Bases: SlicerException

                          Raised if a slicer is not yet configured but must be configured to proceed.

                          -class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)
                          +class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)

                          Base exception of all slicing profile related exceptions.

                          -slicer
                          +slicer

                          Identifier of the slicer to which the profile belongs.

                          -profile
                          +profile

                          Identifier of the profile for which the exception was raised.

                          @@ -686,14 +686,14 @@
                          -class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)
                          +class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)

                          Bases: ProfileException

                          Raised if a slicing profile does not exist but must exist to proceed.

                          -class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)
                          +class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)

                          Bases: ProfileException

                          Raised if a slicing profile already exists and must not be overwritten.

                          diff --git a/1.10.3/modules/util.html b/1.10.3/modules/util.html index 36fd047f1..0c164be26 100644 --- a/1.10.3/modules/util.html +++ b/1.10.3/modules/util.html @@ -1,26 +1,26 @@ - + - + octoprint.util — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -227,34 +227,34 @@
                          -

                          octoprint.util

                          +

                          octoprint.util

                          This module bundles commonly used utility methods or helper classes that are used in multiple places within OctoPrint’s source code.

                          -class octoprint.util.CaseInsensitiveSet(*args)
                          +class octoprint.util.CaseInsensitiveSet(*args)

                          Basic case insensitive set

                          Any str values will be stored and compared in lower case. Other value types are left as-is.

                          -class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                          +class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                          -copy() a shallow copy of od
                          +copy() a shallow copy of od
                          -class octoprint.util.PrependableQueue(maxsize=0)
                          +class octoprint.util.PrependableQueue(maxsize=0)
                          -class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)
                          +class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)

                          This class represents an action that should be run repeatedly in an interval. It is similar to python’s own threading.Timer class, but instead of only running once the function will be run again and again, sleeping the stated interval in between.

                          @@ -296,7 +296,7 @@
                          -
                          Parameters
                          +
                          Parameters:
                          • interval (float or callable) – The interval between each function call, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                          • @@ -318,7 +318,7 @@
                          -run()
                          +run()

                          Method representing the thread’s activity.

                          You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -330,7 +330,7 @@

                          -class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)
                          +class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)

                          This class represents an action that should be run after a specified amount of time. It is similar to python’s own threading.Timer class, with the addition of being able to reset the counter to zero.

                          ResettableTimers are started, as with threads, by calling their start() method. The timer can be stopped (in @@ -348,7 +348,7 @@

                          -
                          Parameters
                          +
                          Parameters:
                          • interval (float or callable) – The interval before calling function, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                          • @@ -363,7 +363,7 @@
                          -run()
                          +run()

                          Method representing the thread’s activity.

                          You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -375,15 +375,15 @@

                          -exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                          +exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                          -class octoprint.util.TypedQueue(maxsize=0)
                          +class octoprint.util.TypedQueue(maxsize=0)
                          -get(*args, **kwargs)
                          +get(*args, **kwargs)

                          Remove and return an item from the queue.

                          If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until an item is available. If ‘timeout’ is @@ -396,7 +396,7 @@

                          -put(item, item_type=None, *args, **kwargs)
                          +put(item, item_type=None, *args, **kwargs)

                          Put an item into the queue.

                          If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until a free slot is available. If ‘timeout’ is @@ -411,27 +411,27 @@

                          -octoprint.util.chunks(l, n)
                          +octoprint.util.chunks(l, n)

                          Yield successive n-sized chunks from l.

                          Taken from http://stackoverflow.com/a/312464/2028598

                          -octoprint.util.count(gen)
                          +octoprint.util.count(gen)

                          Used instead of len(generator), which doesn’t work

                          -octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                          +octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                          A decorator for deprecated methods. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                          -
                          Parameters
                          +
                          Parameters:
                          • message (string) – The message to include in the deprecation warning.

                          • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -444,10 +444,10 @@

                          • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                          -
                          Returns
                          +
                          Returns:

                          The wrapped function with the deprecation warnings in place.

                          -
                          Return type
                          +
                          Return type:

                          function

                          @@ -455,18 +455,18 @@
                          -octoprint.util.deserialize(filename, encoding='utf-8')
                          +octoprint.util.deserialize(filename, encoding='utf-8')

                          Deserializes data from a file

                          In the current implementation this uses json.loads and - if the file is found to be compressed - zlib.decompress.

                          -
                          Parameters
                          +
                          Parameters:
                          • filename (str) – The file to deserialize from

                          • encoding (str) – The encoding to use for the file, defaults to utf-8

                          -
                          Returns
                          +
                          Returns:

                          The deserialized data structure

                          @@ -474,7 +474,7 @@
                          -octoprint.util.dict_clean(a, b)
                          +octoprint.util.dict_clean(a, b)

                          Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                          Example:

                          @@ -488,7 +488,7 @@
                          -
                          Parameters
                          +
                          Parameters:
                          • a (dict) – The dictionary to clean against b.

                          • b (dict) – The dictionary containing the key structure to clean from a.

                          • @@ -503,7 +503,7 @@
                            -octoprint.util.dict_contains_keys(keys, dictionary)
                            +octoprint.util.dict_contains_keys(keys, dictionary)

                            Recursively deep-checks if dictionary contains all keys found in keys.

                            Example:

                            >>> positive = dict(foo="some_other_bar", fnord=dict(b=100))
                            @@ -516,16 +516,16 @@
                             
                            -
                            Parameters
                            +
                            Parameters:
                            • a (dict) – The dictionary to check for the keys from b.

                            • b (dict) – The dictionary whose keys to check a for.

                            -
                            Returns
                            +
                            Returns:

                            True if all keys found in b are also present in a, False otherwise.

                            -
                            Return type
                            +
                            Return type:

                            boolean

                            @@ -533,7 +533,7 @@
                            -octoprint.util.dict_filter(dictionary, filter_function)
                            +octoprint.util.dict_filter(dictionary, filter_function)

                            Filters a dictionary with the provided filter_function

                            Example:

                            >>> data = dict(key1="value1", key2="value2", other_key="other_value", foo="bar", bar="foo")
                            @@ -558,7 +558,7 @@
                             
                            -
                            Parameters
                            +
                            Parameters:
                            • dictionary (dict) – The dictionary to filter

                            • filter_function (callable) – The filter function to apply, called with key and @@ -566,14 +566,14 @@ keep and False for values to strip

                            -
                            Returns
                            +
                            Returns:

                            A shallow copy of the provided dictionary, stripped of the key-value-pairs

                            for which the filter_function returned False

                            -
                            Return type
                            +
                            Return type:

                            dict

                            @@ -581,7 +581,7 @@
                            -octoprint.util.dict_flatten(dictionary, prefix='', separator='.')
                            +octoprint.util.dict_flatten(dictionary, prefix='', separator='.')

                            Flatten a dictionary.

                            Example::
                            >>> data = {'a': {'a1': 'a1', 'a2': 'a2'}, 'b': 'b'}
                            @@ -595,7 +595,7 @@
                             
                            -
                            Parameters
                            +
                            Parameters:
                            • dictionary – the dictionary to flatten

                            • prefix – the key prefix, initially an empty string

                            • @@ -608,7 +608,7 @@
                              -octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)
                              +octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)

                              Recursively deep-merges two dictionaries.

                              Based on https://www.xormedia.com/recursively-merge-dictionaries-in-python/

                              Example:

                              @@ -644,7 +644,7 @@
                              -
                              Parameters
                              +
                              Parameters:
                              • a (dict) – The dictionary to merge b into

                              • b (dict) – The dictionary to merge into a

                              • @@ -652,10 +652,10 @@
                              • in_place (boolean) – If set to True, a will be merged with b in place, meaning a will be modified

                              -
                              Returns
                              +
                              Returns:

                              b deep-merged into a

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -663,7 +663,7 @@
                              -octoprint.util.dict_minimal_mergediff(source, target)
                              +octoprint.util.dict_minimal_mergediff(source, target)

                              Recursively calculates the minimal dict that would be needed to be deep merged with a in order to produce the same result as deep merging a and b.

                              Example:

                              @@ -677,20 +677,20 @@
                              -
                              Parameters
                              +
                              Parameters:
                              • source (dict) – Source dictionary

                              • target (dict) – Dictionary to compare to source dictionary and derive diff for

                              -
                              Returns
                              +
                              Returns:

                              The minimal dictionary to deep merge on source to get the same result

                              as deep merging target on source.

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -698,7 +698,7 @@
                              -octoprint.util.dict_sanitize(a, b)
                              +octoprint.util.dict_sanitize(a, b)

                              Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                              Example:

                              @@ -712,7 +712,7 @@
                              -
                              Parameters
                              +
                              Parameters:
                              • a (dict) – The dictionary to clean against b.

                              • b (dict) – The dictionary containing the key structure to clean from a.

                              • @@ -727,36 +727,36 @@
                                -class octoprint.util.fallback_dict(custom, *fallbacks)
                                +class octoprint.util.fallback_dict(custom, *fallbacks)
                                -items() a set-like object providing a view on D's items
                                +items() a set-like object providing a view on D's items
                                -keys() a set-like object providing a view on D's keys
                                +keys() a set-like object providing a view on D's keys
                                -values() an object providing a view on D's values
                                +values() an object providing a view on D's values
                                -octoprint.util.filter_non_ascii(line)
                                +octoprint.util.filter_non_ascii(line)

                                Filter predicate to test if a line contains non ASCII characters.

                                -
                                Parameters
                                +
                                Parameters:

                                line (string) – The line to test

                                -
                                Returns
                                +
                                Returns:

                                True if the line contains non ASCII characters, False otherwise.

                                -
                                Return type
                                +
                                Return type:

                                boolean

                                @@ -764,7 +764,7 @@
                                -octoprint.util.get_bom(filename, encoding)
                                +octoprint.util.get_bom(filename, encoding)

                                Check if the file has a BOM and if so return it.

                                Params:

                                filename (str): The file to check. @@ -772,7 +772,7 @@

                                -
                                Returns
                                +
                                Returns:

                                (bytes) the BOM or None if there is no BOM.

                                @@ -780,19 +780,19 @@
                                -octoprint.util.get_class(name)
                                +octoprint.util.get_class(name)

                                Retrieves the class object for a given fully qualified class name.

                                -
                                Parameters
                                +
                                Parameters:

                                name (string) – The fully qualified class name, including all modules separated by .

                                -
                                Returns
                                +
                                Returns:

                                The class if it could be found.

                                -
                                Return type
                                +
                                Return type:

                                type

                                -
                                Raises
                                +
                                Raises:

                                ImportError

                                @@ -800,14 +800,14 @@
                                -octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")
                                +octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")

                                Retrieves the exception info of the last raised exception and returns it as a string formatted as <exception type>: <exception message> @ <source file>:<function name>:<line number>.

                                -
                                Returns
                                +
                                Returns:

                                The formatted exception information.

                                -
                                Return type
                                +
                                Return type:

                                string

                                @@ -815,16 +815,16 @@
                                -octoprint.util.get_formatted_datetime(d)
                                +octoprint.util.get_formatted_datetime(d)

                                Formats a datetime instance as “YYYY-mm-dd HH:MM” and returns the resulting string.

                                -
                                Parameters
                                +
                                Parameters:

                                d (datetime.datetime) – The datetime instance to format

                                -
                                Returns
                                +
                                Returns:

                                The datetime formatted as “YYYY-mm-dd HH:MM”

                                -
                                Return type
                                +
                                Return type:

                                string

                                @@ -832,18 +832,18 @@
                                -octoprint.util.get_formatted_size(num)
                                +octoprint.util.get_formatted_size(num)

                                Formats the given byte count as a human readable rounded size expressed in the most pressing unit among B(ytes), K(ilo)B(ytes), M(ega)B(ytes), G(iga)B(ytes) and T(era)B(ytes), with one decimal place.

                                Based on http://stackoverflow.com/a/1094933/2028598

                                -
                                Parameters
                                +
                                Parameters:

                                num (int) – The byte count to format

                                -
                                Returns
                                +
                                Returns:

                                The formatted byte count.

                                -
                                Return type
                                +
                                Return type:

                                string

                                @@ -851,16 +851,16 @@
                                -octoprint.util.get_formatted_timedelta(d)
                                +octoprint.util.get_formatted_timedelta(d)

                                Formats a timedelta instance as “HH:MM:ss” and returns the resulting string.

                                -
                                Parameters
                                +
                                Parameters:

                                d (datetime.timedelta) – The timedelta instance to format

                                -
                                Returns
                                +
                                Returns:

                                The timedelta formatted as “HH:MM:ss”

                                -
                                Return type
                                +
                                Return type:

                                string

                                @@ -868,14 +868,14 @@
                                -octoprint.util.get_fully_qualified_classname(o)
                                +octoprint.util.get_fully_qualified_classname(o)

                                Returns the fully qualified class name for an object.

                                Based on https://stackoverflow.com/a/2020083

                                -
                                Parameters
                                +
                                Parameters:

                                o – the object of which to determine the fqcn

                                -
                                Returns
                                +
                                Returns:

                                (str) the fqcn of the object

                                @@ -883,19 +883,19 @@
                                -octoprint.util.is_allowed_file(filename, extensions)
                                +octoprint.util.is_allowed_file(filename, extensions)

                                Determines if the provided filename has one of the supplied extensions. The check is done case-insensitive.

                                -
                                Parameters
                                +
                                Parameters:
                                • filename (string) – The file name to check against the extensions.

                                • extensions (list) – The extensions to check against, a list of strings

                                -
                                Returns
                                +
                                Returns:

                                True if the file name’s extension matches one of the allowed extensions, False otherwise.

                                -
                                Return type
                                +
                                Return type:

                                boolean

                                @@ -903,14 +903,14 @@
                                -octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                +octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                A decorator for methods pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                -
                                Parameters
                                +
                                Parameters:
                                • message (string) – The message to include in the deprecation warning.

                                • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -923,10 +923,10 @@

                                • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                -
                                Returns
                                +
                                Returns:

                                The wrapped function with the deprecation warnings in place.

                                -
                                Return type
                                +
                                Return type:

                                function

                                @@ -934,7 +934,7 @@
                                -octoprint.util.pp(value)
                                +octoprint.util.pp(value)
                                >>> pp(dict())
                                 'dict()'
                                 >>> pp(dict(a=1, b=2, c=3))
                                @@ -957,7 +957,7 @@
                                 
                                 
                                -octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)
                                +octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)

                                Serializes data to a file

                                In the current implementation this uses json.dumps.

                                If compressed is True (the default), the serialized data put through zlib.compress.

                                @@ -967,7 +967,7 @@

                                This is not thread-safe, if concurrent access is required, the caller needs to ensure that only one thread is writing to the file at any given time.

                                -
                                Parameters
                                +
                                Parameters:
                                • filename (str) – The file to write to

                                • data (object) – The data to serialize

                                • @@ -980,20 +980,20 @@
                                  -octoprint.util.to_bytes(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                  +octoprint.util.to_bytes(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                  Make sure s_or_u is a byte string.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  -
                                  Returns
                                  +
                                  Returns:

                                  converted bytes.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  bytes

                                  @@ -1001,7 +1001,7 @@
                                  -octoprint.util.to_native_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                  +octoprint.util.to_native_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                  Deprecated since version 1.8.0: to_native_str is no longer needed, use to_unicode instead

                                  @@ -1009,7 +1009,7 @@
                                  -octoprint.util.to_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                  +octoprint.util.to_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                  Deprecated since version 1.3.11: to_str has been renamed to to_bytes and in a future version will become the new to_unicode

                                  @@ -1017,20 +1017,20 @@
                                  -octoprint.util.to_unicode(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                  +octoprint.util.to_unicode(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                  Make sure s_or_u is a string (str).

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  -
                                  Returns
                                  +
                                  Returns:

                                  converted string.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  str

                                  @@ -1038,12 +1038,12 @@
                                  -octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                  +octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                  A function for deprecated variables. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • message (string) – The message to include in the deprecation warning.

                                  • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1053,10 +1053,10 @@

                                  • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                  -
                                  Returns
                                  +
                                  Returns:

                                  The value of the variable with the deprecation warnings in place.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  value

                                  @@ -1064,12 +1064,12 @@
                                  -octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                  +octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                  A decorator for variables pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • message (string) – The message to include in the deprecation warning.

                                  • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1079,10 +1079,10 @@

                                  • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                  -
                                  Returns
                                  +
                                  Returns:

                                  The value of the variable with the deprecation warnings in place.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  value

                                  @@ -1090,10 +1090,10 @@
                          -

                          octoprint.util.commandline

                          +

                          octoprint.util.commandline

                          -class octoprint.util.commandline.CommandlineCaller
                          +class octoprint.util.commandline.CommandlineCaller

                          The CommandlineCaller is a utility class that allows running command line commands while logging their stdout and stderr via configurable callback functions.

                          Callbacks are expected to have a signature matching

                          @@ -1133,17 +1133,17 @@
                          -call(command: Union[str, List[str], Tuple[str]], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[Optional[int], List[str], List[str]]
                          +call(command: str | List[str] | Tuple[str], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[int | None, List[str], List[str]]

                          Calls a command

                          -
                          Parameters
                          +
                          Parameters:
                          • command (list, tuple or str) – command to call

                          • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                          -
                          Returns
                          +
                          Returns:

                          (tuple) a 3-tuple of return code, full stdout and full stderr output

                          @@ -1151,20 +1151,20 @@
                          -checked_call(command: Union[str, List[str], Tuple[str]], **kwargs) Tuple[int, List[str], List[str]]
                          +checked_call(command: str | List[str] | Tuple[str], **kwargs) Tuple[int, List[str], List[str]]

                          Calls a command and raises an error if it doesn’t return with return code 0

                          -
                          Parameters
                          +
                          Parameters:
                          • command (list, tuple or str) – command to call

                          • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                          -
                          Returns
                          +
                          Returns:

                          (tuple) a 3-tuple of return code, full stdout and full stderr output

                          -
                          Raises
                          +
                          Raises:

                          CommandlineError

                          @@ -1172,19 +1172,19 @@
                          -on_log_call
                          +on_log_call

                          Callback for the called command line

                          -on_log_stderr
                          +on_log_stderr

                          Callback for stderr output

                          -on_log_stdout
                          +on_log_stdout

                          Callback for stdout output

                          @@ -1192,10 +1192,10 @@
                          -exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)
                          +exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)

                          Raised by checked_call() on non zero return codes

                          -
                          Parameters
                          +
                          Parameters:
                          • returncode (int) – the return code of the command

                          • stdout (str) – the stdout output produced by the command

                          • @@ -1207,22 +1207,22 @@
                            -class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                            +class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                            -octoprint.util.commandline.clean_ansi(line: Union[str, bytes]) Union[str, bytes]
                            +octoprint.util.commandline.clean_ansi(line: str | bytes) str | bytes

                            Removes ANSI control codes from line.

                            Note: This function also still supports an input of bytes, leading to an output of bytes. This if for reasons of backwards compatibility only, should no longer be used and considered to be deprecated and to be removed in a future version of OctoPrint. A warning will be logged.

                            -
                            Parameters
                            +
                            Parameters:

                            line (str or bytes) – the line to process

                            -
                            Returns
                            +
                            Returns:

                            (str or bytes) The line without any ANSI control codes

                            @@ -1234,11 +1234,11 @@
                          -

                          octoprint.util.platform

                          +

                          octoprint.util.platform

                          This module bundles platform specific flags and implementations.

                          -octoprint.util.platform.CLOSE_FDS = True
                          +octoprint.util.platform.CLOSE_FDS = True

                          Default setting for close_fds parameter to Popen/sarge.run.

                          Set close_fds on every sub process to this to ensure file handlers will be closed on child processes on platforms.

                          @@ -1246,12 +1246,12 @@
                          -octoprint.util.platform.get_os()
                          +octoprint.util.platform.get_os()

                          Returns a canonical OS identifier.

                          Currently the following OS are recognized: win32, linux (sys.platform = linux*), macos (sys.platform = darwin) and freebsd (sys.platform = freebsd*).

                          -
                          Returns
                          +
                          Returns:

                          (str) mapped OS identifier

                          @@ -1259,10 +1259,10 @@
                          -octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)
                          +octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)

                          Tests if the current_os or sys.platform are blacklisted or whitelisted in compatibility_entries

                          -
                          Returns
                          +
                          Returns:

                          (bool) True if the os is compatible, False otherwise

                          @@ -1270,7 +1270,7 @@
                          -octoprint.util.platform.set_close_exec(handle)
                          +octoprint.util.platform.set_close_exec(handle)

                          Set close_exec flag on handle, if supported by the OS.

                          diff --git a/1.10.3/plugins/concepts.html b/1.10.3/plugins/concepts.html index f7d57ce86..453eacaf6 100644 --- a/1.10.3/plugins/concepts.html +++ b/1.10.3/plugins/concepts.html @@ -1,26 +1,26 @@ - + - + General Concepts — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
                          -

                          General Concepts

                          +

                          General Concepts

                          OctoPrint’s plugins are Python Packages which in their top-level module define a bunch of control properties defining metadata (like name, version etc of the plugin) as well as information on how to initialize the plugin and into what @@ -147,7 +147,7 @@

                          Plugin mixin implementations will get a bunch of properties injected by OctoPrint plugin system to help them work.

                          -

                          Lifecycle

                          +

                          Lifecycle

                          There are three sources of installed plugins that OctoPrint will check during start up:

                            diff --git a/1.10.3/plugins/controlproperties.html b/1.10.3/plugins/controlproperties.html index 09ca023f3..85693423d 100644 --- a/1.10.3/plugins/controlproperties.html +++ b/1.10.3/plugins/controlproperties.html @@ -1,26 +1,26 @@ - + - + Control Properties — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -132,7 +132,7 @@
                            -

                            Control Properties

                            +

                            Control Properties

                            As already mentioned earlier, plugins are Python packages which provide certain pieces of metadata to tell OctoPrint’s plugin subsystem about themselves. These are simple package attributes defined in the top most package file, e.g.:

                            import octoprint.plugin
                            diff --git a/1.10.3/plugins/distributing.html b/1.10.3/plugins/distributing.html
                            index 5dd636094..f7bef3d06 100644
                            --- a/1.10.3/plugins/distributing.html
                            +++ b/1.10.3/plugins/distributing.html
                            @@ -1,26 +1,26 @@
                             
                            -
                            +
                             
                            -  
                            +  
                             
                               
                               Distributing your plugin — OctoPrint 1.10.3 documentation
                            -      
                            -      
                            -      
                            +      
                            +      
                            +      
                             
                               
                               
                               
                            -        
                            -        
                            -        
                            -        
                            -        
                            -        
                            -        
                            +        
                            +        
                            +        
                            +        
                            +        
                            +        
                            +        
                                     
                                 
                                 
                            @@ -138,28 +138,28 @@
                                        
                            -

                            Distributing your plugin

                            +

                            Distributing your plugin

                            You can distribute a plugin with OctoPrint via two ways.

                            - +
                            -

                            Manual file distribution

                            +

                            Manual file distribution

                            You can have your users copy it to OctoPrint’s plugin folder (normally located at ~/.octoprint/plugins under Linux, %APPDATA%\OctoPrint\plugins on Windows and ~/Library/Application Support/OctoPrint on Mac). In this case your plugin will be distributed directly as a Python module (a single .py file containing all of your plugin’s code directly and named like your plugin) or a package (a folder named like your plugin + __init.py__ contained within).

                            -

                            Proper packages installable via pip

                            +

                            Proper packages installable via pip

                            You can have your users install it via pip and register it for the entry point octoprint.plugin via your plugin’s setup.py, this way it will be found automatically by OctoPrint upon initialization of the -plugin subsystem 1.

                            +plugin subsystem [1].

                            For an example of how the directory structure and related files would look like in this case, please take a look at the helloworld example from OctoPrint’s example plugins.

                            This variant is highly recommended for pretty much any plugin besides the most basic ones since it also allows @@ -175,17 +175,18 @@

                          Footnotes

                          -
                          -
                          1
                          -

                          The automatic registration will only work within the same Python installation (this also includes virtual +

                          -
                          + +
                          -

                          Registering with the official plugin repository

                          +

                          Registering with the official plugin repository

                          Once it is ready for general consumption, you might want to register your plugin with the official OctoPrint Plugin Repository. You can find instructions on how to do that in the Plugin Repository’s help pages.

                          @@ -194,7 +195,7 @@ plugin.

                          -

                          Version management after the official plugin repository release

                          +

                          Version management after the official plugin repository release

                          Once your plugin is available in the official plugin repository, you probably want to create and distribute new versions. For “beta” users you can use the manual file distribution method, or a more elegant release channels (see below). After you finalized a new plugin version, don’t forget to actually update the version in the setup.py, diff --git a/1.10.3/plugins/gettingstarted.html b/1.10.3/plugins/gettingstarted.html index 13da17fab..824aafbf2 100644 --- a/1.10.3/plugins/gettingstarted.html +++ b/1.10.3/plugins/gettingstarted.html @@ -1,26 +1,26 @@ - + - + Plugin Tutorial — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -141,8 +141,8 @@

                          -

                          Plugin Tutorial

                          - +

                          Over the course of this little tutorial we’ll build a full fledged, installable OctoPrint plugin that displays “Hello World!” at some locations throughout OctoPrint and also offers some other basic functionality to give you an idea of what you can achieve with OctoPrint’s plugin system.

                          @@ -225,7 +225,7 @@ but not Python 2 (so you can use modern language features), and going forward you really should no longer have to care about the end-of-life Python 2.

                          -

                          Saying hello: How to make the plugin actually do something

                          +

                          Saying hello: How to make the plugin actually do something

                          Apart from being discovered by OctoPrint, our plugin does nothing yet. We want to change that. Let’s make it print “Hello World!” to the log upon server startup. Modify our helloworld.py like this:

                          import octoprint.plugin
                          @@ -259,7 +259,7 @@
                           for our little plugin here, or more generally octoprint.plugins.<plugin identifier>.

                          -

                          Growing up: How to make it distributable

                          +

                          Growing up: How to make it distributable

                          If you now want to distribute this plugin to other OctoPrint users (since it is so awesome to be greeted upon server startup), let’s take a look at how you’d go about that now before our plugin gets more complicated.

                          You basically have two options to distribute your plugin. One would be about the exact same way we are using it now, @@ -276,7 +276,7 @@

                          (venv) $ pip install "cookiecutter>=2.1.1,<3"
                           
                          -

                          Then we can use the octoprint dev plugin:new command 1 to generate a new OctoPrint plugin skeleton for us:

                          +

                          Then we can use the octoprint dev plugin:new command [1] to generate a new OctoPrint plugin skeleton for us:

                          (venv) $ cd ~/devel
                           (venv) $ octoprint dev plugin:new helloworld
                           Cloning into 'cookiecutter-octoprint-plugin'...
                          @@ -471,7 +471,7 @@
                           

                          Something is still a bit ugly though. Take a look into __init__.py and setup.py. It seems like we have a bunch of information now defined twice:

                          -
                          Listing 39 __init__.py
                          +
                          Listing 39 __init__.py
                          __plugin_name__ = "Hello World"
                           __plugin_version__ = "1.0.0"
                           __plugin_description__ = "A quick \"Hello World\" example plugin for OctoPrint"
                          @@ -479,7 +479,7 @@
                           
                          -
                          Listing 40 setup.py
                          +
                          Listing 40 setup.py
                          # ...
                           
                           # The plugin's human readable name. Can be overwritten within OctoPrint's internal data via __plugin_name__ in the
                          @@ -548,7 +548,7 @@
                           

                          But let’s add some more features instead.

                          -

                          Frontend fun: How to add functionality to OctoPrint’s web interface

                          +

                          Frontend fun: How to add functionality to OctoPrint’s web interface

                          Outputting a log line upon server startup is all nice and well, but we want to greet not only the administrator of our OctoPrint instance but actually everyone that opens OctoPrint in their browser. Therefore, we need to modify OctoPrint’s web interface itself.

                          @@ -592,7 +592,7 @@

                          Now look at that!

                          -

                          Settings Galore: How to make parts of your plugin user adjustable

                          +

                          Settings Galore: How to make parts of your plugin user adjustable

                          Remember that Wikipedia link we added to our little link in the navigation bar? It links to the English Wikipedia. But what if we want to allow our users to adjust that according to their wishes, e.g. to link to the German language node about “Hello World” programs instead?

                          @@ -752,7 +752,7 @@

                          Congratulations, you’ve just made your Plugin configurable :)

                          -

                          More frontend fun: Adding custom javascript to your frontend components

                          +

                          More frontend fun: Adding custom javascript to your frontend components

                          In the previous section we set that custom_bindings parameter to False since we wanted OctoPrint to bind the SettingsViewModel to our settings dialog and the NavigationViewModel to our entry in the nav bar.

                          But what if we want to define our own, with more functionality that is already available? Let’s take a look. We’ll now @@ -891,7 +891,7 @@

                          More frontend fun: Adding custom javascri of the same article.

                          -

                          Style matters: Injecting custom CSS into the page

                          +

                          Style matters: Injecting custom CSS into the page

                          So it appears that this stuff is working great already. Only one thing is a bit ugly, let’s take another look at our helloworld_tab.jinja2:

                          <div class="input-append">
                          @@ -995,7 +995,7 @@ 

                          Style matters: Injecting custom CSS into generated CSS files (and compiles them on the fly in your browser using lessjs), which makes development so much easier. Let’s try that, so you know how it works for future bigger projects.

                          Add another folder to our static folder called less and within that create a file helloworld.less. Put -into that the same content as into our CSS file. Compile that LESS file to CSS 2, overwriting our old helloworld.css +into that the same content as into our CSS file. Compile that LESS file to CSS [2], overwriting our old helloworld.css in the process. The folder structure of our plugin should now look like this:

                          octoprint_helloworld/
                               static/
                          @@ -1129,7 +1129,7 @@ 

                          Style matters: Injecting custom CSS into

                          -

                          Where do we go from here?

                          +

                          Where do we go from here?

                          You’ve now seen how easy it is to add functionality to OctoPrint with this little tutorial. You can find the full source code of the little Hello World plugin we built together here on Github.

                          But I want to invite you to dive deeper into OctoPrint’s plugin system. To get an idea of all the other various plugin types @@ -1149,21 +1149,23 @@

                          Where do we go from here?Footnotes

                          -
                          -
                          1
                          -

                          Instead of the octoprint dev plugin:new you could also have manually called cookiecutter with the +

                          -
                          2
                          -

                          Refer to the LESS documentation on how to do that. If you are developing + +

                          -
                          + +

                          diff --git a/1.10.3/plugins/helpers.html b/1.10.3/plugins/helpers.html index 27f5ee5ea..ed5deab6b 100644 --- a/1.10.3/plugins/helpers.html +++ b/1.10.3/plugins/helpers.html @@ -1,26 +1,26 @@ - + - + Helpers — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -132,14 +132,14 @@
                          -

                          Helpers

                          +

                          Helpers

                          Helpers are methods that plugins can expose to other plugins in order to make common functionality available on the system. They are registered with the OctoPrint plugin system through the use of the control property __plugin_helpers__.

                          An example for providing some helper functions to the system can be found in the Discovery Plugin, which provides its SSDP browsing and Zeroconf browsing and publishing functions as helper methods.

                          -
                          Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                          +
                          Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                          def __plugin_load__():
                               if not pybonjour:
                                   # no pybonjour available, we can't use that
                          @@ -167,7 +167,7 @@
                           Using get_helpers() plugins can retrieve exported helper methods and call
                           them as (hopefully) documented.

                          -
                          Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                          +
                          Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                          def on_after_startup(self):
                               host = self._settings.get(["hostname"])
                               port = self._settings.getInt(["port"])
                          diff --git a/1.10.3/plugins/hooks.html b/1.10.3/plugins/hooks.html
                          index dadfd0b80..a096bd6ed 100644
                          --- a/1.10.3/plugins/hooks.html
                          +++ b/1.10.3/plugins/hooks.html
                          @@ -1,26 +1,26 @@
                           
                          -
                          +
                           
                          -  
                          +  
                           
                             
                             Hooks — OctoPrint 1.10.3 documentation
                          -      
                          -      
                          -      
                          +      
                          +      
                          +      
                           
                             
                             
                             
                          -        
                          -        
                          -        
                          -        
                          -        
                          -        
                          -        
                          +        
                          +        
                          +        
                          +        
                          +        
                          +        
                          +        
                                   
                               
                               
                          @@ -186,8 +186,8 @@
                                      
                          -

                          Hooks

                          -
                          +

                          Hooks

                          +
                        - +
                        -

                        General Concepts

                        +

                        General Concepts

                        Hooks are the smaller siblings of mixins, allowing to extend functionality or data processing where a custom mixin type would be too much overhead. Where mixins are based on classes, hooks are based on methods. Like with the mixin implementations, plugins inform OctoPrint about hook handlers using a control property, __plugin_hooks__.

                        @@ -301,7 +301,7 @@ property instead, manually instantiate your implementation instance and then add its hook handler method to the __plugin_hooks__ property and itself to the __plugin_implementation__ property. See the following example.

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -330,7 +330,7 @@
                         
                        -

                        Execution Order

                        +

                        Execution Order

                        Hooks may also define an order number to allow influencing the execution order of the registered hook handlers. Instead of registering only a callback as hook handler, it is also possible to register a 2-tuple consisting of a callback and an integer value used for ordering handlers. They way this works is that OctoPrint will first sort all registered @@ -339,7 +339,7 @@

                        An example should help clear this up. Let’s assume we have the following plugin ordertest which defines a new hook called octoprint.plugin.ordertest.callback:

                        -
                        Listing 15 ordertest.py
                        +
                        Listing 15 ordertest.py
                        import octoprint.plugin
                         
                         class OrderTestPlugin(octoprint.plugin.StartupPlugin):
                        @@ -363,7 +363,7 @@
                         

                        And these three plugins defining handlers for that hook:

                        -
                        Listing 16 oneorderedhook.py
                        +
                        Listing 16 oneorderedhook.py
                        import logging
                         
                          def callback(*args, **kwargs):
                        @@ -378,7 +378,7 @@
                         
                        -
                        Listing 17 anotherorderedhook.py
                        +
                        Listing 17 anotherorderedhook.py
                        import logging
                         
                         def callback(*args, **kwargs):
                        @@ -393,7 +393,7 @@
                         
                        -
                        Listing 18 yetanotherhook.py
                        +
                        Listing 18 yetanotherhook.py
                        import logging
                         
                         def callback(*args, **kwargs):
                        @@ -426,7 +426,7 @@
                         
                        -

                        Available plugin hooks

                        +

                        Available plugin hooks

                        Note

                        All of the hooks below take at least two parameters, *args and **kwargs. Make sure those are @@ -434,7 +434,7 @@ They will act as placeholders if additional parameters are added to the hooks in the future and will allow your plugin to stay compatible to OctoPrint without any necessary adjustments from you in these cases.

                        - +
                        -

                        octoprint.access.permissions

                        +

                        octoprint.access.permissions

                        -additional_permissions_hook(*args, **kwargs)
                        +additional_permissions_hook(*args, **kwargs)
                        -

                        New in version 1.4.0.

                        +

                        Added in version 1.4.0.

                        Return a list of additional permissions to register in the system on behalf of the plugin. Use this to add granular permissions to your plugin which can be configured for users and user groups in the general @@ -538,10 +538,10 @@

                        Once registered it can be referenced under the key PLUGIN_APPKEYS_ADMIN.

                        -
                        Returns
                        +
                        Returns:

                        A list of additional permissions to register in the system.

                        -
                        Return type
                        +
                        Return type:

                        A list of dicts.

                        @@ -549,12 +549,12 @@
                        -

                        octoprint.access.users.factory

                        +

                        octoprint.access.users.factory

                        -user_manager_factory_hook(components, settings, *args, **kwargs)
                        +user_manager_factory_hook(components, settings, *args, **kwargs)
                        -

                        New in version 1.4.0.

                        +

                        Added in version 1.4.0.

                        Return a UserManager instance to use as global user manager object. This will be called only once during initial server startup.

                        @@ -577,16 +577,16 @@ FilebasedUserManager will be instantiated, linked to the default user storage file ~/.octoprint/users.yaml.

                        -
                        Parameters
                        +
                        Parameters:
                        • components (dict) – System components to use for user manager instance initialization

                        • settings (SettingsManager) – The global settings manager instance to fetch configuration values from if necessary

                        -
                        Returns
                        +
                        Returns:

                        The userManager instance to use globally.

                        -
                        Return type
                        +
                        Return type:

                        UserManager subclass or None

                        @@ -594,12 +594,12 @@
                        -

                        octoprint.accesscontrol.keyvalidator

                        +

                        octoprint.accesscontrol.keyvalidator

                        -acl_keyvalidator_hook(apikey, *args, **kwargs)
                        +acl_keyvalidator_hook(apikey, *args, **kwargs)
                        -

                        New in version 1.3.6.

                        +

                        Added in version 1.3.6.

                        Via this hook plugins may validate their own customized API keys to be used to access OctoPrint’s API.

                        apikey will be the API key as read from the request headers.

                        @@ -610,7 +610,7 @@

                        Allows using a user’s id as their API key (for obvious reasons this is NOT recommended in production environments and merely provided for educational purposes):

                        - +
                        # Needs OctoPrint 1.3.6 or newer
                         
                         def hook(apikey, *args, **kwargs):
                        @@ -626,16 +626,16 @@
                         
                        -

                        New in version 1.3.6.

                        +

                        Added in version 1.3.6.

                        -
                        Parameters
                        +
                        Parameters:

                        apikey (str) – The API key to validate

                        -
                        Returns
                        +
                        Returns:

                        The user in whose name the request will be processed further

                        -
                        Return type
                        +
                        Return type:

                        User

                        @@ -643,12 +643,12 @@
                        -

                        octoprint.cli.commands

                        +

                        octoprint.cli.commands

                        -cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                        +cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        By providing a handler for this hook plugins may register commands on OctoPrint’s command line interface (CLI).

                        Handlers are expected to return a list of callables annotated as Click commands to register with the @@ -660,7 +660,7 @@

                        Registers two new commands, custom_cli_command:greet and custom_cli_command:random with OctoPrint:

                        - +
                        # Needs OctoPrint 1.3.x or newer
                         
                         import click
                        @@ -787,11 +787,11 @@
                         anything else like that. The only things available are the settings and the plugin manager.

                        -
                        Returns
                        +
                        Returns:

                        A list of Click commands or groups to provide on OctoPrint’s CLI.

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -799,12 +799,12 @@
                        -

                        octoprint.comm.protocol.firmware.info

                        +

                        octoprint.comm.protocol.firmware.info

                        -firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                        +firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                        -

                        New in version 1.3.9.

                        +

                        Added in version 1.3.9.

                        Be notified of firmware information received from the printer following an M115.

                        Hook handlers may use this to react/adjust behaviour based on reported firmware data. OctoPrint parses the received @@ -824,7 +824,7 @@

                        This includes I/O of any kind.

                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                        • firmware_name (str) – The parsed name of the firmware

                        • @@ -836,12 +836,12 @@
                        -

                        octoprint.comm.protocol.firmware.capabilities

                        +

                        octoprint.comm.protocol.firmware.capabilities

                        -firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                        +firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                        -

                        New in version 1.3.9.

                        +

                        Added in version 1.3.9.

                        Be notified of capability report entries received from the printer.

                        Hook handlers may use this to react to custom firmware capabilities. OctoPrint parses the received capability @@ -855,7 +855,7 @@

                        This includes I/O of any kind.

                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                        • capability (str) – The name of the parsed capability

                        • @@ -868,12 +868,12 @@
                        -

                        octoprint.comm.protocol.firmware.capability_report

                        +

                        octoprint.comm.protocol.firmware.capability_report

                        -firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                        +firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                        -

                        New in version 1.9.0.

                        +

                        Added in version 1.9.0.

                        Be notified when all capability report entries are received from the printer.

                        Hook handlers may use this to react to the end of the custom firmware capability report. OctoPrint parses the received @@ -885,7 +885,7 @@

                        This includes I/O of any kind.

                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                        • firmware_capabilities (dict) – Reported capabilities (capability name mapped to enabled flag)

                        • @@ -896,12 +896,12 @@
                        -

                        octoprint.comm.protocol.action

                        +

                        octoprint.comm.protocol.action

                        -protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                        +protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        React to a action command received from the printer.

                        Hook handlers may use this to react to custom firmware messages. OctoPrint parses the received action @@ -916,7 +916,7 @@

                        Example:

                        Logs if the custom action (// action:custom) is received from the printer’s firmware.

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -944,7 +944,7 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                        • line (str) – The complete line as received from the printer, format // action:<command>

                        • @@ -961,7 +961,7 @@
                        -

                        octoprint.comm.protocol.atcommand.<phase>

                        +

                        octoprint.comm.protocol.atcommand.<phase>

                        This describes actually two hooks:

                          @@ -971,9 +971,9 @@
                        -protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                        +protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                        -

                        New in version 1.3.7.

                        +

                        Added in version 1.3.7.

                        Trigger on @ commands as they progress through the queuing and sending phases of the comm layer. See the gcode phase hook for a @@ -993,7 +993,7 @@

                        Pause the print on @wait (this mirrors the implementation of the built-in @pause command, just with a different name).

                        - +
                        # coding=utf-8
                         
                         def custom_atcommand_handler(comm, phase, command, parameters, tags=None, *args, **kwargs):
                        @@ -1017,7 +1017,7 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                        • phase (str) – The current phase in the command progression, either queuing or sending. Will always @@ -1031,7 +1031,7 @@

                        -

                        octoprint.comm.protocol.gcode.<phase>

                        +

                        octoprint.comm.protocol.gcode.<phase>

                        This actually describes four hooks:

                          @@ -1043,9 +1043,9 @@
                        -protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                        +protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Pre- and postprocess commands as they progress through the various phases of being sent to the printer. The phases are the following:

                        @@ -1170,7 +1170,7 @@

                        The following hook handler replaces all M107 (“Fan Off”, deprecated) with an M106 S0 (“Fan On” with speed parameter) upon queuing and logs all sent M106.

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -1200,7 +1200,7 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                        • phase (str) – The current phase in the command progression, either queuing, queued, sending or @@ -1215,7 +1215,7 @@

                        • tags – Tags attached to the command

                        -
                        Returns
                        +
                        Returns:

                        None, 1-tuple, 2-tuple or string, see the description above for details.

                        @@ -1223,12 +1223,12 @@
                        -

                        octoprint.comm.protocol.gcode.received

                        +

                        octoprint.comm.protocol.gcode.received

                        -gcode_received_hook(comm_instance, line, *args, **kwargs)
                        +gcode_received_hook(comm_instance, line, *args, **kwargs)
                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        Get the returned lines sent by the printer. Handlers should return the received line or in any case, the modified version of it. If the handler returns None, processing will be aborted and the communication layer will get an @@ -1243,7 +1243,7 @@

                        Example:

                        Looks for the response of an M115, which contains information about the MACHINE_TYPE, among other things.

                        - +
                        # coding=utf-8
                         
                         import logging
                        @@ -1270,16 +1270,16 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                        • line (str) – The line received from the printer.

                        -
                        Returns
                        +
                        Returns:

                        The received line or in any case, a modified version of it.

                        -
                        Return type
                        +
                        Return type:

                        str

                        @@ -1287,12 +1287,12 @@
                        -

                        octoprint.comm.protocol.gcode.error

                        +

                        octoprint.comm.protocol.gcode.error

                        -gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                        +gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                        -

                        New in version 1.3.7.

                        +

                        Added in version 1.3.7.

                        Get the messages of any errors messages sent by the printer, with the leading Error: or !! already stripped. Handlers should return True if they handled that error internally and it should not be processed by @@ -1310,7 +1310,7 @@

                        Looks for error messages containing “fan error” or “bed missing” (ignoring case) and marks them as handled by the plugin.

                        - +
                        import logging
                         
                         _HANDLED_ERRORS = ('fan error', 'bed missing')
                        @@ -1330,16 +1330,16 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                        • error_message (str) – The error message received from the printer.

                        -
                        Returns
                        +
                        Returns:

                        True if the error was handled in the plugin and should not be processed further, False (or None) otherwise.

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -1347,12 +1347,12 @@
                        -

                        octoprint.comm.protocol.scripts

                        +

                        octoprint.comm.protocol.scripts

                        -protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                        +protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Changed in version 1.3.7.

                        @@ -1370,7 +1370,7 @@

                        Example 1:

                        Appends an M117 OctoPrint connected to the configured afterPrinterConnected GCODE script.

                        - +
                        # coding=utf-8
                         
                         def message_on_connect(comm, script_type, script_name, *args, **kwargs):
                        @@ -1390,7 +1390,7 @@
                         

                        Example 2:

                        Provides the variable myvariable to the configured beforePrintStarted GCODE script.

                        - +
                        # coding=utf-8
                         
                         def gcode_script_variables(comm, script_type, script_name, *args, **kwargs):
                        @@ -1409,17 +1409,17 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                        • script_type (str) – The type of the script for which the hook was called, currently only “gcode” is supported here.

                        • script_name (str) – The name of the script for which the hook was called.

                        -
                        Returns
                        +
                        Returns:

                        A 2-tuple in the form (prefix, postfix), 3-tuple in the form (prefix, postfix, variables), or None

                        -
                        Return type
                        +
                        Return type:

                        tuple or None

                        @@ -1427,12 +1427,12 @@
                        -

                        octoprint.comm.protocol.temperatures.received

                        +

                        octoprint.comm.protocol.temperatures.received

                        -protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                        +protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                        -

                        New in version 1.3.6.

                        +

                        Added in version 1.3.6.

                        Get the parsed temperatures returned by the printer, allowing handlers to modify them prior to handing them off to the system. Handlers are expected to either return parsed_temperatures as-is or a modified copy thereof.

                        @@ -1450,7 +1450,7 @@

                        Example

                        The following example shows how to filter out actual temperatures that are outside a sane range of 1°C to 300°C.

                        - +
                        # coding=utf-8
                         
                         def sanitize_temperatures(comm, parsed_temps):
                        @@ -1472,12 +1472,12 @@
                         
                         
                        -

                        octoprint.comm.transport.serial.additional_port_names

                        +

                        octoprint.comm.transport.serial.additional_port_names

                        -additional_port_names_hook(candidates, *args, **kwargs)
                        +additional_port_names_hook(candidates, *args, **kwargs)
                        -

                        New in version 1.4.1.

                        +

                        Added in version 1.4.1.

                        Return additional port names (not glob patterns!) to use as a serial connection to the printer. Expected to be list of string.

                        @@ -1485,13 +1485,13 @@ to implement custom serial-like ports through plugins.

                        For an example of use see the bundled virtual_printer plugin.

                        -
                        Parameters
                        +
                        Parameters:

                        candidates (list) – The port names already found on the system available for connection.

                        -
                        Returns
                        +
                        Returns:

                        Additional port names to offer up for connection.

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -1499,12 +1499,12 @@
                        -

                        octoprint.comm.transport.serial.factory

                        +

                        octoprint.comm.transport.serial.factory

                        -serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                        +serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Return a serial object to use as serial connection to the printer. If a handler cannot create a serial object for the specified port (and baudrate), it should just return None.

                        @@ -1560,7 +1560,7 @@
                        -
                        Parameters
                        +
                        Parameters:
                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                        • port (str) – The port for which to construct a serial instance. May be None or AUTO in which case port @@ -1570,10 +1570,10 @@

                        • read_timeout (int) – The read timeout to set on the serial port.

                        -
                        Returns
                        +
                        Returns:

                        The constructed serial object ready for use, or None if the handler could not construct the object.

                        -
                        Return type
                        +
                        Return type:

                        A serial instance implementing the methods readline(...), write(...), close() and optionally baudrate and timeout attributes as described above.

                        @@ -1582,12 +1582,12 @@
                        -

                        octoprint.events.register_custom_events

                        +

                        octoprint.events.register_custom_events

                        -register_custom_events_hook(*args, **kwargs)
                        +register_custom_events_hook(*args, **kwargs)
                        -

                        New in version 1.3.11.

                        +

                        Added in version 1.3.11.

                        Return a list of custom events to register in the system for your plugin.

                        Should return a list of strings which represent the custom events. Their name on the octoprint.events.Events object @@ -1602,10 +1602,10 @@

                        -
                        Returns
                        +
                        Returns:

                        A list of custom events to register

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -1613,12 +1613,12 @@
                        -

                        octoprint.filemanager.analysis.factory

                        +

                        octoprint.filemanager.analysis.factory

                        -analysis_queue_factory_hook(*args, **kwargs)
                        +analysis_queue_factory_hook(*args, **kwargs)
                        -

                        New in version 1.3.9.

                        +

                        Added in version 1.3.9.

                        Return additional (or replacement) analysis queue factories used for analysing uploaded files.

                        Should return a dictionary to merge with the existing dictionary of factories, mapping from extension tree leaf @@ -1641,10 +1641,10 @@

                        -
                        Returns
                        +
                        Returns:

                        A dictionary of analysis queue factories, mapped by their targeted file type.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -1652,12 +1652,12 @@
                        -

                        octoprint.filemanager.extension_tree

                        +

                        octoprint.filemanager.extension_tree

                        -file_extension_hook(*args, **kwargs)
                        +file_extension_hook(*args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Return additional entries for the tree of accepted file extensions for uploading/handling by the file manager.

                        Should return a dictionary to merge with the existing extension tree, adding additional extension groups to @@ -1680,10 +1680,10 @@ in the rest of the system (e.g. handling/preprocessing new machine code file types for printing etc)!

                        -
                        Returns
                        +
                        Returns:

                        The partial extension tree to merge with the full extension tree.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -1691,12 +1691,12 @@
                        -

                        octoprint.filemanager.preprocessor

                        +

                        octoprint.filemanager.preprocessor

                        -file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                        +file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Replace the file_object used for saving added files to storage by calling save().

                        path will be the future path of the file on the storage. The file’s name is accessible via @@ -1707,7 +1707,7 @@

                        Example

                        The following plugin example strips all comments from uploaded/generated GCODE files ending on the name postfix _strip.

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -1745,7 +1745,7 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • path (str) – The path on storage the file_object is to be stored

                        • file_object (AbstractFileWrapper) – The AbstractFileWrapper instance @@ -1755,10 +1755,10 @@

                        • allow_overwrite (boolean) – Whether to allow overwriting an existing file named the same or not.

                        -
                        Returns
                        +
                        Returns:

                        The file_object as passed in or None, or a replaced version to use instead for further processing.

                        -
                        Return type
                        +
                        Return type:

                        AbstractFileWrapper or None

                        @@ -1766,61 +1766,61 @@
                        -

                        octoprint.plugin.backup.additional_excludes

                        +

                        octoprint.plugin.backup.additional_excludes

                        -

                        New in version 1.5.0.

                        +

                        Added in version 1.5.0.

                        See here.

                        -

                        octoprint.plugin.backup.before_backup

                        +

                        octoprint.plugin.backup.before_backup

                        -

                        New in version 1.9.0.

                        +

                        Added in version 1.9.0.

                        See here.

                        -

                        octoprint.plugin.backup.after_backup

                        +

                        octoprint.plugin.backup.after_backup

                        -

                        New in version 1.9.0.

                        +

                        Added in version 1.9.0.

                        See here.

                        -

                        octoprint.plugin.backup.before_restore

                        +

                        octoprint.plugin.backup.before_restore

                        -

                        New in version 1.9.0.

                        +

                        Added in version 1.9.0.

                        See here.

                        -

                        octoprint.plugin.backup.after_restore

                        +

                        octoprint.plugin.backup.after_restore

                        -

                        New in version 1.9.0.

                        +

                        Added in version 1.9.0.

                        See here.

                        -

                        octoprint.plugin.pluginmanager.reconnect_hooks

                        +

                        octoprint.plugin.pluginmanager.reconnect_hooks

                        -

                        New in version 1.4.0.

                        +

                        Added in version 1.4.0.

                        See here.

                        -

                        octoprint.plugin.softwareupdate.check_config

                        +

                        octoprint.plugin.softwareupdate.check_config

                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        See here.

                        -

                        octoprint.printer.additional_state_data

                        +

                        octoprint.printer.additional_state_data

                        -additional_state_data_hook(initial=False, *args, **kwargs)
                        +additional_state_data_hook(initial=False, *args, **kwargs)
                        -

                        New in version 1.5.0.

                        +

                        Added in version 1.5.0.

                        Use this to inject additional data into the data structure returned from the printer backend to the frontend on the push socket or other registered octoprint.printer.PrinterCallback. Anything you return here @@ -1835,13 +1835,13 @@

                        Cache your data!

                        -
                        Parameters
                        +
                        Parameters:

                        initial (boolean) – True if this is the initial update, False otherwise

                        -
                        Returns
                        +
                        Returns:

                        Additional data to include

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -1849,12 +1849,12 @@
                        -

                        octoprint.printer.factory

                        +

                        octoprint.printer.factory

                        -printer_factory_hook(components, *args, **kwargs)
                        +printer_factory_hook(components, *args, **kwargs)
                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        Return a PrinterInstance instance to use as global printer object. This will be called only once during initial server startup.

                        @@ -1876,13 +1876,13 @@

                        If none of the registered factories return a printer instance, the default Printer class will be instantiated.

                        -
                        Parameters
                        +
                        Parameters:

                        components (dict) – System components to use for printer instance initialization

                        -
                        Returns
                        +
                        Returns:

                        The printer instance to use globally.

                        -
                        Return type
                        +
                        Return type:

                        PrinterInterface subclass or None

                        @@ -1890,12 +1890,12 @@
                        -

                        octoprint.printer.handle_connect

                        +

                        octoprint.printer.handle_connect

                        handle_connect(*args, **kwargs):
                        -

                        New in version 1.6.0.

                        +

                        Added in version 1.6.0.

                        Allows plugins to perform actions upon connecting to a printer. By returning True, plugins may also prevent further processing of the connect command. This hook is of @@ -1903,14 +1903,14 @@ circumstances or if you need to do something before a connection to the printer is established (e.g. switching on power to the printer).

                        -
                        Parameters
                        +
                        Parameters:

                        kwargs – All connection parameters supplied to the connect call. Currently this also includes port, baudrate and profile.

                        -
                        Returns
                        +
                        Returns:

                        True if OctoPrint should not proceed with the connect

                        -
                        Return type
                        +
                        Return type:

                        boolean or None

                        @@ -1918,12 +1918,12 @@
                        -

                        octoprint.printer.estimation.factory

                        +

                        octoprint.printer.estimation.factory

                        +print_time_estimator_factory(*args, **kwargs)
                        -

                        New in version 1.3.9.

                        +

                        Added in version 1.3.9.

                        Return a PrintTimeEstimator subclass (or factory) to use for print time estimation. This will be called on each start of a print or streaming job with a single parameter job_type @@ -1955,10 +1955,10 @@

                        -
                        Returns
                        +
                        Returns:

                        The PrintTimeEstimator class to use, or a factory method

                        -
                        Return type
                        +
                        Return type:

                        class or function

                        @@ -1966,12 +1966,12 @@
                        -

                        octoprint.printer.sdcardupload

                        +

                        octoprint.printer.sdcardupload

                        -sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                        +sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                        -

                        New in version 1.3.11.

                        +

                        Added in version 1.3.11.

                        Via this hook plugins can change the way files are being uploaded to the sd card of the printer.

                        Implementations must call the provided start_callback on start of the file transfer and either the success_callback @@ -2029,10 +2029,10 @@

                        -

                        New in version 1.3.11.

                        +

                        Added in version 1.3.11.

                        -
                        Parameters
                        +
                        Parameters:
                        • printer (object) – the PrinterInterface instance the hook was called from

                        • filename (str) – filename on the local storage

                        • @@ -2042,10 +2042,10 @@
                        • sd_upload_failure (function) – callback for failure of upload

                        -
                        Returns
                        +
                        Returns:

                        the name of the file on the sdcard storage or None

                        -
                        Return type
                        +
                        Return type:

                        string or None

                        @@ -2053,12 +2053,12 @@
                        -

                        octoprint.server.api.after_request

                        +

                        octoprint.server.api.after_request

                        -after_request_handlers_hook(*args, **kwargs)
                        +after_request_handlers_hook(*args, **kwargs)
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows adding additional after-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                        Your plugin might need this to further restrict access to API methods.

                        @@ -2070,12 +2070,12 @@
                        -

                        octoprint.server.api.before_request

                        +

                        octoprint.server.api.before_request

                        -before_request_handlers_hook(*args, **kwargs)
                        +before_request_handlers_hook(*args, **kwargs)
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows adding additional before-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                        Your plugin might need this to further restrict access to API methods.

                        @@ -2087,12 +2087,12 @@
                        -

                        octoprint.server.http.access_validator

                        +

                        octoprint.server.http.access_validator

                        -access_validator_hook(request, *args, **kwargs)
                        +access_validator_hook(request, *args, **kwargs)
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows adding additional access validators to the default tornado routers.

                        Your plugin might need to this to restrict access to downloads and webcam snapshots further.

                        @@ -2104,12 +2104,12 @@
                        -

                        octoprint.server.http.bodysize

                        +

                        octoprint.server.http.bodysize

                        -server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                        +server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Allows extending the list of custom maximum body sizes on the web server per path and HTTP method with custom entries from plugins.

                        @@ -2131,7 +2131,7 @@ 500 and 1024KB. To test its functionality try uploading files larger or smaller than an endpoint’s configured maximum size (as multipart request with the file upload residing in request parameter file) and observe the behaviour.

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -2181,13 +2181,13 @@
                         
                        -
                        Parameters
                        +
                        Parameters:

                        current_max_body_sizes (list) – read-only list of the currently configured maximum body sizes

                        -
                        Returns
                        +
                        Returns:

                        A list of 3-tuples with additional request specific maximum body sizes as defined above

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -2195,12 +2195,12 @@
                        -

                        octoprint.server.http.routes

                        +

                        octoprint.server.http.routes

                        -server_route_hook(server_routes, *args, **kwargs)
                        +server_route_hook(server_routes, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Allows extending the list of routes registered on the web server.

                        This is interesting for plugins which want to provide their own download URLs which will then be delivered statically @@ -2237,7 +2237,7 @@

                        The following example registers two new routes /plugin/add_tornado_route/download and /plugin/add_tornado_route/forward in the webserver which roughly replicate the functionality of /downloads/files/local and /downloads/camera/current.

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -2284,13 +2284,13 @@
                         
                        -
                        Parameters
                        +
                        Parameters:

                        server_routes (list) – read-only list of the currently configured server routes

                        -
                        Returns
                        +
                        Returns:

                        a list of 3-tuples with additional routes as defined above

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -2298,16 +2298,16 @@
                        -

                        octoprint.server.sockjs.authed

                        +

                        octoprint.server.sockjs.authed

                        socket_authed_hook(socket, user, *args, **kwargs):
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows plugins to be notified that a user got authenticated or deauthenticated on the socket (e.g. due to logout).

                        -
                        Parameters
                        +
                        Parameters:
                        • socket (object) – the socket object which is about to be registered

                        • user (object) – the user that got authenticated on the socket, or None if the user got deauthenticated

                        • @@ -2318,27 +2318,27 @@
                        -

                        octoprint.server.sockjs.register

                        +

                        octoprint.server.sockjs.register

                        socket_registration_hook(socket, user, *args, **kwargs):
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows plugins to prevent a new push socket client to be registered to the system.

                        Handlers should return either True or False. True signals to proceed with normal registration. False signals to not register the client.

                        -
                        Parameters
                        +
                        Parameters:
                        • socket (object) – the socket object which is about to be registered

                        • user (object) – the user currently authenticated on the socket - might be None

                        -
                        Returns
                        +
                        Returns:

                        whether to proceed with registration (True) or not (False)

                        -
                        Return type
                        +
                        Return type:

                        boolean

                        @@ -2346,17 +2346,17 @@
                        -

                        octoprint.server.sockjs.emit

                        +

                        octoprint.server.sockjs.emit

                        socket_emit_hook(socket, user, message, payload, *args, **kwargs):
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows plugins to prevent any messages to be emitted on an existing push connection.

                        Handlers should return either True to allow the message to be emitted, or False to prevent it.

                        -
                        Parameters
                        +
                        Parameters:
                        • socket (object) – the socket object on which a message is about to be emitted

                        • user (object) – the user currently authenticated on the socket - might be None

                        • @@ -2364,10 +2364,10 @@
                        • payload (dict) – the payload of the message about to be emitted (may be None)

                        -
                        Returns
                        +
                        Returns:

                        whether to proceed with sending the message (True) or not (False)

                        -
                        Return type
                        +
                        Return type:

                        boolean

                        @@ -2375,22 +2375,22 @@
                        -

                        octoprint.system.additional_commands

                        +

                        octoprint.system.additional_commands

                        -additional_commands_hook(*args, **kwargs)
                        +additional_commands_hook(*args, **kwargs)
                        -

                        New in version 1.7.0.

                        +

                        Added in version 1.7.0.

                        Allows adding additional system commands into the system menu. Handlers must return a list of system command definitions, each definition matching the following data structure:

                        -

        Path

        Value

        +
        ----++++ @@ -2458,10 +2458,10 @@
        -
        Returns
        +
        Returns:

        a list of command specifications

        -
        Return type
        +
        Return type:

        list

        @@ -2469,12 +2469,12 @@
        -

        octoprint.systeminfo.additional_bundle_files

        +

        octoprint.systeminfo.additional_bundle_files

        -additional_bundle_files_hook(*args, **kwargs)
        +additional_bundle_files_hook(*args, **kwargs)
        -

        New in version 1.7.0.

        +

        Added in version 1.7.0.

        Allows bundled plugins to extend the list of files to include in the systeminfo bundle. Note that this hook will ignore third party plugins. Handlers must return a dictionary @@ -2492,10 +2492,10 @@

        -
        Returns
        +
        Returns:

        a dictionary mapping bundle file names to bundle file content

        -
        Return type
        +
        Return type:

        dict

        @@ -2503,12 +2503,12 @@
        -

        octoprint.timelapse.extensions

        +

        octoprint.timelapse.extensions

        -timelapse_extension_hook(*args, **kwargs)
        +timelapse_extension_hook(*args, **kwargs)
        -

        New in version 1.3.10.

        +

        Added in version 1.3.10.

        Allows extending the set of supported file extensions for timelapse files. Handlers must return a list of additional file extensions.

        @@ -2523,10 +2523,10 @@
        -
        Returns
        +
        Returns:

        a list of additional file extensions

        -
        Return type
        +
        Return type:

        list

        @@ -2534,12 +2534,12 @@
        -

        octoprint.ui.web.templatetypes

        +

        octoprint.ui.web.templatetypes

        -templatetype_hook(template_sorting, template_rules, *args, **kwargs)
        +templatetype_hook(template_sorting, template_rules, *args, **kwargs)
        -

        New in version 1.2.0.

        +

        Added in version 1.2.0.

        Allows extending the set of supported template types in the web interface. This is interesting for plugins which want to offer other plugins to hook into their own offered UIs. Handlers must return a list of additional template @@ -2549,10 +2549,10 @@

        The second entry must be a sorting specification that defines how OctoPrint should sort multiple templates injected through plugins of this template type. The sorting specification should be a dict with the following possible entries:

        -

        Name

        +
        --++ @@ -2585,10 +2585,10 @@

        The third entry must be a rule specification in form of a dict which tells OctoPrint how to process the template configuration entries provided by get_template_configs() by providing transformation functions of various kinds:

        -

        Key

        +
        --++ @@ -2630,7 +2630,7 @@

        The example consists of two plugins, one providing a custom template type and the other consuming it.

        First the provider:

        - +
        # coding=utf-8
         
         import octoprint.plugin
        @@ -2656,7 +2656,7 @@
         
        - +
        <h3>{{ _('Awesome Template Injections') }}</h3>
         
         {% for key in templates.plugin_custom_template_provider_awesometemplate.order %}
        @@ -2671,7 +2671,7 @@
         

        Then the consumer:

        - +
        # coding=utf-8
         
         import octoprint.plugin
        @@ -2695,22 +2695,22 @@
         
        -
        Parameters
        +
        Parameters:
        • template_rules (dict) – read-only dictionary of currently configured template rules

        • template_sorting (dict) – read-only dictionary of currently configured template sorting specifications

        -
        Returns
        +
        Returns:

        a list of 3-tuples (template type, rule, sorting spec)

        -
        Return type
        +
        Return type:

        list

        @@ -2718,7 +2718,7 @@
        -

        octoprint.theming.<dialog>

        +

        octoprint.theming.<dialog>

        This actually describes two hooks:

          @@ -2728,9 +2728,9 @@
        -ui_theming_hook(*args, **kwargs)
        +ui_theming_hook(*args, **kwargs)
        -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        Support theming of the login or recovery dialog, just in case the core UI is themed as well. Use to return a list of additional CSS file URLs to inject into the dialog HTML.

        @@ -2747,10 +2747,10 @@

        Only a list of ready-made URLs to CSS files is supported, neither LESS nor JS. Best use url_for like in the example above to be prepared for any configured prefix URLs.

        -
        Returns
        +
        Returns:

        A list of additional CSS URLs to inject into the login or recovery dialog.

        -
        Return type
        +
        Return type:

        A list of strings.

        @@ -2758,23 +2758,23 @@
        -

        octoprint.timelapse.capture.pre

        +

        octoprint.timelapse.capture.pre

        -capture_pre_hook(filename)
        +capture_pre_hook(filename)
        -

        New in version 1.4.0.

        +

        Added in version 1.4.0.

        Perform specific actions prior to capturing a timelapse frame.

        filename will be the future path of the frame to be saved.

        -
        Parameters
        +
        Parameters:

        filename (str) – The future path of the frame to be saved.

        -
        Returns
        +
        Returns:

        None

        -
        Return type
        +
        Return type:

        None

        @@ -2782,27 +2782,27 @@
        -

        octoprint.timelapse.capture.post

        +

        octoprint.timelapse.capture.post

        -capture_post_hook(filename, success)
        +capture_post_hook(filename, success)
        -

        New in version 1.4.0.

        +

        Added in version 1.4.0.

        Perform specific actions after capturing a timelapse frame.

        filename will be the path of the frame that should have been saved. success indicates whether the capture was successful or not.

        -
        Parameters
        +
        Parameters:
        • filename (str) – The path of the frame that should have been saved.

        • success (boolean) – Indicates whether the capture was successful or not.

        -
        Returns
        +
        Returns:

        None

        -
        Return type
        +
        Return type:

        None

        diff --git a/1.10.3/plugins/index.html b/1.10.3/plugins/index.html index 0a179967b..2839bde39 100644 --- a/1.10.3/plugins/index.html +++ b/1.10.3/plugins/index.html @@ -1,26 +1,26 @@ - + - + Developing Plugins — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -130,7 +130,7 @@
        -

        Developing Plugins

        +

        Developing Plugins

        • General Concepts
            diff --git a/1.10.3/plugins/injectedproperties.html b/1.10.3/plugins/injectedproperties.html index ee7cac9fb..8b6862ba1 100644 --- a/1.10.3/plugins/injectedproperties.html +++ b/1.10.3/plugins/injectedproperties.html @@ -1,26 +1,26 @@ - + - + Injected Properties — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -132,7 +132,7 @@
            -

            Injected Properties

            +

            Injected Properties

            OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties follows.

            diff --git a/1.10.3/plugins/mixins.html b/1.10.3/plugins/mixins.html index e15c9b33d..6498ec272 100644 --- a/1.10.3/plugins/mixins.html +++ b/1.10.3/plugins/mixins.html @@ -1,26 +1,26 @@ - + - + Mixins — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -155,8 +155,8 @@
            -

            Mixins

            -
            +

            Mixins

            +
          -
        +
        -

        General Concepts

        +

        General Concepts

        Plugin mixins are the heart of OctoPrint’s plugin system. They are special base classes which are to be subclassed and extended to add functionality to OctoPrint. Plugins declare their instances that implement one or multiple mixins using the __plugin_implementation__ control property. OctoPrint’s plugin core @@ -225,7 +225,7 @@

        -

        Execution Order

        +

        Execution Order

        Some mixin types, such as StartupPlugin, ShutdownPlugin and UiPlugin, support influencing the execution order for various execution contexts by also implementing the SortablePlugin mixin.

        @@ -247,7 +247,7 @@ and plugin_d don’t override get_sorting_key(). plugin_b and plugin_c both return 1 for the sorting context StartupPlugin.on_startup, None otherwise:

        -
        Listing 8 plugin_a.py
        +
        Listing 8 plugin_a.py
        import octoprint.plugin
         
         class PluginA(octoprint.plugin.StartupPlugin):
        @@ -263,7 +263,7 @@
         
        -
        Listing 9 plugin_b.py
        +
        Listing 9 plugin_b.py
        import octoprint.plugin
         
         class PluginB(octoprint.plugin.StartupPlugin):
        @@ -284,7 +284,7 @@
         
        -
        Listing 10 plugin_c.py
        +
        Listing 10 plugin_c.py
        import octoprint.plugin
         
         class PluginC(octoprint.plugin.StartupPlugin):
        @@ -306,7 +306,7 @@
         
        -
        Listing 11 plugin_d.py
        +
        Listing 11 plugin_d.py
        # in this example this is bundled with OctoPrint
         import octoprint.plugin
         
        @@ -343,7 +343,7 @@
         
        -

        Injected Properties

        +

        Injected Properties

        OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties can be found in the section Injected Properties.

        @@ -355,9 +355,9 @@
        -

        Available plugin mixins

        +

        Available plugin mixins

        The following plugin mixins are currently available:

        - +

        Please note that all plugin mixins inherit from Plugin and OctoPrintPlugin, which also provide attributes of interest to plugin developers.

        -

        AssetPlugin

        +

        AssetPlugin

        -class octoprint.plugin.AssetPlugin
        +class octoprint.plugin.AssetPlugin

        Bases: OctoPrintPlugin, RestartNeedingPlugin

        The AssetPlugin mixin allows plugins to define additional static assets such as JavaScript or CSS files to be automatically embedded into the pages delivered by the server to be used within the client sided part of @@ -392,11 +392,11 @@

        AssetPlugin is a RestartNeedingPlugin.

        -get_asset_folder()
        +get_asset_folder()

        Defines the folder where the plugin stores its static assets as defined in get_assets(). Override this if your plugin stores its assets at some other place than the static sub folder in the plugin base directory.

        -
        Return string
        +
        Return string:

        the absolute path to the folder where the plugin stores its static assets

        @@ -404,7 +404,7 @@
        -get_assets()
        +get_assets()

        Defines the static assets the plugin offers. The following asset types are recognized and automatically imported at the appropriate places to be available:

        @@ -434,7 +434,7 @@

        Assets of the types js, css and less will be automatically bundled by OctoPrint using Flask-Assets.

        -
        Return dict
        +
        Return dict:

        a dictionary describing the static assets to publish for the plugin

        @@ -444,10 +444,10 @@
        -

        BlueprintPlugin

        +

        BlueprintPlugin

        -class octoprint.plugin.BlueprintPlugin
        +class octoprint.plugin.BlueprintPlugin

        Bases: OctoPrintPlugin, RestartNeedingPlugin

        The BlueprintPlugin mixin allows plugins to define their own full fledged endpoints for whatever purpose, be it a more sophisticated API than what is possible via the SimpleApiPlugin or a custom web frontend.

        @@ -511,35 +511,35 @@
        -static csrf_exempt()
        +static csrf_exempt()

        A decorator to mark a view method in your BlueprintPlugin as exempt from CSRF protection. This makes sense if you offer an authenticated API for a certain workflow (see e.g. the bundled appkeys plugin) but in most cases should not be needed.

        -

        New in version 1.8.3.

        +

        Added in version 1.8.3.

        -static errorhandler(code_or_exception)
        +static errorhandler(code_or_exception)

        A decorator to mark errorhandlings methods in your BlueprintPlugin subclass. Works just the same as Flask’s own errorhandler decorator available on blueprints.

        See the documentation for flask.Blueprint.errorhandler and the documentation for flask.Flask.errorhandler for more information.

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_blueprint()
        +get_blueprint()

        Creates and returns the blueprint for your plugin. Override this if you want to define and handle your blueprint yourself.

        This method will only be called once during server initialization.

        -
        Returns
        +
        Returns:

        the blueprint ready to be registered with Flask

        @@ -547,7 +547,7 @@
        -get_blueprint_api_prefixes()
        +get_blueprint_api_prefixes()

        Return all prefixes of your endpoint that are an API that should be containing JSON only.

        Anything that matches this will generate JSON error messages in case of flask.abort calls, instead of the default HTML ones.

        @@ -558,7 +558,7 @@
        -get_blueprint_kwargs()
        +get_blueprint_kwargs()

        Override this if you want your blueprint constructed with additional options such as static_folder, template_folder, etc.

        Defaults to the blueprint’s static_folder and template_folder to be set to the plugin’s basefolder @@ -568,7 +568,7 @@

        -is_blueprint_csrf_protected()
        +is_blueprint_csrf_protected()

        Whether a blueprint’s endpoints are CSRF protected. For now, this defaults to False to leave it up to plugins to decide which endpoints should be protected. Long term, this will default to True and hence enforce protection unless a plugin opts out by returning False here.

        @@ -576,13 +576,13 @@ to alert you of the requirement to make a decision here and to not rely on the default implementation, due to the forthcoming change in implemented default behaviour.

        -

        New in version 1.8.3.

        +

        Added in version 1.8.3.

        -is_blueprint_protected()
        +is_blueprint_protected()

        Whether a login session by a registered user is needed to access the blueprint’s endpoints. Requiring a session is the default. Note that this only restricts access to the blueprint’s dynamic methods, static files are always accessible.

        @@ -592,7 +592,7 @@
        -static route(rule, **options)
        +static route(rule, **options)

        A decorator to mark view methods in your BlueprintPlugin subclass. Works just the same as Flask’s own route decorator available on blueprints.

        See the documentation for flask.Blueprint.route @@ -604,10 +604,10 @@

        -

        EventHandlerPlugin

        +

        EventHandlerPlugin

        -class octoprint.plugin.EventHandlerPlugin
        +class octoprint.plugin.EventHandlerPlugin

        Bases: OctoPrintPlugin

        The EventHandlerPlugin mixin allows OctoPrint plugins to react to any of OctoPrint’s events. OctoPrint will call the on_event() method for any event fired on its internal event bus, supplying the @@ -618,14 +618,14 @@ videos rendering etc.

        -on_event(event, payload)
        +on_event(event, payload)

        Called by OctoPrint upon processing of a fired event on the platform.

        Warning

        Do not perform long-running or even blocking operations in your implementation or you will block and break the server.

        -
        Parameters
        +
        Parameters:
        • event (str) – The type of event that got fired, see the list of events for possible values

        • @@ -639,19 +639,19 @@
        -

        ProgressPlugin

        +

        ProgressPlugin

        -class octoprint.plugin.ProgressPlugin
        +class octoprint.plugin.ProgressPlugin

        Bases: OctoPrintPlugin

        Via the ProgressPlugin mixing plugins can let themselves be called upon progress in print jobs or slicing jobs, limited to minimally 1% steps.

        -on_print_progress(storage, path, progress)
        +on_print_progress(storage, path, progress)

        Called by OctoPrint on minimally 1% increments during a running print job.

        -
        Parameters
        +
        Parameters:
        • storage (string) – Location of the file

        • path (string) – Path of the file

        • @@ -663,10 +663,10 @@
          -on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)
          +on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)

          Called by OctoPrint on minimally 1% increments during a running slicing job.

          -
          Parameters
          +
          Parameters:
          • slicer (string) – Key of the slicer reporting the progress

          • source_location (string) – Location of the source file

          • @@ -683,30 +683,30 @@
        -

        ReloadNeedingPlugin

        +

        ReloadNeedingPlugin

        -class octoprint.plugin.ReloadNeedingPlugin
        +class octoprint.plugin.ReloadNeedingPlugin

        Bases: Plugin

        Mixin for plugin types that need a reload of the UI after enabling/disabling them.

        -

        RestartNeedingPlugin

        +

        RestartNeedingPlugin

        -class octoprint.plugin.RestartNeedingPlugin
        +class octoprint.plugin.RestartNeedingPlugin

        Bases: Plugin

        Mixin for plugin types that need a restart after enabling/disabling them.

        -

        SettingsPlugin

        +

        SettingsPlugin

        -class octoprint.plugin.SettingsPlugin
        +class octoprint.plugin.SettingsPlugin

        Bases: OctoPrintPlugin

        Including the SettingsPlugin mixin allows plugins to store and retrieve their own settings within OctoPrint’s configuration.

        @@ -775,13 +775,13 @@
        -config_version_key = '_config_version'
        +config_version_key = '_config_version'

        Key of the field in the settings that holds the configuration format version.

        -get_settings_defaults()
        +get_settings_defaults()

        Retrieves the plugin’s default settings with which the plugin’s settings manager will be initialized.

        Override this in your plugin’s implementation and return a dictionary defining your settings data structure with included default values.

        @@ -789,7 +789,7 @@
        -get_settings_preprocessors()
        +get_settings_preprocessors()

        Retrieves the plugin’s preprocessors to use for preprocessing returned or set values prior to returning/setting them.

        The preprocessors should be provided as a dictionary mapping the path of the values to preprocess @@ -816,11 +816,11 @@

        -
        Returns
        +
        Returns:

        A tuple consisting of two dictionaries, the first being the plugin’s preprocessors for getters, the second the preprocessors for setters

        -
        Return type
        +
        Return type:

        (dict, dict)

        @@ -828,7 +828,7 @@
        -get_settings_restricted_paths()
        +get_settings_restricted_paths()

        Retrieves the list of paths in the plugin’s settings which be restricted on the REST API.

        Override this in your plugin’s implementation to restrict whether a path should only be returned to users with certain permissions, or never on the REST API.

        @@ -896,23 +896,23 @@
        -

        New in version 1.2.17.

        +

        Added in version 1.2.17.

        -get_settings_version()
        +get_settings_version()

        Retrieves the settings format version of the plugin.

        Use this to have OctoPrint trigger your migration function if it detects an outdated settings version in config.yaml.

        -
        Returns
        +
        Returns:

        an int signifying the current settings format, should be incremented by plugins whenever there are backwards incompatible changes. Returning None here disables the version tracking for the plugin’s configuration.

        -
        Return type
        +
        Return type:

        int or None

        @@ -920,20 +920,20 @@
        -on_settings_cleanup()
        +on_settings_cleanup()

        Called after migration and initialization but before call to on_settings_initialized().

        Plugins may overwrite this method to perform additional clean up tasks.

        The default implementation just minimizes the data persisted on disk to only contain the differences to the defaults (in case the current data was persisted with an older version of OctoPrint that still duplicated default data).

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -on_settings_initialized()
        +on_settings_initialized()

        Called after the settings have been initialized and - if necessary - also been migrated through a call to func:on_settings_migrate.

        This method will always be called after the initialize method.

        @@ -941,7 +941,7 @@
        -on_settings_load()
        +on_settings_load()

        Loads the settings for the plugin, called by the Settings API view in order to retrieve all settings from all plugins. Override this if you want to inject additional settings properties that are not stored within OctoPrint’s configuration.

        @@ -959,7 +959,7 @@ Make sure to do your own restriction if you decide to fully overload this method.

        -
        Returns
        +
        Returns:

        the current settings of the plugin, as a dictionary

        @@ -967,7 +967,7 @@
        -on_settings_migrate(target, current)
        +on_settings_migrate(target, current)

        Called by OctoPrint if it detects that the installed version of the plugin necessitates a higher settings version than the one currently stored in _config.yaml. Will also be called if the settings data stored in config.yaml doesn’t have version information, in which case the current parameter will be None.

        @@ -977,7 +977,7 @@ having taken place. You can therefore depend on the configuration having been migrated by the time on_settings_initialized() is called.

        -
        Parameters
        +
        Parameters:
        • target (int) – The settings format version the plugin requires, this should always be the same value as returned by get_settings_version().

        • @@ -990,7 +990,7 @@
          -on_settings_save(data)
          +on_settings_save(data)

          Saves the settings for the plugin, called by the Settings API view in order to persist all settings from all plugins. Override this if you need to directly react to settings changes or want to extract additional settings properties that are not stored within OctoPrint’s configuration.

          @@ -1004,13 +1004,13 @@ and using the proper setter methods on the settings manager to persist the data in the correct format.

          -
          Parameters
          +
          Parameters:

          data (dict) – The settings dictionary to be saved for the plugin

          -
          Returns
          +
          Returns:

          The settings that differed from the defaults and were actually saved.

          -
          Return type
          +
          Return type:

          dict

          @@ -1020,10 +1020,10 @@
          -

          ShutdownPlugin

          +

          ShutdownPlugin

          -class octoprint.plugin.ShutdownPlugin
          +class octoprint.plugin.ShutdownPlugin

          Bases: OctoPrintPlugin, SortablePlugin

          The ShutdownPlugin allows hooking into the shutdown of OctoPrint. It’s usually used in conjunction with the StartupPlugin mixin, to cleanly shut down additional services again that where started by the StartupPlugin @@ -1032,7 +1032,7 @@ on_shutdown().

          -on_shutdown()
          +on_shutdown()

          Called upon the imminent shutdown of OctoPrint.

          Warning

          @@ -1045,10 +1045,10 @@
          -

          SimpleApiPlugin

          +

          SimpleApiPlugin

          -class octoprint.plugin.SimpleApiPlugin
          +class octoprint.plugin.SimpleApiPlugin

          Bases: OctoPrintPlugin

          Utilizing the SimpleApiPlugin mixin plugins may implement a simple API based around one GET resource and one resource accepting JSON commands POSTed to it. This is the easy alternative for plugin’s which don’t need the @@ -1125,20 +1125,20 @@

          -get_api_commands()
          +get_api_commands()

          Return a dictionary here with the keys representing the accepted commands and the values being lists of mandatory parameter names.

          -is_api_adminonly()
          +is_api_adminonly()

          Return True if the API is only available to users having the admin role.

          -on_api_command(command, data)
          +on_api_command(command, data)

          Called by OctoPrint upon a POST request to /api/plugin/<plugin identifier>. command will contain one of the commands as specified via get_api_commands(), data will contain the full request body parsed from JSON into a Python dictionary. Note that this will also contain the command attribute itself. For the @@ -1148,13 +1148,13 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

          -
          Parameters
          +
          Parameters:
          • command (string) – the command with which the resource was called

          • data (dict) – the full request body of the POST request parsed from JSON into a Python dictionary

          -
          Returns
          +
          Returns:

          None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

          @@ -1163,7 +1163,7 @@
          -on_api_get(request)
          +on_api_get(request)

          Called by OctoPrint upon a GET request to /api/plugin/<plugin identifier>. request will contain the received Flask request object which you may evaluate for additional arguments supplied with the request.

          @@ -1171,10 +1171,10 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

          -
          Parameters
          +
          Parameters:

          request – the Flask request object

          -
          Returns
          +
          Returns:

          None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

          @@ -1185,18 +1185,18 @@
          -

          SlicerPlugin

          +

          SlicerPlugin

          -class octoprint.plugin.SlicerPlugin
          +class octoprint.plugin.SlicerPlugin

          Bases: OctoPrintPlugin

          Via the SlicerPlugin mixin plugins can add support for slicing engines to be used by OctoPrint.

          -cancel_slicing(machinecode_path)
          +cancel_slicing(machinecode_path)

          Cancels the slicing to the indicated file.

          -
          Parameters
          +
          Parameters:

          machinecode_path (str) – The absolute path to the machine code file to which to stop slicing to.

          @@ -1204,7 +1204,7 @@
          -do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)
          +do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)

          Called by OctoPrint to slice model_path for the indicated printer_profile. If the machinecode_path is None, slicer implementations should generate it from the provided model_path.

          If provided, the profile_path is guaranteed by OctoPrint to be a serialized slicing profile created through the slicing @@ -1242,13 +1242,13 @@ containing a human readable reason for the error.

          If the job gets cancelled, a SlicingCancelled exception should be raised.

          -
          Returns
          +
          Returns:

          A 2-tuple (boolean, object) as outlined above.

          -
          Return type
          +
          Return type:

          tuple

          -
          Raises
          +
          Raises:

          SlicingCancelled – The slicing job was cancelled (via cancel_slicing()).

          @@ -1256,18 +1256,18 @@
          -get_slicer_default_profile()
          +get_slicer_default_profile()

          Should return a SlicingProfile containing the default slicing profile to use with this slicer if no other profile has been selected.

          -
          Returns
          +
          Returns:

          The SlicingProfile containing the default slicing profile for

          this slicer.

          -
          Return type
          +
          Return type:

          SlicingProfile

          @@ -1275,30 +1275,30 @@
          -get_slicer_extension_tree()
          +get_slicer_extension_tree()

          Fetch additional entries to put into the extension tree for accepted files

          By default, a subtree for model files with stl extension is returned. Slicers who want to support additional/other file types will want to override this.

          For the extension tree format, take a look at the docs of the octoprint.filemanager.extension_tree hook.

          Returns: (dict) a dictionary containing a valid extension subtree.

          -

          New in version 1.3.11.

          +

          Added in version 1.3.11.

          -get_slicer_profile(path)
          +get_slicer_profile(path)

          Should return a SlicingProfile parsed from the slicing profile stored at the indicated path.

          -
          Parameters
          +
          Parameters:

          path (str) – The absolute path from which to read the slicing profile.

          -
          Returns
          +
          Returns:

          The specified slicing profile.

          -
          Return type
          +
          Return type:

          SlicingProfile

          @@ -1306,32 +1306,32 @@
          -get_slicer_profiles(profile_path)
          +get_slicer_profiles(profile_path)

          Fetch all SlicingProfile stored for this slicer.

          For compatibility reasons with existing slicing plugins this method defaults to returning profiles parsed from .profile files in the plugin’s profile_path, utilizing the SlicingPlugin.get_slicer_profile() method of the plugin implementation.

          -
          Parameters
          +
          Parameters:

          profile_path (str) – The base folder where OctoPrint stores this slicer plugin’s profiles

          -

          New in version 1.3.7.

          +

          Added in version 1.3.7.

          -get_slicer_profiles_lastmodified(profile_path)
          +get_slicer_profiles_lastmodified(profile_path)
          -

          New in version 1.3.0.

          +

          Added in version 1.3.0.

          -get_slicer_properties()
          +get_slicer_properties()

          Plugins should override this method to return a dict containing a bunch of meta data about the implemented slicer.

          The expected keys in the returned dict have the following meaning:

          @@ -1356,10 +1356,10 @@
          -
          Returns
          +
          Returns:

          A dict describing the slicer as outlined above.

          -
          Return type
          +
          Return type:

          dict

          @@ -1367,7 +1367,7 @@
          -is_slicer_configured()
          +is_slicer_configured()

          Unless the return value of this method is True, OctoPrint will not register the slicer within the slicing sub system upon startup. Plugins may use this to do some start up checks to verify that e.g. the path to a slicing binary as set and the binary is executable, or credentials of a cloud slicing platform are properly @@ -1376,12 +1376,12 @@

          -save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)
          +save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)

          Should save the provided SlicingProfile to the indicated path, after applying any supplied overrides. If a profile is already saved under the indicated path and allow_overwrite is set to False (defaults to True), an IOError should be raised.

          -
          Parameters
          +
          Parameters:
          • path (str) – The absolute path to which to save the profile.

          • profile (SlicingProfile) – The profile to save.

          • @@ -1398,10 +1398,10 @@
          -

          StartupPlugin

          +

          StartupPlugin

          -class octoprint.plugin.StartupPlugin
          +class octoprint.plugin.StartupPlugin

          Bases: OctoPrintPlugin, SortablePlugin

          The StartupPlugin allows hooking into the startup of OctoPrint. It can be used to start up additional services on or just after the startup of the server.

          @@ -1410,7 +1410,7 @@ on_after_startup().

          -on_after_startup()
          +on_after_startup()

          Called just after launch of the server, so when the listen loop is actually running already.

          Warning

          @@ -1421,7 +1421,7 @@
          -on_startup(host, port)
          +on_startup(host, port)

          Called just before the server is actually launched. Plugins get supplied with the host and port the server will listen on. Note that the host may be 0.0.0.0 if it will listen on all interfaces, so you can’t just blindly use this for constructing publicly reachable URLs. Also note that when this method is called, the server @@ -1433,7 +1433,7 @@

          The relevant sorting context is StartupPlugin.on_startup.

          -
          Parameters
          +
          Parameters:
          • host (string) – the host the server will listen on, may be 0.0.0.0

          • port (int) – the port the server will listen on

          • @@ -1446,10 +1446,10 @@
          -

          TemplatePlugin

          +

          TemplatePlugin

          -class octoprint.plugin.TemplatePlugin
          +class octoprint.plugin.TemplatePlugin

          Bases: OctoPrintPlugin, ReloadNeedingPlugin

          Using the TemplatePlugin mixin plugins may inject their own components into the OctoPrint web interface.

          Currently OctoPrint supports the following types of injections out of the box:

          @@ -1495,7 +1495,7 @@

          The template will be already wrapped into the necessary structure, plugins just need to supply the pure content. The wrapper div will have the additional classes and styles applied as defined via the configuration through get_template_configs().

          -

          New in version 1.9.0.

          +

          Added in version 1.9.0.

          Wizards

          Plugins may define wizard dialogs to display to the user if necessary (e.g. in case of missing information that @@ -1519,7 +1519,7 @@ wizard step.

          -

          New in version 1.3.0.

          +

          Added in version 1.3.0.

          About

          Plugins may define additional panels into OctoPrint’s “About” dialog. Note that with the current implementation @@ -1530,7 +1530,7 @@ wrapped div and the link in the navigation will have the additional classes and styles applied as defined via the configuration supplied through get_template_configs().

          -

          New in version 1.3.0.

          +

          Added in version 1.3.0.

          Generic

          Plugins may also inject arbitrary templates into the page of the web interface itself, e.g. in order to @@ -1540,13 +1540,13 @@

          Template injection types in the main part of the interface
          -

          Fig. 26 Template injection types in the main part of the interface

          +

          Fig. 26 Template injection types in the main part of the interface

          Template injection types in the settings
          -

          Fig. 27 Template injection types in the settings

          +

          Fig. 27 Template injection types in the settings

          You can find an example for a simple plugin which injects navbar, tab and settings content into the interface in @@ -1558,15 +1558,15 @@

          TemplatePlugin is a ReloadNeedingPlugin.

          -get_template_configs()
          +get_template_configs()

          Allows configuration of injected navbar, sidebar, tab and settings templates (and also additional templates of types specified by plugins through the octoprint.ui.web.templatetypes hook). Should be a list containing one configuration object per template to inject. Each configuration object is represented by a dictionary which may contain the following keys:

          -

        Key

        +
        --++ @@ -1663,10 +1663,10 @@

        Further keys to be included in the dictionary depend on the type:

        sidebar type

        -

        type

        +
        --++ @@ -1693,10 +1693,10 @@

        tab type and settings type

        -

        icon

        +
        --++ @@ -1716,10 +1716,10 @@

        webcam type

        -

        classes_content

        +
        --++ @@ -1733,10 +1733,10 @@

        wizard type

        -

        classes_content

        +
        --++ @@ -1775,7 +1775,7 @@
        -
        Return list
        +
        Return list:

        a list containing the configuration options for the plugin’s injected templates

        @@ -1783,11 +1783,11 @@
        -get_template_folder()
        +get_template_folder()

        Defines the folder where the plugin stores its templates. Override this if your plugin stores its templates at some other place than the templates sub folder in the plugin base directory.

        -
        Return string
        +
        Return string:

        the absolute path to the folder where the plugin stores its jinja2 templates

        @@ -1795,11 +1795,11 @@
        -get_template_vars()
        +get_template_vars()

        Defines additional template variables to include into the template renderer. Variable names will be prefixed with plugin_<plugin identifier>_.

        -
        Return dict
        +
        Return dict:

        a dictionary containing any additional template variables to include in the renderer

        @@ -1809,10 +1809,10 @@
        -

        UiPlugin

        +

        UiPlugin

        -class octoprint.plugin.UiPlugin
        +class octoprint.plugin.UiPlugin

        Bases: OctoPrintPlugin, SortablePlugin

        The UiPlugin mixin allows plugins to completely replace the UI served by OctoPrint when requesting the main page hosted at /.

        @@ -1843,7 +1843,7 @@ only exemplary) UI if the requesting client has a UserAgent string hinting at it being a mobile device:

        - +
        # coding=utf-8
         from __future__ import absolute_import
         
        @@ -1873,7 +1873,7 @@
         
        - +
        <html>
             <head>
                 <title>Dummy Mobile OctoPrint UI</title>
        @@ -1925,36 +1925,36 @@
         server startup (basically eager caching instead of lazily waiting for the first request).

        See below for details on this.

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_additional_etag(default_additional)
        +get_ui_additional_etag(default_additional)

        Allows to provide a list of additional fields to use for ETag generation.

        By default the same list will be returned that is also used in the stock UI (and injected via the parameter default_additional).

        -
        Parameters
        +
        Parameters:

        default_additional (list) – The list of default fields added to the ETag of the default UI

        -
        Returns
        +
        Returns:

        A list of additional fields for the ETag generation, or None

        -
        Return type
        +
        Return type:

        (list)

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_additional_key_data_for_cache()
        +get_ui_additional_key_data_for_cache()

        Allows to return additional data to use in the cache key.

        -
        Returns
        +
        Returns:

        A list or tuple of strings to use in the cache key. Will be joined by OctoPrint

        using : as separator and appended to the existing ui:<identifier>:<base url>:<locale> cache key. Ignored if None is returned.

        @@ -1962,165 +1962,165 @@

        -
        Return type
        +
        Return type:

        list, tuple

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_additional_request_data_for_preemptive_caching()
        +get_ui_additional_request_data_for_preemptive_caching()

        Allows defining additional request data to persist in the preemptive cache configuration and to use for the fake request used for populating the preemptive cache.

        Keys and values are used as keyword arguments for creating the Werkzeug EnvironBuilder used for creating the fake request.

        -
        Returns
        +
        Returns:

        Additional request data to persist in the preemptive cache configuration and to

        use for request environment construction.

        -
        Return type
        +
        Return type:

        dict

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_additional_tracked_files()
        +get_ui_additional_tracked_files()

        Allows to return additional files to track for validating existing caches. By default OctoPrint will track all declared templates, assets and translation files in the system. Additional files can be added by a plugin through this callback.

        -
        Returns
        +
        Returns:

        A list of paths to additional files whose modification to track for (in)validating

        the cache. Ignored if None is returned.

        -
        Return type
        +
        Return type:

        list

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_custom_etag()
        +get_ui_custom_etag()

        Allows to use a custom way to calculate the ETag, instead of the default method (hashing OctoPrint’s version, tracked file paths and LastModified value).

        -
        Returns
        +
        Returns:

        An alternatively calculated ETag value. Ignored if None is returned (default).

        -
        Return type
        +
        Return type:

        str

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_custom_lastmodified()
        +get_ui_custom_lastmodified()

        Allows to calculate the LastModified differently than using the most recent modification date of all tracked files.

        -
        Returns
        +
        Returns:

        An alternatively calculated LastModified value. Ignored if None is returned (default).

        -
        Return type
        +
        Return type:

        int

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_custom_template_filter(default_template_filter)
        +get_ui_custom_template_filter(default_template_filter)

        Allows to specify a custom template filter to use for filtering the template contained in the render_kwargs provided to the templating sub system.

        Only relevant for UiPlugins that actually utilize the stock templates of OctoPrint.

        By default simply returns the provided default_template_filter.

        -
        Parameters
        +
        Parameters:

        default_template_filter (callable) – The default template filter used by the default UI

        -
        Returns
        +
        Returns:

        (callable) A filter function accepting the template_type and template_key of a template and returning True to keep it and False to filter it out. If None is returned, no filtering will take place.

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_custom_tracked_files()
        +get_ui_custom_tracked_files()

        Allows to define a complete separate set of files to track for (in)validating the cache. If this method returns something, the templates, assets and translation files won’t be tracked, only the files specified in the returned list.

        -
        Returns
        +
        Returns:

        A list of paths representing the only files whose modification to track for (in)validating

        the cache. Ignored if None is returned.

        -
        Return type
        +
        Return type:

        list

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_data_for_preemptive_caching()
        +get_ui_data_for_preemptive_caching()

        Allows defining additional data to be persisted in the preemptive cache configuration, on top of the request path, base URL and used locale.

        -
        Returns
        +
        Returns:

        Additional data to persist in the preemptive cache configuration.

        -
        Return type
        +
        Return type:

        dict

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_permissions()
        +get_ui_permissions()

        Determines a list of permissions that need to be on the current user session. If these requirements are not met, OctoPrint will instead redirect to a login screen.

        @@ -2129,7 +2129,7 @@ view renders, in which case it will fall to your plugin to implement its own login logic.

        -
        Returns
        +
        Returns:

        (list) A list of permissions which to check the current user session against. May be empty to indicate that no permission checks should be made by OctoPrint.

        @@ -2138,35 +2138,35 @@
        -get_ui_preemptive_caching_additional_unless()
        +get_ui_preemptive_caching_additional_unless()

        Allows defining additional reasons for temporarily not adding a preemptive cache record for your plugin’s UI.

        OctoPrint will call this method when processing a UI request, to determine whether to record the access or not. If you return True here, no record will be created.

        -
        Returns
        +
        Returns:

        Whether to suppress a record (True) or not (False, default)

        -
        Return type
        +
        Return type:

        bool

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -get_ui_preemptive_caching_enabled()
        +get_ui_preemptive_caching_enabled()

        Allows to control whether the view provided by the plugin should be preemptively cached on server startup (default) or not.

        Have this return False if you do not want your plugin’s UI to ever be preemptively cached.

        -
        Returns
        +
        Returns:

        Whether to enable preemptive caching (True, default) or not (False)

        -
        Return type
        +
        Return type:

        bool

        @@ -2174,7 +2174,7 @@
        -on_ui_render(now, request, render_kwargs)
        +on_ui_render(now, request, render_kwargs)

        Called by OctoPrint to retrieve the response to send to the client for the request to /. Only called if will_handle_ui() returned True.

        @@ -2182,10 +2182,10 @@ will contain the following key and value pairs (note that not all key value pairs contained in the dictionary are listed here, only those you should depend on as a plugin developer at the current time):

        -

        mandatory

        +
        --++ @@ -2198,10 +2198,10 @@

        debug

        version

        OctoPrint’s version information. This is a dict with the following keys:

        - +
        --++ @@ -2227,10 +2227,10 @@

        number

        Template data to render in the UI. Will be a dict containing entries for all known template types.

        The sub structure for each key will be as follows:

        - +
        --++ @@ -2266,7 +2266,7 @@

        On top of that all additional template variables as provided by get_template_vars() will be contained in the dictionary as well.

        -
        Parameters
        +
        Parameters:
        • now (datetime.datetime) – The datetime instance representing “now” for this request, in case your plugin implementation needs this @@ -2277,7 +2277,7 @@ would usually be provided to the core UI render function.

        -
        Returns
        +
        Returns:

        Should return a Flask Response

        object that can be served to the requesting client directly. May be created with flask.make_response combined with something like @@ -2286,7 +2286,7 @@

        -
        Return type
        +
        Return type:

        flask.Response

        @@ -2294,7 +2294,7 @@
        -will_handle_ui(request)
        +will_handle_ui(request)

        Called by OctoPrint to determine if the mixin implementation will be able to handle the request provided as a parameter.

        Return True here to signal that your implementation will handle @@ -2303,19 +2303,19 @@

        The execution order of calls to this method can be influenced via the sorting context UiPlugin.will_handle_ui.

        -
        Parameters
        +
        Parameters:

        request (flask.Request) –

        A Flask Request object.

        -
        Returns
        +
        Returns:

        True if the implementation will serve the request,

        False otherwise.

        -
        Return type
        +
        Return type:

        bool

        @@ -2325,22 +2325,22 @@
        -

        WebcamProviderPlugin

        +

        WebcamProviderPlugin

        -class octoprint.plugin.WebcamProviderPlugin
        +class octoprint.plugin.WebcamProviderPlugin

        Bases: OctoPrintPlugin

        The WebcamProviderPlugin can be used to provide one or more webcams visible on the frontend and used for snapshots/timelapses.

        For an example of how to utilize this, see the bundled classicwebcam plugin, or the testpicture plugin available here.

        -get_webcam_configurations()
        +get_webcam_configurations()

        Used to retrieve a list of available webcams

        -
        Returns
        +
        Returns:

        The available webcams, can be empty if none available.

        -
        Return type
        +
        Return type:

        A list of Webcam

        @@ -2348,17 +2348,17 @@
        -take_webcam_snapshot(webcamName)
        +take_webcam_snapshot(webcamName)

        Used to take a JPEG snapshot of the webcam. This method may raise an exception, you can expect failures to be handled.

        -
        param string webcamName
        +
        param string webcamName:

        The name of the webcam to take a snapshot of as given by the configurations

        -
        Returns
        +
        Returns:

        An iterator over bytes of the JPEG image

        @@ -2368,10 +2368,10 @@
        -

        WizardPlugin

        +

        WizardPlugin

        -class octoprint.plugin.WizardPlugin
        +class octoprint.plugin.WizardPlugin

        Bases: OctoPrintPlugin, ReloadNeedingPlugin

        The WizardPlugin mixin allows plugins to report to OctoPrint whether the wizard templates they define via the TemplatePlugin @@ -2432,20 +2432,20 @@

        WizardPlugin is a ReloadNeedingPlugin.

        -get_wizard_details()
        +get_wizard_details()

        Called by OctoPrint when the wizard wrapper dialog is shown. Allows the plugin to return data that will then be made available to the view models via the view model callback onWizardDetails.

        Use this if your plugin’s view model that handles your wizard dialog needs additional data to perform its task.

        -
        Returns
        +
        Returns:

        a dictionary containing additional data to provide to the frontend. Whatever the plugin

        returns here will be made available on the wizard API under the plugin’s identifier

        -
        Return type
        +
        Return type:

        dict

        @@ -2453,7 +2453,7 @@
        -get_wizard_version()
        +get_wizard_version()

        The version of this plugin’s wizard. OctoPrint will only display a wizard of the same plugin and wizard version once to the user. After they finish the wizard, OctoPrint will remember that it already showed this @@ -2462,7 +2462,7 @@ of changes in the required settings), increasing this value is the way to notify OctoPrint of these changes.

        -
        Returns
        +
        Returns:

        an int signifying the current wizard version, should be incremented by plugins whenever there

        are changes to the plugin that might necessitate reshowing the wizard if it is required. None will also be accepted and lead to the wizard always be ignored unless it has never been finished @@ -2471,7 +2471,7 @@

        -
        Return type
        +
        Return type:

        int or None

        @@ -2479,7 +2479,7 @@
        -classmethod is_wizard_ignored(seen_wizards, implementation)
        +classmethod is_wizard_ignored(seen_wizards, implementation)

        Determines whether the provided implementation is ignored based on the provided information about already seen wizards and their versions or not.

        A wizard is ignored if

        @@ -2502,7 +2502,7 @@
        -
        Parameters
        +
        Parameters:
        • seen_wizards (dict) – A dictionary with information about already seen wizards and their versions. Mappings from the identifiers of @@ -2511,14 +2511,14 @@

        • implementation (object) – The plugin implementation to check.

        -
        Returns
        +
        Returns:

        False if the provided implementation is either not a WizardPlugin

        or has not yet been seen (in this version), True otherwise

        -
        Return type
        +
        Return type:

        bool

        @@ -2526,7 +2526,7 @@
        -is_wizard_required()
        +is_wizard_required()

        Allows the plugin to report whether it needs to display a wizard to the user or not.

        Defaults to False.

        @@ -2539,7 +2539,7 @@
        -on_wizard_finish(handled)
        +on_wizard_finish(handled)

        Called by OctoPrint whenever the user finishes a wizard session.

        The handled parameter will indicate whether that plugin’s wizard was included in the wizard dialog presented to the user (so the plugin providing @@ -2547,7 +2547,7 @@ ignored/had already been seen).

        Use this to do any clean up tasks necessary after wizard completion.

        -
        Parameters
        +
        Parameters:

        handled (bool) – True if the plugin’s wizard was previously reported as required, not ignored and thus presented to the user, False otherwise

        diff --git a/1.10.3/plugins/python3_migration.html b/1.10.3/plugins/python3_migration.html index 8182ab2de..eb64f1f8e 100644 --- a/1.10.3/plugins/python3_migration.html +++ b/1.10.3/plugins/python3_migration.html @@ -1,26 +1,26 @@ - + - + Migrating to Python 3 — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
        -

        Migrating to Python 3

        +

        Migrating to Python 3

        Python 2 is now EOL as of January 1st 2020. With the release of 1.4.0 OctoPrint will be compatible to both Python 2 and Python 3.

        However, the same doesn’t automatically hold true for all of the third party plugins for OctoPrint out there - it will @@ -154,7 +154,7 @@

        This guide is supposed to help plugin authors in making sure their plugins run under Python 2 as well as Python 3, which for now is the goal for OctoPrint’s ecosystem, as we’ll have to live with existing legacy Python 2 installations for a while to come (the plan is to stay Python 2 compatible until roughly a year after the release of 1.4.0).

        - +
        -

        How to get a Python 3 virtual environment with OctoPrint

        +

        How to get a Python 3 virtual environment with OctoPrint

        In order to test your plugins for Python 3 compatibility and also to allow for ongoing maintenance against both Python versions, you should create a Python 3 virtual environment next to your Python 2 one. You can then quickly switch between Python 2 and Python 3 simply by activate-ing whichever one you need.

        @@ -224,7 +224,7 @@
        -

        Telling OctoPrint your plugin is Python 3 ready

        +

        Telling OctoPrint your plugin is Python 3 ready

        In order for OctoPrint to even load your plugin when it’s running under Python 3, it first needs to know your plugin is compatible to a Python 3 environment. By default OctoPrint will assume your plugin isn’t and refuse to load it when running under Python 3 itself.

        @@ -272,7 +272,7 @@
        -

        Common pitfalls during migration

        +

        Common pitfalls during migration

        Some of the changes in Python 3 compared to Python 2 are sadly backwards incompatible and usually cause a number of common issues in code written for Python 2 when run under Python 3. By now they are pretty well documented and there exist a number of helpful and comprehensive migration guides, three of which I want to mention here.

        @@ -294,7 +294,7 @@ imports, changes in integer division behaviour and the switch of map, filter and zip to return iterators instead of lists and causing issues in the following code due to that.

        -

        Bytes vs unicode

        +

        Bytes vs unicode

        One of if not the most problematic change between Python 2 and 3 surely must be the change in string handling. Under Python 2 your basic string was a byte string, but it could also magically turn into a unicode string depending on what you wrote into it. That did cause some confusion, especially in APIs, and caused quite a mess, which is why the decision @@ -330,7 +330,7 @@ cheat sheet.

        -

        Absolute imports

        +

        Absolute imports

        Python 3 now defaults to absolute imports, meaning that trying to import a sub package with a

        import my_sub_package
         
        @@ -349,7 +349,7 @@ the book.

        -

        Version specific imports

        +

        Version specific imports

        Sometimes it is necessary to use an import statement that is explicitly related to a specific Python version, e.g. due to a package change between Python 2 and 3. You can do this by first trying the Python 3 import and if that doesn’t work out trying the Python 2 import instead:

        @@ -370,7 +370,7 @@
        -

        Integer division

        +

        Integer division

        When you divide two integers in Python 2 you’ll get back an integer, rounded down. In Python 3 however you’ll now get a float. That means you might have to revisit some places where you do integer divisions and might rely on the result to be an integer as well (e.g. when using a calculation result as an index in an array or something like that).

        @@ -383,7 +383,7 @@ and in the cheat sheet.

        -

        Iterators instead of list from map, filter, zip

        +

        Iterators instead of list from map, filter, zip

        The built-in functions map, filter and zip return a list with their result in Python 2. In Python 3 they have been switched to returning iterators. That can cause trouble with code handling the result (e.g. if you try to return it as part of a JSON response on an API endpoint).

        @@ -400,7 +400,7 @@
        -

        Checklist

        +

        Checklist

        As a summary, follow this checklist to migrate your plugin to be compatible to both Python 2 and 3:

          @@ -432,7 +432,7 @@
        -

        Further reading

        +

        Further reading

        See also

        diff --git a/1.10.3/plugins/viewmodels.html b/1.10.3/plugins/viewmodels.html index afd57c084..a2ec310d7 100644 --- a/1.10.3/plugins/viewmodels.html +++ b/1.10.3/plugins/viewmodels.html @@ -1,26 +1,26 @@ - + - + Viewmodels — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + @@ -142,8 +142,8 @@
        -

        Viewmodels

        -
        +

        Viewmodels

        +
        +

        When implementing frontend components, you’ll sooner or later want to define your own KnockoutJS view models in order to provide custom functionality.

        -

        Registering custom viewmodels

        +

        Registering custom viewmodels

        Register your view model with OctoPrint’s web app by pushing a config object unto the global array OCTOPRINT_VIEWMODELS.

        Possible properties in this config object are:

        @@ -216,7 +216,7 @@ and optional dependencies cannot be specified with this format. It should be considered deprecated. Still, an example of how that would look in practice is provided here as well:

        -
        Listing 38 Old tuple-based configuration format, consider this deprecated
        +
        Listing 38 Old tuple-based configuration format, consider this deprecated
        $(function() {
             function MyCustomViewModel(parameters) {
                 var self = this;
        @@ -239,7 +239,7 @@
         
        -

        Dependencies

        +

        Dependencies

        OctoPrint will try to inject all view model dependencies requested by your view model. In order to do this it will perform multiple passes iterating over all registered view models and collecting the necessary dependencies prior to construction. Circular dependencies (A depends on B, B on C, C on A) naturally cannot be resolved and will cause an @@ -298,7 +298,7 @@ config object, plus any configured additionalNames.

        -

        Callbacks

        +

        Callbacks

        OctoPrint’s web application will call several callbacks on all registered view models, provided they implement them. Those are listed below:

        @@ -427,9 +427,9 @@
        -

        Lifecycle diagrams

        +

        Lifecycle diagrams

        -

        Web interface startup

        +

        Web interface startup

        sequenceDiagram participant Main @@ -513,7 +513,7 @@ deactivate Main

        -

        Web interface reconnect

        +

        Web interface reconnect

        sequenceDiagram participant onServerConnect diff --git a/1.10.3/py-modindex.html b/1.10.3/py-modindex.html index 2874d5122..02ff28c58 100644 --- a/1.10.3/py-modindex.html +++ b/1.10.3/py-modindex.html @@ -1,25 +1,25 @@ - + Python Module Index — OctoPrint 1.10.3 documentation - - - + + + - - - - - - - + + + + + + + diff --git a/1.10.3/search.html b/1.10.3/search.html index 5c4f37d7b..d8936ba27 100644 --- a/1.10.3/search.html +++ b/1.10.3/search.html @@ -1,12 +1,12 @@ - + Search — OctoPrint 1.10.3 documentation - - - + + + @@ -14,13 +14,13 @@ - - - - - - - + + + + + + + diff --git a/1.10.3/searchindex.js b/1.10.3/searchindex.js index cc961e543..339078acf 100644 --- a/1.10.3/searchindex.js +++ b/1.10.3/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "terms": {"avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "system": [0, 2, 3, 5, 10, 11, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "Will": [0, 4, 7, 9, 10, 13, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 80, 82, 86, 92, 95], "recent": [0, 23, 33, 83, 86, 95], "credenti": [0, 4, 23, 58, 83, 95], "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 83, 85, 88, 90, 92, 95, 96], "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "assign": [0, 2, 4, 33, 48, 57, 61, 92], "subgroup": [0, 2], "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "409": [0, 3, 6, 9, 10], "conflict": [0, 3, 6, 9, 10], "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 42, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "doe": [0, 2, 3, 6, 9, 10, 13, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "individu": [0, 16, 37, 39, 42, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "record": [0, 4, 16, 25, 37, 47, 82, 95], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "usernam": [0, 4, 23, 25, 33, 47, 58, 70, 76], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "activ": [0, 2, 3, 4, 6, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "fals": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "deactiv": [0, 4], "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 83, 84, 85, 86, 90, 92, 94, 95, 97], "properti": [0, 2, 3, 9, 10, 13, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 82, 83, 86, 90, 92, 95, 96], "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "presenc": [0, 4, 33, 37, 82, 95], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "t": [0, 3, 4, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "403": [0, 4, 13, 31, 83], "forbidden": [0, 4, 13, 31], "mismatch": [0, 4, 46], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 83, 84, 86, 92, 95], "person": [0, 2, 33, 94], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "apikei": [0, 2, 4, 11, 13, 57, 58, 62, 70, 76, 83, 92], "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "kei": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "dev": [1, 37, 41, 42, 56, 79, 84, 90], "ttyacm0": [1, 37, 84], "250000": [1, 84], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "_default": [1, 10, 37, 82], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "230400": 1, "115200": [1, 37, 92], "57600": 1, "38400": 1, "19200": 1, "9600": 1, "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "portprefer": [1, 81], "baudrateprefer": [1, 81], "printerprofileprefer": 1, "autoconnect": [1, 37, 59, 79, 81, 82], "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "reconnect": [1, 32, 62, 70, 93], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "prefer": [1, 37, 42, 62, 81, 82, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 88, 92, 97], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "new": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 41, 42, 45, 47, 48, 49, 50, 52, 54, 55, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "automat": [1, 3, 9, 23, 24, 33, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "configur": [1, 2, 4, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "fake_ack": [1, 79, 81], "fake": [1, 59, 81, 95], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "got": [1, 4, 23, 37, 47, 90, 92, 95], "lost": [1, 46, 47, 81], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "stall": [1, 92], "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "emerg": [1, 9, 21, 47, 82], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "investig": [1, 47], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "symptom": 1, "solver": 1, "my_printer_profil": 1, "fakeack": [1, 59, 62], "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "autodetect": [1, 24, 37, 47, 82, 92], "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textual": [2, 6], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "few": [2, 41, 52, 90, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "sdreadi": [2, 9, 81], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "redund": [2, 90], "unrecover": [2, 47], "occur": [2, 9, 15, 17, 47, 90], "readi": [2, 4, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "closedorerror": [2, 9, 81], "possibli": [2, 92, 95], "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "null": [2, 9, 19, 37, 46, 97], "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "unix": [2, 31, 83], "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "enumer": [2, 9, 82], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "transmit": [2, 83, 97], "ratio": [2, 46, 82], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "estimatedprinttim": [2, 3, 6, 78, 81], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "estim": [2, 38, 78, 79, 81, 82, 93], "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "lastprinttim": [2, 81], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "mm": [2, 3, 9, 10, 66, 78, 81, 86], "volum": [2, 3, 6, 10, 51, 52, 78, 81], "cm\u00b3": [2, 78], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "filepo": [2, 6, 81], "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "printtim": [2, 6, 37, 79, 81, 82, 92], "spent": 2, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95], "linear": [2, 37, 82], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "approxim": [2, 48], "calcul": [2, 37, 82, 83, 86, 95, 96], "after": [2, 3, 6, 9, 11, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "stabil": 2, "averag": [2, 37, 82], "total": [2, 37, 57, 82, 90], "past": [2, 17, 23, 37, 47, 82, 96], "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "mix": [2, 37, 82, 95], "mixtur": [2, 37, 82], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96], "gco": [2, 3, 51, 61], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "anywher": 2, "fit": [2, 83, 95], "ascii": [2, 37, 82, 86], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "potenti": [2, 10, 41, 42, 70, 80], "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 86, 90, 95], "unicod": [2, 37, 78, 82, 93], "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "turtl": 2, "a_turtle_turtl": 2, "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "subfold": [2, 3, 61, 78, 90], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "machinecod": [2, 3, 47, 78, 81, 92], "Or": [2, 48], "children": [2, 3, 37, 51, 61, 78, 79, 82], "node": [2, 47, 49, 78, 90], "popul": [2, 57, 78, 83, 90, 95], "typepath": [2, 3, 78], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "tree": [2, 13, 42, 61, 92, 95], "stl": [2, 3, 11, 47, 78, 95], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "recurs": [2, 3, 61, 78, 86, 90], "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "md5": 2, "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "sdcard": [2, 3, 11, 47, 61, 81, 92], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 81, 83, 85, 90, 95, 96, 97], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "ref": [2, 3, 31], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "gcodeanalysi": [2, 3, 37, 79, 82], "previou": [2, 4, 11, 52, 90, 97], "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "dimens": [2, 78], "depth": [2, 10, 51, 61, 78, 81, 96], "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "width": [2, 10, 51, 78, 81, 90, 95], "printingarea": [2, 78], "area": [2, 10, 46, 78], "maxx": [2, 78], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "maxi": [2, 78], "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "maxz": [2, 78], "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "minx": [2, 78], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "mini": [2, 78], "minz": [2, 78], "travelarea": [2, 78], "bound": [2, 10, 78, 81, 90, 95, 97], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "traveldimens": [2, 78], "travel": [2, 9, 78], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 96], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "failur": [2, 3, 17, 37, 47, 80, 92, 95], "fail": [2, 3, 9, 17, 23, 24, 33, 42, 47, 74, 81, 83, 92, 96, 97], "averageprinttim": 2, "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 82, 83, 84, 86, 92, 97], "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "implicit": [2, 95, 97], "inherit": [2, 25, 95, 96], "danger": [2, 37, 51, 82, 92], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "high": [2, 14, 22, 37, 49, 78, 82], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 81, 82, 83, 85, 92, 95, 96, 97], "default_group": [2, 92], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "changeabl": 2, "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "toggleabl": 2, "role": [2, 48, 76, 84, 92, 95, 97], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "space": [3, 31, 33, 37, 40, 82], "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "overrid": [3, 14, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "refresh": [3, 9, 42, 66, 82, 89, 97], "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "bandwidth": [3, 83], "restrict": [3, 15, 23, 92, 95], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "files_list": 3, "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "whistle_v2": [3, 6], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "1468987": [3, 6], "1378847754": [3, 6], "1188": 3, "810": [3, 6], "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "36": [3, 6, 90], "23": [3, 40, 46, 48, 92, 95], "1387144346": 3, "whistle_": 3, "foldera": 3, "whistle_v2_copi": 3, "free": [3, 31, 33, 46, 56, 86, 95, 96], "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "2gb": 3, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "1234": [3, 25, 74], "test2": 3, "1334": 3, "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "nor": [3, 11, 83, 85, 88, 92], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "most": [3, 7, 33, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "multipart": [3, 4, 7, 57, 83, 92], "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "foldernam": 3, "creation": [3, 16, 17, 24, 49, 61, 83, 85], "201": [3, 14, 23], "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "files_upload": 3, "boundari": [3, 81], "webkitformboundarydec2e3iwbtv1pwmc": 3, "430": 3, "disposit": [3, 4, 83], "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "octet": [3, 57, 83], "m109": [3, 46], "t0": [3, 46, 52, 82, 92], "s220": [3, 46], "000000": 3, "g21": 3, "g90": [3, 37, 51, 52, 82, 92], "done": [3, 21, 23, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 83, 86, 90, 92, 95, 96, 97], "effectiveselect": 3, "effectiveprint": 3, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "rfc": [3, 4], "5987": [3, 4], "263": 3, "20mm": [3, 10], "c3": 3, "bcml": 3, "a4ut": 3, "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "umlaut": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "246": 3, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "basic": [3, 4, 11, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "parent": [3, 61, 78, 80, 83, 95], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 83, 86, 90, 92, 95, 96], "implicitli": [3, 33], "userdata": [3, 47, 61], "interpret": [3, 9, 36, 42, 81, 92], "along": [3, 78], "metadata": [3, 47, 77, 78, 80, 87, 88, 90, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "pars": [3, 17, 36, 47, 77, 80, 83, 92, 95], "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "busi": [3, 37, 46, 82], "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "415": 3, "unsupport": [3, 17], "media": [3, 90], "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "500": [3, 15, 17, 44, 83, 92], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "direct": [3, 4, 10, 23, 51, 82, 86], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "files_select": 3, "unselect": [3, 81], "isn": [3, 23, 48, 90, 96], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "background": [3, 11, 90, 96], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "engin": [3, 52, 80, 81, 95], "cura": [3, 13, 14], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "center": [3, 10, 79, 81, 85, 95], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 85, 86, 90, 92, 95], "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "strip": [3, 78, 86, 92], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "often": [3, 11, 34, 45, 95], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "diamet": [3, 10, 52, 78, 81], "infil": 3, "finish": [3, 5, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "suppos": [3, 15, 88, 92, 96], "anymor": [3, 9, 55, 90, 92], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "entir": [3, 48, 92], "202": [3, 23], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "abridg": [3, 14], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "destin": [3, 11, 56, 61, 79, 85, 95], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "some_fold": [3, 78], "some_model": 3, "first_tri": 3, "my_custom_reprap": 3, "high_qual": [3, 14], "75": [3, 9], "fill_dens": 3, "15": [3, 37, 82], "some_other_fold": 3, "and_a_subfold": 3, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 83, 92, 95, 97], "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "files_delet": 3, "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "lack": [3, 9, 11, 42, 52], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "fulfil": 3, "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "global": [4, 23, 57, 62, 77, 80, 81, 82, 83, 86, 88, 90, 91, 92, 97], "app": [4, 23, 33, 37, 42, 62, 79, 82, 83, 97], "workflow": [4, 30, 62, 95], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 51, 66, 70, 82, 84, 85, 90, 92, 95], "advis": [4, 37, 81, 82, 92], "fallback": [4, 47, 80, 83, 86, 95], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "rare": 4, "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "bearer": 4, "token": [4, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "purpos": [4, 37, 80, 90, 92, 95], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "variant": [4, 33, 40, 62, 89, 92], "treat": 4, "unauthent": 4, "anonym": [4, 30, 33, 48, 56, 83, 95], "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 96], "deni": [4, 23, 48], "outright": [4, 33, 54], "11": [4, 22, 26, 37, 42, 83, 86, 90, 92, 95], "up": [4, 11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "webinterfac": [4, 23], "work": [4, 6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "under": [4, 6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "circumst": [4, 24, 92], "inject": [4, 11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "html": [4, 37, 42, 44, 82, 90, 92, 95], "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 96, 97], "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "caus": [4, 26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "confus": [4, 40, 90, 96], "alarm": 4, "among": [4, 10, 37, 77, 81, 82, 86, 92, 94, 95], "didn": [4, 15, 44, 80], "contribut": [4, 43], "secur": [4, 26, 37, 48, 79, 82, 83], "platform": [4, 42, 48, 56, 77, 79, 80, 92, 95], "meaning": 4, "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "final": [4, 33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "abandon": 4, "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "password": [4, 25, 33, 37, 58, 70, 73, 82, 83, 91], "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "revok": [4, 23], "charset": [4, 83], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "decod": [4, 17, 78, 86, 92], "iso": [4, 47], "8859": 4, "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 84, 86, 90, 92, 95], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "websit": [4, 22, 56, 78, 80, 90], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "share": [4, 10, 46, 77, 81, 86, 94, 95], "cor": [4, 83, 92], "question": [4, 9, 23, 33, 83, 92], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "localhost": [4, 37, 82], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "allowcrossorigin": [4, 37, 79, 82], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "yml": [4, 90], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 83, 86, 92, 95, 96], "checkbox": 4, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "xmlhttprequest": [4, 57], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "8081": 4, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "imposs": [4, 9, 90], "authent": [4, 9, 11, 23, 33, 37, 47, 48, 57, 58, 82, 92, 95], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "reus": [4, 33, 90], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "therefor": [4, 90, 95, 97], "attack": 4, "affect": [4, 32, 83, 96], "doubl": [4, 25, 40, 83], "submit": [4, 89], "mitig": 4, "strategi": [4, 43, 56, 96], "recoveri": [4, 55, 82, 92], "csrf_token_p": 4, "_r": 4, "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "side": [4, 37, 46, 83, 95], "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "toward": [4, 81, 96], "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "reli": [4, 37, 57, 82, 95, 96], "rather": [4, 37, 82], "csrf_token": 4, "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 95], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "ajax": [4, 37, 57, 62, 82], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "sever": [4, 47, 96, 97], "framework": [4, 9], "owasp": 4, "cheatsheet": 4, "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "octoprintcli": [4, 23, 30, 56, 62], "getcooki": [4, 57, 62], "gethead": 4, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "construct": [4, 25, 78, 80, 84, 92, 95, 97], "creat": [4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "passiv": [4, 11, 58, 97], "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "401": 4, "unauthor": [4, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "wrong": [4, 23, 48, 52, 57, 92], "bug": [4, 9, 26, 41, 42, 45, 54, 55], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "rememb": [4, 37, 58, 82, 90, 95, 97], "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "sens": [4, 40, 47, 48, 86, 90, 92, 95], "currentus": 4, "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "_is_external_cli": 4, "extern": [4, 33, 37, 42, 45, 82, 95], "network": [4, 25, 37, 48, 82], "guest": [4, 48, 97], "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "protect": [5, 82, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "logout": [5, 11, 58, 62, 92], "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 85, 90, 92, 95, 97], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "pack": [5, 55, 62, 64, 90], "chamber": [5, 10, 46, 66, 81], "arbitrari": [5, 47, 60, 80, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "regener": [5, 11, 37, 82], "wide": [5, 42, 68], "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "execut": [5, 17, 33, 37, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "unrend": [5, 37, 57, 72, 82], "variou": [5, 25, 33, 34, 35, 37, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "common": [5, 40, 48, 52, 56, 80, 91, 93], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "toggl": 6, "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 85, 86, 93], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "stai": [6, 40, 51, 92, 96], "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "earlier": [6, 37, 42, 77, 82, 88, 90], "iter": [6, 52, 78, 83, 92, 93, 95, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 82, 90, 92, 95, 96], "dedic": [6, 23, 48], "seem": [6, 37, 42, 82, 90, 96], "clumsi": 6, "chosen": [6, 40], "prior": [6, 48, 57, 78, 81, 92, 95, 97], "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "precondit": 6, "8811": 6, "tool0": [6, 9, 66, 78, 81], "2298468264184775": 6, "337942": 6, "276": 6, "912": 6, "offlin": [6, 47, 51, 81, 82], "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "exhaust": [6, 48, 53], "language_pack": 7, "_core": 7, "some_plugin": [7, 33, 37], "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "de": [7, 87, 90], "locale_displai": 7, "deutsch": 7, "locale_english": 7, "german": [7, 90], "last_upd": 7, "1474574597": 7, "gina": [7, 90], "h\u00e4u\u00dfg": 7, "italiano": 7, "italian": 7, "1470859680": 7, "transifex": 7, "team": [7, 33], "zip": [7, 24, 32, 33, 54, 90, 93], "tar": [7, 32], "gz": [7, 32, 83], "tgz": [7, 32], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "translat": [7, 55, 79, 82, 90, 95], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "display": [7, 82, 85], "meta": [7, 41, 80, 85, 95], "english": [7, 90], "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "former": [8, 47, 65], "adapt": [8, 65, 78, 86], "soon": [8, 65, 90], "mostli": [9, 13, 83], "achiev": [9, 37, 48, 89, 90, 96, 97], "reflect": [9, 13, 17, 66, 90], "compon": [9, 13, 33, 37, 39, 42, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "know": [9, 40, 90, 95, 96, 97], "jog": [9, 62, 66, 79, 81, 92], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "ax": [9, 10, 51, 66, 81], "offset": [9, 10, 11, 66, 81], "hotend": [9, 46, 52, 66, 81, 82], "histori": [9, 66, 81, 97], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 42, 45, 48, 56, 66, 93, 96], "besid": [9, 89, 90], "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "wonder": 9, "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "webserv": [9, 92], "thread": [9, 37, 81, 82, 86, 92], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "program": [9, 42, 90], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "backend": [9, 83, 90, 92, 95], "sleep": [9, 46, 86, 92], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "flask": [9, 56, 79, 91, 92, 95], "wsgi": [9, 83], "synchron": 9, "natur": [9, 97], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "wasn": 9, "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "respond": [9, 15, 17, 46, 81, 83], "repli": [9, 17, 46], "idea": [9, 48, 90, 92], "thank": [9, 42, 43, 52], "larg": [9, 37, 82], "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "particular": [9, 81, 95, 97], "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "pretti": [9, 48, 89, 90, 96], "much": [9, 48, 89, 90, 92, 96], "hit": 9, "situat": [9, 81, 92, 96], "wors": 9, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "distinguish": [9, 37, 92], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "subscrib": [9, 11, 26, 82], "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "exclud": [9, 24, 37, 42, 66, 80, 82], "214": 9, "8821": 9, "220": [9, 46, 66, 92], "tool1": [9, 66, 78, 81], "25": [9, 10, 37, 82, 92], "50": [9, 66, 82, 92], "221": 9, "70": 9, "1395651928": 9, "1395651926": 9, "212": 9, "32": 9, "49": 9, "1123": 9, "comma": [9, 66], "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "ye": [9, 40, 96], "printhead": [9, 92], "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "axi": [9, 10, 11, 51, 66, 78, 81], "distanc": [9, 51, 81], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "append": [9, 36, 37, 57, 83, 90, 92, 95], "signifi": [9, 15, 80, 92, 95], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "feedrat": [9, 47, 52, 66], "factor": [9, 10, 11, 66, 81, 86], "movement": [9, 78], "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "10mm": [9, 51, 66], "5mm": [9, 66], "02mm": 9, "02": [9, 31, 92, 95], "feed": [9, 22, 32, 52, 81], "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "105": [9, 46], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "05": [9, 17, 82], "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "retract": [9, 16, 37, 52, 66, 81, 82], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 42, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "heater": [9, 37, 46, 48, 52, 81, 82], "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "neg": [9, 23, 86], "flowrat": [9, 66], "flow": [9, 81, 83], "extrus": [9, 10, 52, 81, 85], "125": 9, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "205": [9, 66], "3mm": 9, "95": 9, "outsid": [9, 40, 47, 80, 92, 96], "plu": [9, 37, 41, 85, 95, 97], "init": [9, 66, 80, 84], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "revers": [9, 37, 77, 78, 82], "won": [9, 32, 48, 87, 91, 95], "monitor_termin": 9, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "consequ": [9, 47], "mintemp": 9, "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "omg": 9, "kill": [9, 46], "faq": [9, 47, 56], "n2685": 9, "g1": [9, 47, 51, 52, 92], "x147": 9, "748": 9, "y108": 9, "411": 9, "e627": 9, "83763": 9, "85": 9, "recv": [9, 11, 37, 82], "n2686": 9, "x148": 9, "522": 9, "286": 9, "8963": 9, "98": 9, "n2687": 9, "866": 9, "174": 9, "92338": 9, "87": 9, "n2688": 9, "x149": 9, "494": 9, "y107": 9, "868": 9, "97566": 9, "91": 9, "n2689": 9, "731": 9, "779": 9, "9946": 9, "96": 9, "n2690": 9, "69": [9, 90], "032": 9, "e628": 9, "01378": 9, "101": [9, 90], "n2691": 9, "252": 9, "y112": 9, "3785": 9, "107": 9, "n2692": 9, "x145": 9, "082": 9, "253": 9, "54089": 9, "93": 9, "monitor": [9, 92], "interfer": [9, 49], "m106": [9, 37, 51, 52, 88, 92], "m18": [9, 52], "s0": [9, 21, 37, 52, 82, 92], "mutual": [9, 51, 82], "exclus": [9, 51, 79, 82], "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stat": [9, 11, 48], "histor": 9, "datapoint": 9, "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "pair": [9, 40, 52, 57, 60, 66, 86, 95], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "variabl": [9, 24, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "ad": [9, 10, 22, 33, 37, 47, 48, 49, 50, 51, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "org": [9, 17, 32, 33, 34, 37, 42, 54, 56, 74, 82, 90], "link": [9, 32, 33, 47, 78, 90, 92, 95], "physic": [10, 37, 48, 82], "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "reprap": [10, 49], "formfactor": [10, 81], "rectangular": [10, 79, 81], "lowerleft": [10, 79, 81], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "6000": 10, "invert": [10, 81], "300": [10, 17, 22, 37, 83, 92], "my_profil": 10, "my": [10, 23, 37, 57, 88, 96], "basedon": [10, 67], "some_profil": 10, "cool": [10, 47, 51], "some_other_profil": 10, "circular": [10, 79, 81, 97], "150": [10, 33], "21": [10, 46, 92, 95], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "partial": [10, 13, 73, 92], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "collect": [10, 40, 77, 90, 95, 96, 97], "overwritten": [10, 14, 70, 78, 85, 86, 90], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "titl": [10, 22, 37, 82, 95], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "red": [10, 22, 37, 51, 79, 82, 95], "orang": [10, 37, 79, 82], "yellow": [10, 22, 37, 79, 82], "green": [10, 37, 79, 82], "blue": [10, 37, 79, 82], "black": [10, 13, 42], "custom_box": [10, 81], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86], "exceed": 10, "min_x": 10, "smaller": [10, 92], "max_x": 10, "larger": [10, 39, 92], "min_i": 10, "max_i": 10, "min_z": 10, "max_z": 10, "nozzlediamet": [10, 81], "nozzl": [10, 29, 46, 52, 81], "sharednozzl": [10, 46, 52, 81, 82], "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "defaultextrusionlength": [10, 81], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "25mm": 10, "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "quo": [11, 14], "streamlin": [11, 14], "consumpt": [11, 14, 89], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "drop": [11, 13, 14, 46, 82], "email": [11, 13, 14, 33, 90], "real": [11, 46, 83, 86, 92], "exchang": [11, 23], "sockj": [11, 56, 62, 70, 79, 93], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "3rd": 11, "establish": [11, 17, 37, 81, 82, 92], "reauthrequir": 11, "reauthent": [11, 37, 82], "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "stale": [11, 23], "suffic": [11, 52, 92], "accumul": 11, "twice": [11, 90], "flood": [11, 96], "printfail": [11, 47], "movierenderdon": 11, "determin": [11, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "With": [11, 52, 55, 85, 96], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "cap": 11, "wish": [11, 37, 82, 87, 90, 92], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "subscript": [11, 37, 47, 79, 82], "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "kind": [11, 48, 92, 95, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "obtain": [11, 23, 33, 43, 51, 82, 90], "someus": [11, 33, 37, 90], "lgz0trf8by": 11, "roundtrip": 11, "throttl": [11, 33, 34, 46, 62, 81], "fast": [11, 70], "signal": [11, 21, 23, 49, 92, 95], "multipli": [11, 66], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "500m": [11, 70], "produc": [11, 21, 83, 86, 90, 95], "maxim": [11, 70], "branch": [11, 33, 43, 45, 54, 56, 89, 95], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "display_vers": [11, 95], "plugin_hash": 11, "config_hash": [11, 79, 84], "currentz": [11, 81], "temp": [11, 81], "plot": 11, "resend": [11, 37, 46, 47, 82, 92], "statist": [11, 37, 82], "additional_state_data": [11, 93], "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "source_loc": [11, 95], "moment": [11, 17, 57, 78, 92], "source_path": [11, 47, 85, 95], "dest_loc": 11, "dest_path": [11, 85], "safemod": [12, 55], "incomplete_startup": 12, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 90, 95], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "settings_read": 13, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "sort": [13, 37, 42, 80, 82, 92, 95], "changelog": [13, 82], "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "thirdparti": [13, 37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_id": 13, "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "plugin_nam": [13, 54, 90], "plugin_announc": [13, 37, 82], "announc": [13, 30, 56], "navbar": [13, 37, 79, 82, 90, 95], "systemmenu": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "section_print": [13, 37, 82], "terminalfilt": [13, 37, 79, 82], "gcodescript": [13, 37, 47, 52, 82, 92], "section_featur": [13, 37, 82], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "accesscontrol": [13, 37, 48, 79, 82, 93], "gcodevisu": [13, 37], "section_octoprint": [13, 37, 82], "plugin_log": [13, 37, 82], "plugin_softwareupd": [13, 37, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "section_plugin": [13, 37], "plugin_action_command_prompt": 13, "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "action_command_prompt": [13, 21], "plugin_curalegaci": 13, "legaci": [13, 14, 77, 90, 96], "curalegaci": [13, 14, 37], "sidebar": [13, 20, 37, 79, 82, 95, 97], "plugin_printer_safety_check": 13, "safeti": [13, 28, 34], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "printer_safety_check": [13, 34], "gcodeview": [13, 29, 37], "viewer": [13, 30, 38, 48, 56, 97], "userset": [13, 37, 79, 82], "beta": [13, 89], "sizethreshold": [13, 29, 37], "mobilesizethreshold": [13, 29, 37], "timelapsetmp": 13, "timelapse_tmp": [13, 37, 79, 82], "settingsplugin": [13, 90, 92, 93, 94], "subtre": [13, 78, 95], "portopt": 13, "baudrateopt": 13, "timeoutconnect": 13, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutdetect": 13, "timeoutcommun": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "temperaturetargetset": [13, 37, 79, 82], "timeoutsdstatu": 13, "sdstatu": [13, 37, 79, 82, 84], "maxtimeoutsidl": 13, "maxcommunicationtimeout": [13, 37, 79, 82], "idl": [13, 37, 79, 82], "maxtimeoutsprint": 13, "maxtimeoutslong": 13, "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "streamurl": 13, "snapshoturl": 13, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "ffmpegpath": 13, "ffmpeg": [13, 37, 47, 79, 82], "hand": [14, 32, 42, 48, 92, 95], "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "multi": [14, 52, 92], "displaynam": [14, 33, 79, 82], "qualiti": [14, 81], "medium_qu": 14, "medium": 14, "quick_test": 14, "bottom_layer_spe": 14, "bottom_thick": 14, "brim_line_count": 14, "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "layer": [14, 39, 40, 47, 48, 81, 85, 92], "skirt": 14, "layer_height": 14, "skirt_line_count": 14, "succe": [14, 70, 85], "anywai": 14, "incl": [14, 92], "samedevic": 14, "devic": [14, 25, 37, 48, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "strong": 15, "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "disrupt": [15, 54], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 96], "reboot": 15, "divid": [15, 37, 40, 81, 82, 96], "malform": 15, "zero": [15, 86], "expos": [15, 24, 33, 48, 91], "menu": [15, 37, 55, 82, 89, 90, 92], "programmat": [15, 95], "realli": [15, 33, 37, 48, 55, 82, 90], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "async": [15, 37, 83, 92], "timelapse_list": 16, "timelapse_delet": 16, "timelapse_manage_unrend": 16, "across": [16, 40, 46, 58, 97], "timelapse_admin": 16, "thumbnail": 16, "zchang": [16, 37, 47, 79, 82], "postrol": [16, 37, 79, 82], "roll": [16, 37, 82], "fp": [16, 37, 79, 82], "frame": [16, 17, 37, 47, 82, 92, 96], "video": [16, 17, 37, 82, 95], "retractionzhop": [16, 37, 79, 82], "hop": [16, 37, 82], "mindelai": 16, "interv": [16, 24, 34, 37, 46, 79, 82, 86], "vase": 16, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "shot": 16, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "check_typ": [17, 74], "dir": [17, 37], "check_access": [17, 74], "r": [17, 37, 74, 77, 80, 83, 92], "w": [17, 24, 46, 95], "allow_create_dir": 17, "check_writable_dir": 17, "writabl": [17, 78, 79], "small": [17, 42, 52, 92, 95, 96], "testballoon": 17, "txt": [17, 24, 25, 90, 95], "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "validssl": 17, "ssl": [17, 37, 82, 83], "199": 17, "299": 17, "redirect": [17, 30, 82, 83, 95], "399": 17, "client_error": 17, "499": 17, "server_error": 17, "599": 17, "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "base64": [17, 74], "content_type_whitelist": 17, "imag": [17, 37, 47, 74, 82, 95, 96], "plain": [17, 57, 83], "content_type_blacklist": 17, "togeth": [17, 51, 78, 82, 90], "broader": 17, "whitelist": [17, 86], "disallow": [17, 83], "png": [17, 47], "blacklist": [17, 37, 79, 80, 82, 86], "reach": [17, 51, 56, 92], "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "ip": [17, 25, 33, 37, 47, 48, 82, 83], "tcp": 17, "udp": [17, 74], "hostnam": [17, 37, 82, 91], "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "dn": [17, 25, 37, 82], "lookup": [17, 83], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "remot": [17, 33, 37, 47, 82, 90, 92], "lan": [17, 48], "subnet": [17, 37, 48, 82], "cidr": [17, 37, 82], "typeok": 17, "missing_fil": 17, "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "gif": [17, 74, 92], "r0lgodlhaqabaiaaaaaaap": 17, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "reachabl": [17, 25, 48, 74, 92, 95], "53": [17, 37, 74, 82, 90], "192": [17, 37, 48, 82], "168": [17, 37, 48, 82], "is_lan_address": 17, "16": [17, 33, 82, 92], "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "checktyp": 17, "overal": [17, 84], "inde": 18, "genuin": 18, "firstrun": [19, 37, 79, 82, 95], "were": [19, 47, 55, 78, 90, 92, 95, 96], "skip": [19, 29, 37, 82, 83, 95], "wizardplugin": [19, 93, 97], "on_wizard_finish": [19, 95], "seen": [19, 90, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "plugin_action_command_notification_show": 20, "These": [20, 37, 42, 51, 52, 82, 88, 95], "shown": [20, 37, 82, 95, 97], "popup": [20, 81], "panel": [20, 24, 37, 82, 95, 97], "clear": [20, 49, 90, 92], "plugin_action_command_notification_clear": 20, "enable_popup": 20, "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "hello": [20, 24, 37, 86, 92, 93, 95], "world": [20, 37, 86, 90, 92, 95], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "action_command_notif": 20, "choos": 21, "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "proceed": [21, 48, 90], "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "choic": [21, 39], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "enable_emergency_send": 21, "jump": 21, "queue": [21, 78, 86, 92, 94, 95, 96], "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "enable_sign": 21, "p1": 21, "m876": 21, "prompt_begin": 21, "prompt_choic": 21, "prompt_button": 21, "prompt_show": 21, "tell": [21, 42, 78, 88, 90, 92, 93], "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "prompt_end": 21, "unload": [21, 79, 80, 87, 88], "swap": 21, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 97], "complic": [21, 90], "runout": 21, "abort": [21, 23, 50, 78, 92, 95], "channel": [22, 26, 33, 41, 89], "rss": 22, "atom": 22, "notif": [22, 30, 33, 37, 55, 56, 82], "reader": 22, "preconfigur": [22, 83, 92], "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "uniqu": [22, 26, 29, 34, 81, 90, 95], "prioriti": [22, 37, 78, 82], "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "unus": [22, 23, 37, 82, 95], "act": [22, 33, 90, 92, 97], "enabled_channel": 22, "forced_channel": 22, "_import": 22, "sparingli": [22, 81, 88], "channel_ord": 22, "ttl": [22, 33, 37, 79, 82], "live": [22, 32, 33, 37, 82, 92, 96], "minut": [22, 33, 37, 82], "hour": [22, 89, 92], "display_limit": 22, "summary_limit": 22, "interact": [23, 37, 49, 66, 82, 90, 97], "behalf": [23, 92], "administr": [23, 42, 48, 90, 92, 95], "ask": [23, 82], "blown": [23, 51, 52, 82], "light": [23, 40], "weight": [23, 37, 82], "implementat": 23, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "auth_dialog": 23, "At": [23, 44, 57, 78], "appkei": [23, 82, 95], "fall": [23, 24, 92, 95, 96], "insensit": [23, 33, 83, 86], "grant": [23, 47, 48], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "app_token": 23, "user_token": 23, "plugin_appkeys_gr": 23, "plugin_appkeys_admin": [23, 92], "belong": [23, 33, 85, 90, 95], "fresh": [23, 37, 82, 83, 90], "awesom": [23, 90, 92, 95], "app_id": 23, "user_id": [23, 83], "api_kei": 23, "abcdef1234567890": 23, "revoc": 23, "owner": [23, 47], "who": [23, 47, 48, 83, 95], "getkei": 23, "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "getallkei": 23, "generatekei": 23, "revokekei": 23, "revokekeyforapp": 23, "requestforus": 23, "checkdecis": 23, "conveni": [23, 80, 84, 90], "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "goe": [23, 52, 92], "reject": [23, 37, 57, 82], "some_us": 23, "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "our": [23, 78, 83, 88, 90, 92, 95, 97], "u": [23, 25, 42, 90], "restor": [24, 48], "easi": [24, 33, 40, 90, 95, 96], "migrat": [24, 41, 56, 84, 93, 95], "newli": [24, 42, 48, 80, 89], "loss": 24, "As": [24, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "adher": [24, 41, 42, 45], "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "restore_unsupport": 24, "environ": [24, 33, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "octoprint_backup_restore_unsupport": 24, "touch": [24, 25, 32, 37, 48, 56, 82, 90], "best": [24, 81, 90, 92, 96], "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "subsystem": [24, 80, 88, 89, 94, 95], "exit": [24, 33, 36, 37, 92, 96], "combin": [24, 48, 83, 92, 95], "cronjob": 24, "cli": [24, 38, 56, 79, 93], "plugin_backup_backup_cr": 24, "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "additional_excludes_hook": 24, "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 83, 84, 85, 86, 88, 90, 92, 95], "kwarg": [24, 32, 33, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 95], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "react": [24, 54, 80, 87, 90, 92, 95], "foo": [24, 83, 86, 92, 95], "o": [24, 37, 43, 46, 82, 86, 92, 95], "io": [24, 26, 78, 83], "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "backupexcludetestplugin": 24, "octoprintplugin": [24, 79, 80, 92, 94, 95], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "join": [24, 78, 83, 95], "get_plugin_data_fold": [24, 79, 80, 94, 95], "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_hooks__": [24, 32, 33, 88, 92], "before_backup_hook": 24, "after_backup_hook": 24, "before_restore_hook": 24, "after_restore_hook": 24, "export": [24, 32, 91], "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "backupplugin": 24, "create_backup_help": 24, "get_help": [24, 79, 80, 91], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "claus": 24, "delete_backup_help": 24, "examplebackup": 24, "silent": [24, 37, 78, 82, 83, 84], "verifi": [24, 83, 89, 95], "unavail": 24, "offici": [24, 32, 54, 56, 90, 93, 96], "homepag": [24, 90], "reinstal": [24, 33, 90], "latest": [24, 33, 42, 49], "ssdp": [25, 91], "upnp": 25, "known": [25, 37, 47, 50, 52, 82, 92, 95], "bonjour": 25, "avahi": 25, "microsoft": 25, "icon": [25, 32, 33, 95, 97], "explor": 25, "frontend": [25, 51, 87, 92, 93, 95, 97], "safari": 25, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89], "brows": [25, 42, 91], "scan": 25, "discov": [25, 80, 90], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "publicport": 25, "public": [25, 33, 48, 56, 90], "pathprefix": 25, "usessl": 25, "httpusernam": 25, "httppassword": 25, "upnpuuid": 25, "uuid": 25, "autogener": 25, "vendor": [25, 32], "vendorurl": 25, "obligatori": [25, 95], "txt_record": 25, "publish": [25, 33, 89, 90, 91, 95], "eth0": [25, 48], "443": 25, "_someservic": 25, "field1": 25, "value1": [25, 40, 86], "field2": 25, "value2": [25, 86], "scheme": [25, 37, 41, 82, 83], "sentri": 26, "gather": 26, "especi": [26, 40, 90, 95, 96], "valuabl": [26, 34], "candid": [26, 29, 33, 34, 92], "rc": [26, 33, 41], "stabl": [26, 29, 33, 37, 41, 42, 82], "kindli": 26, "servic": [26, 30, 37, 48, 95, 96], "complianc": 26, "privaci": [26, 34, 37, 80, 88], "polici": [26, 34, 80, 88], "enabled_unreleas": 26, "unreleas": [26, 29], "unique_id": [26, 34], "errortrack": 26, "project": [27, 28, 42, 90, 96], "cycl": [27, 28, 47, 52], "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90], "formerli": [28, 31], "alex": 29, "ustyantsev": 29, "ever": [29, 35, 37, 48, 81, 82, 95], "2013": [29, 35, 48], "extract": [29, 35, 80, 92, 95], "skipuntilthi": 29, "search": 29, "prime": [29, 52], "preview": [29, 41], "backup": [30, 39, 48, 56, 79, 84, 93, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "discoveri": [30, 39, 56, 88, 91], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "1393158814": 31, "43712": 31, "1392628936": 31, "2014": 31, "17": [31, 90, 95, 96], "13205": 31, "1798419": 31, "12237201408": 31, "listlog": 31, "deletelog": 31, "downloadlog": 31, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "uninstal": [32, 34, 55, 80, 87], "whl": 32, "archiv": [32, 33, 54, 90], "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "jneilliii": 32, "bedlevelvisu": 32, "master": [32, 33, 41, 42, 54, 90, 95], "eyal0": 32, "printtimegeniu": 32, "logic": [32, 51, 80, 82, 83, 95], "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "littl": [32, 33, 90, 95], "wrench": [32, 33], "upper": [32, 33, 70, 92, 95], "corner": [32, 33, 81, 90], "repository_ttl": 32, "1440": [32, 33], "notic": [32, 90, 95], "notices_ttl": 32, "360": [32, 33], "shouldn": [32, 33, 48, 90], "pip_arg": 32, "pip_force_us": 32, "dependency_link": [32, 90], "hidden": [32, 42, 77, 79, 80, 84, 97], "plugin_pluginmanager_install_plugin": 32, "source_typ": [32, 47], "plugin_pluginmanager_uninstall_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_disabled_plugin": 32, "reconnect_hooks_hook": 32, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "exampleplugin": 32, "some_custom_hook": 32, "some_other_custom_hook": 32, "notifi": [33, 57, 92, 95], "themselv": [33, 39, 88, 92, 95, 97], "switch": [33, 42, 51, 81, 90, 92, 96, 97], "git": [33, 42, 45, 54, 90, 95], "commit": [33, 41, 42, 45], "fire": [33, 47, 92, 95, 97], "navig": [33, 37, 82, 90, 95, 97], "therein": [33, 42, 92, 96], "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "target_vers": 33, "checkout": [33, 42, 90], "pi": [33, 48, 90, 96], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "raspberri": [33, 48, 90], "guid": [33, 42, 82, 96], "bleed": [33, 41], "edg": [33, 41, 46], "temporarili": [33, 95, 96], "internet": [33, 47, 48], "24h": 33, "pend": [33, 80, 86, 92], "leav": [33, 37, 82, 86, 90, 95], "reserv": [33, 41], "github_releas": 33, "foosel": 33, "repo": 33, "pip_command": 33, "cache_ttl": 33, "notify_us": 33, "pisupport": 33, "ignore_throttl": 33, "mb": [33, 39], "minimum_free_storag": 33, "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "check_overlay_url": 33, "update_check_overlai": 33, "6h": 33, "check_overlay_ttl": 33, "github_commit": 33, "regularli": [33, 54], "doc": [33, 37, 42, 48, 52, 82, 95], "en": [33, 82, 90], "pro": 33, "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_us": 33, "bitbucket_password": 33, "prereleas": 33, "prerelease_branch": [33, 89], "commitish": 33, "target_commitish": 33, "stable_branch": [33, 89], "prerelease_channel": 33, "stable_channel": 33, "versionad": 33, "release_compar": 33, "compar": [33, 83, 86, 92, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "comparison": 33, "pkg_resourc": 33, "parse_vers": 33, "newer": [33, 42, 92], "semant": [33, 45, 52, 90], "semantic_vers": 33, "packag": [33, 54, 87, 88, 90, 93, 94, 96], "unequ": 33, "api_us": 33, "privat": 33, "api_password": 33, "hint": [33, 90, 95, 96], "ssh": [33, 48], "accord": [33, 37, 47, 85, 90], "my_us": 33, "my_repo": 33, "git_commit": 33, "checkout_fold": 33, "pypi_releas": 33, "pypi": [33, 54], "httpheader": 33, "etag": [33, 83, 95], "header_url": 33, "avoid": [33, 42, 48, 92, 96], "duplic": [33, 95], "single_file_plugin": 33, "header_nam": 33, "header_method": 33, "header_prefix": 33, "jsondata": 33, "command_lin": 33, "stdout": [33, 39, 86], "python_check": 33, "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "always_curr": 33, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "current_vers": 33, "never_curr": 33, "local_vers": 33, "remote_vers": 33, "ing": [33, 96], "impli": 33, "pip_cwd": 33, "force_reinstal": 33, "guarante": [33, 61, 81, 90, 95], "re": [33, 81, 82, 92, 95], "update_script": 33, "update_fold": 33, "python_updat": 33, "sleep_a_bit": 33, "durat": [33, 37, 82], "countdown": 33, "meantim": 33, "correctli": [33, 37, 48, 52, 55, 82], "devel": [33, 37, 41, 42, 79, 82, 90], "someplugin": 33, "declar": [33, 77, 80, 87, 91, 92, 95, 97], "mainten": [33, 41, 45, 96], "tag": [33, 45, 81, 90, 92], "And": [33, 46, 48, 92], "gist": 33, "somegist": 33, "whenev": [33, 48, 55, 95], "alongsid": 33, "githubusercont": [33, 42], "gistid": 33, "my_plugin": 33, "bit": [33, 37, 40, 48, 90, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "pick": [33, 90, 92], "around": [33, 37, 51, 81, 82, 90, 95], "lot": [33, 37, 40, 57, 82, 92], "higher": [33, 70, 95], "pure": [33, 95], "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "plugin_softwareupdate_update_succeed": 33, "succeed": 33, "from_vers": 33, "to_vers": 33, "plugin_softwareupdate_update_fail": 33, "update_config_hook": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "signatur": [33, 57, 85, 86, 92], "get_latest": 33, "checker": [33, 94], "perform_upd": 33, "fiction": 33, "updateplugindemo": 33, "get_update_inform": [33, 88, 89], "_plugin_nam": [33, 79, 80, 94], "displayvers": 33, "_plugin_vers": [33, 79, 80, 94], "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "insight": [34, 90], "mani": [34, 37, 46, 66, 81, 82, 92], "metric": 34, "earli": 34, "better": [34, 37, 40, 90], "tailor": 34, "ping": 34, "15min": 34, "granular": [34, 48, 92, 95], "printjob": 34, "commerror": 34, "simul": [35, 37, 46], "quirk": 35, "heavili": 35, "virtual_print": [35, 46, 92], "manipul": [36, 49, 92], "append_valu": 36, "behind": [36, 37, 82, 90, 92], "insert_valu": 36, "insert": [36, 80], "remove_valu": 36, "appdata": [37, 39, 51, 52, 54, 55, 84, 89], "deviat": 37, "filebas": [37, 82], "usermanag": [37, 79, 80, 82, 83, 92, 94], "filebasedusermanag": [37, 82, 92], "userfil": [37, 79, 82], "localnetwork": [37, 48, 79, 82], "autologina": [37, 48, 79, 82], "autologinloc": [37, 48, 79, 82], "logon": [37, 82], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "googl": [37, 82], "haproxi": [37, 82], "wiki": [37, 49, 54, 90], "forwardfor": 37, "127": [37, 48, 74, 82, 88, 92], "24": [37, 82, 89, 92], "trust": [37, 48, 82, 83], "front": [37, 82, 96], "lock": [37, 81, 82], "down": [37, 47, 48, 78, 82, 84, 95, 96], "trustbasicauthent": [37, 79, 82], "caution": [37, 48, 82], "checkbasicauthenticationpassword": [37, 79, 82], "proxi": [37, 82, 83, 92], "trustremoteus": [37, 79, 82], "convei": [37, 82], "remoteuserhead": [37, 79, 82], "remote_us": [37, 82], "addremoteus": [37, 79, 82], "impact": [37, 82], "defaultreauthenticationtimeout": [37, 79, 82], "some_vers": 37, "pubkei": 37, "rsa": 37, "tweak": 37, "violet": [37, 79, 82], "transpar": [37, 82, 97], "acryl": [37, 82], "colortranspar": [37, 79, 82], "showinternalfilenam": [37, 79, 82], "prepend": [37, 57, 92], "plugin_pi_support": [37, 82], "plugin_firmware_check": 37, "plugin_gcodeview": [37, 82], "plugin_appkei": [37, 82], "plugin_backup": [37, 82], "plugin_track": [37, 82], "plugin_errortrack": [37, 82], "plugin_corewizard_acl": [37, 82], "critic": [37, 47, 79, 82], "defaultlanguag": [37, 79, 82], "reorder": 37, "plugin_": [37, 80, 90, 92, 95], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "redefin": [37, 39], "plugin_helloworld": 37, "fan": [37, 51, 52, 82, 88, 92], "layout": [37, 51, 79, 82], "horizont": [37, 51, 79, 82, 90], "parametric_command": 37, "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "255": [37, 48, 51, 82], "m107": [37, 51, 52, 88, 92], "rerend": [37, 82], "preemptiv": [37, 79, 82, 95], "stylesheet": [37, 79, 82, 90, 95], "product": [37, 80, 82, 92], "compil": [37, 81, 82, 90], "css": [37, 42, 79, 82, 92, 93, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "asset": [37, 62, 82, 90, 94, 95], "minifi": [37, 79, 82], "webasset": [37, 62, 79, 82, 90], "reduc": [37, 82, 90], "minif": [37, 82], "regardless": [37, 62, 82, 87, 92, 95, 96], "minify_plugin": [37, 79, 82], "clean_on_startup": [37, 79, 82], "anim": [37, 82], "showloadinganim": [37, 79, 82], "compens": [37, 82], "fact": [37, 40, 81, 82, 92], "accuraci": [37, 82], "statsweighinguntil": [37, 79, 82], "elaps": [37, 47, 81, 82, 92], "far": [37, 48, 52, 53, 82, 83, 90, 95], "validityrang": [37, 79, 82], "dumb": [37, 82], "forcedumbfromperc": [37, 79, 82], "forcedumbaftermin": [37, 79, 82], "30": [37, 82, 86, 90], "fluctuat": [37, 82], "stablethreshold": [37, 79, 82], "60": [37, 82, 86, 92], "shell": [37, 42], "consum": [37, 56, 92], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "lcd": [37, 82], "m115": [37, 46, 47, 92], "m117": [37, 46, 47, 51, 82, 92], "g28": [37, 47, 51, 82], "logfil": [37, 80, 97], "graph": [37, 82], "temperaturegraph": [37, 79, 82], "sdsupport": [37, 79, 82], "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "poll": [37, 82, 92], "watch": [37, 42, 79, 82, 95], "pollwatch": [37, 79, 82], "modelsizedetect": [37, 79, 82], "printcancelconfirm": [37, 79, 82], "uppercas": [37, 82, 92], "autouppercaseblacklist": [37, 79, 82], "m118": [37, 82], "g91": [37, 51, 52, 82, 92], "influenc": [37, 82, 92, 95], "g90influencesextrud": [37, 79, 82], "univers": [37, 82], "filesystem": [37, 82, 83], "fine": [37, 46, 57, 81, 82, 90, 96], "revert": [37, 47, 82], "older": [37, 41, 82, 95], "enforcereallyuniversalfilenam": [37, 79, 82], "temporari": [37, 82, 83, 85], "tmp": [37, 82, 83], "virtualsd": [37, 79, 82], "mount": 37, "quickli": [37, 55, 90, 96], "resid": [37, 80, 87, 92], "slicingprofil": [37, 79, 82, 85, 95], "pertain": 37, "saniti": [37, 82, 92], "maxextrud": [37, 79, 82], "throttle_normalprio": [37, 79, 82], "01": [37, 46, 82, 90], "throttle_highprio": [37, 79, 82], "mobil": [37, 90, 95], "2mb": 37, "2097152": [37, 39], "20mb": 37, "20971520": 37, "_disabl": [37, 82], "_forcedcompat": [37, 82, 96], "tier": [37, 82], "_sortingord": [37, 82], "some_hook": 37, "some_other_hook": 37, "some_set": [37, 40, 95], "some_other_set": 37, "defaultprofil": [37, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "beforeprintstart": [37, 52, 79, 82, 92], "afterprintcancel": [37, 52, 79, 82], "motor": [37, 48, 52, 82], "nm84": [37, 82], "disable_hotend": [37, 52, 82], "nm140": 37, "nm106": [37, 82], "afterprintdon": [37, 52, 79, 82], "afterprintpaus": [37, 52, 92], "beforeprintresum": [37, 52], "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "m104": [37, 52, 82], "endfor": [37, 51, 52, 82, 92], "decreas": [37, 70, 82], "experienc": [37, 39, 82], "sec": 37, "communicationbusi": [37, 79, 82], "dead": [37, 82], "max": [37, 51, 79, 80, 82, 83], "written": [37, 80, 82, 83, 96], "maxwritepass": [37, 79, 82], "glob": [37, 82, 92], "additionalport": [37, 79, 82], "myprintersymlink": 37, "baud": [37, 47, 82], "additionalbaudr": [37, 79, 82], "123456": 37, "becaus": [37, 40, 62, 82, 83, 95], "m0": [37, 47, 82], "m1": [37, 47, 82], "blockedcommand": [37, 79, 82], "m600": [37, 47, 82], "ignoredcommand": [37, 79, 82], "pausingcommand": [37, 79, 82], "m25": [37, 82], "dwell": [37, 47, 82], "longrunningcommand": [37, 79, 82], "g4": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "m400": [37, 82], "m226": [37, 47, 82], "checksum": [37, 46, 82], "m110": [37, 82, 92], "checksumrequiringcommand": [37, 79, 82], "handshak": [37, 82, 83], "n0": [37, 82], "simpli": [37, 42, 48, 52, 95, 96], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "hellocommand": [37, 79, 82], "disconnectonerror": [37, 79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "invalu": [37, 82], "logresend": [37, 79, 82], "waitforstartonconnect": [37, 79, 82], "capabl": [37, 46, 79, 82, 93], "waittoloadsdfilelist": [37, 79, 82], "linenumb": [37, 46, 82], "repeti": [37, 46, 82], "alwayssendchecksum": [37, 79, 82], "express": [37, 39, 51, 81, 82, 86, 92], "gm": [37, 82], "sendchecksumwithunknowncommand": [37, 79, 82], "unknowncommandsneedack": [37, 79, 82], "swallowokafterresend": [37, 79, 82], "sdrelativepath": [37, 79, 82], "sdalwaysavail": [37, 79, 82], "style": [37, 42, 46, 48, 51, 82, 93, 95], "targetextr0": [37, 46, 82], "m105": [37, 46, 82, 92], "repetiertargettemp": [37, 79, 82], "heatup": [37, 82], "externalheatupdetect": [37, 79, 82], "ident": [37, 82, 95], "ignoreidenticalresend": [37, 79, 82], "ignoredidenticalresend": 37, "identicalresendscount": 37, "supportfascommand": [37, 79, 82], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "firmwaredetect": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "supportresendswithoutok": [37, 79, 82], "talk": [37, 62, 82], "latin_1": [37, 82], "codec": [37, 82], "shut": [37, 47, 82, 95], "enableshutdownactioncommand": [37, 79, 82], "m29": [37, 46, 82], "buggi": [37, 82], "triggerokform29": [37, 79, 82], "resendratiothreshold": [37, 79, 82], "autoreport": [37, 82], "autoreport_temp": [37, 46, 79, 82], "shorten": [37, 82], "busy_protocol": [37, 79, 82], "bind": [37, 82, 90, 95, 97], "5000": [37, 82, 84], "startonceinsafemod": [37, 55, 79, 82], "incomplet": [37, 82, 97], "ignoreincompletestartup": [37, 79, 82], "secret": [37, 82], "encrypt": [37, 82], "randomli": [37, 82], "secretkei": [37, 79, 82], "somesecretkei": 37, "nginx": [37, 82, 83], "apach": [37, 82], "reverseproxi": [37, 79, 82], "prefixhead": [37, 79, 82], "schemehead": [37, 79, 82], "hosthead": [37, 79, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "said": [37, 47, 48, 82], "prefixfallback": [37, 79, 82], "schemefallback": [37, 79, 82], "hostfallback": [37, 79, 82], "trusteddownstream": [37, 79, 82], "embed": [37, 82, 90, 95], "samesit": [37, 79, 82, 83], "allowfram": [37, 79, 82], "lax": [37, 79, 82], "strict": [37, 40, 79, 82, 86], "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "www": [37, 82, 83, 86], "chromestatu": [37, 82], "5088147346030592": [37, 82], "5633521622188032": [37, 82], "3482": [37, 82], "suffix": [37, 57, 82, 83, 84, 92, 95], "nifti": [37, 82], "memori": [37, 82, 83], "rewrit": [37, 82, 83, 92], "incom": [37, 70, 82, 83, 95], "1gb": [37, 82], "maxsiz": [37, 79, 82, 86], "1073741824": [37, 82], "namesuffix": [37, 79, 82], "pathsuffix": [37, 79, 82], "100kb": [37, 82, 92], "102400": [37, 82], "serverrestartcommand": [37, 79, 82], "sudo": [37, 42, 48, 96], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "h": 37, "localpipcommand": [37, 79, 82], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "concern": [37, 45], "aka": [37, 40], "pluginblacklist": [37, 79, 82], "diskspac": [37, 79, 82], "threshold": [37, 82, 83], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "spars": [37, 82], "500mb": [37, 82], "63488000": 37, "200mb": [37, 82], "209715200": [37, 82], "preemptivecach": [37, 79, 82, 92], "dai": [37, 82], "ipcheck": [37, 79, 82], "notat": [37, 82], "trustedsubnet": [37, 79, 82], "baseurl": [37, 57, 58, 62, 70], "mention": [37, 49, 52, 88, 90, 96], "coupl": [37, 41, 70, 90], "emb": [37, 48, 62, 95], "build": [37, 43, 52, 78, 90, 97], "domain": [37, 57, 82, 83], "refus": [37, 78, 96], "insecur": [37, 48, 82], "ticket": 37, "twitter": 37, "solv": [37, 81, 96], "ship": [37, 54, 55, 82], "scari": [37, 48], "defaultslic": [37, 79, 82], "dropdown": 37, "desir": [37, 42, 49, 92], "ab": [37, 82], "210": [37, 82, 92], "pla": [37, 82], "180": [37, 82], "suppress": [37, 47, 81, 82, 92, 95], "pbn": [37, 82], "bclpr": [37, 82], "m27": [37, 82, 92], "echo": [37, 46, 82, 92, 95], "mjpg": [37, 82], "streamer": [37, 82], "binari": [37, 42, 57, 82, 90, 95, 96], "rpi1": 37, "ffmpegthread": [37, 79, 82], "videocodec": [37, 82], "mpeg2video": 37, "ffmpegvideocodec": [37, 79, 82], "bitrat": [37, 79, 82], "5000k": 37, "watermark": [37, 79, 82], "movi": [37, 47, 48, 82], "flip": [37, 82], "fliph": [37, 79, 82], "vertic": [37, 51, 79, 82], "flipv": [37, 79, 82], "rotat": [37, 82], "90": [37, 66, 82], "counter": [37, 82, 86], "clockwis": [37, 82], "rotate90": [37, 79, 82], "framer": [37, 82], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "pictur": [37, 82], "captur": [37, 47, 82, 93], "capturepostrol": [37, 79, 82], "cleantmpafterdai": [37, 79, 82], "primer": [38, 48, 51, 55, 56], "rule": [38, 42, 92, 95, 96], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "formatt": [38, 42], "rollov": 39, "editor": [39, 40, 42, 48, 51, 55], "loglevel": 39, "increas": [39, 41, 45, 70, 86, 92, 95], "highest": 39, "filemanag": [39, 56, 79, 80, 93, 94, 95], "expand": [39, 92], "deem": 39, "find": [39, 41, 42, 48, 52, 53, 80, 87, 89, 90, 95, 96], "serialfil": 39, "streamhandl": 39, "ext": [39, 84], "sy": [39, 86, 96], "timedrotatingfilehandl": 39, "backupcount": 39, "rotatingfilehandl": 39, "maxbyt": 39, "1024": [39, 92], "no_color": 39, "referenc": [39, 92], "asctim": 39, "levelnam": 39, "log_color": 39, "statement": [39, 90, 92, 96], "pathnam": 39, "lineno": 39, "logrecord": 39, "hood": 40, "shed": 40, "excel": 40, "veri": [40, 41, 48, 54, 62, 70, 81, 83, 90, 95, 97], "quot": [40, 49], "indent": [40, 48], "illeg": 40, "whitespac": 40, "matter": [40, 93, 96], "plai": [40, 84], "comment": [40, 49, 92], "piec": [40, 88], "mistaken": 40, "syntax": [40, 51, 52, 80, 82, 90], "thumb": [40, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "liter": [40, 96], "escap": [40, 83, 90], "backslash": 40, "span": [40, 83], "break": [40, 41, 45, 48, 95], "spread": 40, "42": [40, 48, 90], "colon": 40, "bracket": 40, "phew": 40, "yai": 40, "multilin": 40, "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "four": [40, 92, 95], "paragraph": 40, "But": [40, 90], "57": 40, "organ": [40, 54], "anotherkei": 40, "explain": 40, "quit": [40, 90, 92, 96], "complex": [40, 51, 90], "visibl": [40, 95, 97], "some_valu": [40, 95], "a_list": 40, "some_flag": [40, 95], "quoted_str": 40, "setting1": 40, "setting2": 40, "subsetting21": 40, "value11": 40, "subsetting22": 40, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "the_end": 40, "guess": [40, 48, 83, 90], "unquot": 40, "saw": 40, "mind": [40, 78, 90, 92], "trick": [40, 92], "dash": 40, "clearer": 40, "ideal": [40, 47, 48], "highlight": 40, "white": 40, "tremend": [40, 41, 90], "sensit": [40, 51, 82, 95], "ci": 41, "improv": [41, 83], "spot": 41, "rock": 41, "solid": [41, 90], "good": [41, 48, 90, 92, 96, 97], "dev114": 41, "big": [41, 95], "major": [41, 45], "kept": [41, 77], "sometim": [41, 42, 96], "stuff": [41, 51, 90], "encount": [41, 47, 80, 81, 96], "dev123": 41, "stage": [41, 42], "bugfix": 41, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "graduat": 41, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "0rc1": [41, 96], "0rc2": 41, "dev3": 41, "0rc": 41, "dev12": 41, "pop": 41, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "slowli": [41, 70], "agnost": 42, "prerequisit": 42, "setuptool": [42, 89, 90], "virtualenv": [42, 90, 96], "clone": [42, 90], "cd": [42, 90], "python3": [42, 96], "venv": [42, 90, 96], "bin": [42, 54, 55, 89, 90, 96], "bash": 42, "upgrad": 42, "revis": 42, "blame": 42, "ignorerevsfil": 42, "rev": 42, "suit": 42, "pytest": 42, "rebuild": 42, "sphinx": 42, "_build": 42, "scan_dep": 42, "substitut": 42, "apt": 42, "distribut": [42, 48, 56, 93], "debian": 42, "ubuntu": 42, "libyaml": 42, "essenti": 42, "Then": [42, 48, 90, 92, 96], "pull": [42, 96], "2019": 42, "ensur": [42, 48, 54, 55, 77, 78, 80, 81, 83, 86, 90, 92, 95, 96], "msvcv142": 42, "x64": 42, "x86": 42, "sdk": 42, "ex": [42, 96], "m": [42, 81, 86, 90, 92], "easili": [42, 48, 92], "3df4550c": 42, "eebd": 42, "496c": 42, "a189": 42, "e55f2f8b01c": 42, "commandlin": [42, 56, 79], "startingdirectori": 42, "tabtitl": 42, "suppressapplicationtitl": 42, "forum": [42, 56, 96], "myself": 42, "privileg": 42, "xcode": 42, "suitabl": 42, "el": 42, "capitan": 42, "xcodebuild": 42, "homebrew": 42, "rubi": 42, "curl": 42, "fssl": 42, "brew": 42, "ensurepip": 42, "repeat": [42, 61], "artifact": 42, "clean": [42, 86, 88, 95], "launch": [42, 44, 95], "modulesdkpath": 42, "projectfiledir": 42, "sadli": [42, 53, 90, 95, 96, 97], "hiccup": 42, "pyinterpreterdirectori": 42, "cmd": [42, 88, 92], "watcher": 42, "scope": [42, 83], "filepath": [42, 78], "footer": 42, "2016": [42, 92], "debugg": 42, "visualstudio": 42, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "defaultinterpreterpath": 42, "formatonsav": 42, "sortimport": 42, "codeactionsonsav": 42, "organizeimport": 42, "lint": 42, "pylinten": 42, "flake8en": 42, "task": [42, 54, 57, 80, 95], "label": [42, 47, 51, 57, 82, 90], "cwd": 42, "workspacefold": 42, "prelaunchtask": 42, "linter": 42, "flake8": 42, "bugbear": 42, "summari": [42, 96], "press": [42, 51, 82, 86], "f5": 42, "ctrl": 42, "shift": [42, 90], "mac": [43, 51, 54, 89], "pycharm": 43, "studio": 43, "vscode": 43, "guidelin": 43, "perfprofil": 44, "modulenotfounderror": 44, "pyinstrument": 44, "pep440": 45, "minor": 45, "contract": [45, 92], "hotfix": 45, "maintain": [45, 95], "nearest": 45, "dev68": 45, "g46c7a9c": 45, "uncommit": 45, "dirti": 45, "footnot": [45, 51, 54, 89, 90], "segment": [45, 46], "concept": [45, 56, 84, 93], "mandat": 45, "henceforth": 45, "furthermor": 46, "condit": [46, 86], "hard": [46, 54], "reproduc": [46, 55], "pane": [46, 95], "tune": 46, "behavior": 46, "okafterresend": 46, "throw": [46, 57], "forcechecksum": 46, "okwithlinenumb": 46, "numextrud": 46, "pin": 46, "pinnedextrud": 46, "34": [46, 90], "t1": [46, 92], "43": [46, 90], "includecurrenttoolintemp": 46, "m23": 46, "27": 46, "includefilenameinopen": 46, "hasb": 46, "haschamb": 46, "repetierstyletargettemperatur": 46, "repetierstyleresend": 46, "inlin": [46, 51], "m20": [46, 82], "okbeforecommandoutput": 46, "smoothietemperaturereport": 46, "sdfile": 46, "files": 46, "hex": 46, "longnam": 46, "outgo": 46, "buffer": [46, 83], "waitinterv": 46, "rx": 46, "sendwait": 46, "rxbuffer": 46, "64": 46, "slot": [46, 86], "commandbuff": 46, "m112": [46, 47, 82], "supportm112": 46, "echoonm117": 46, "broken": 46, "brokenm29": 46, "supportf": 46, "firmwarenam": 46, "marlin": 46, "sendbusi": 46, "simulatereset": 46, "resetlin": 46, "mi": 46, "fill": [46, 80, 95], "runtim": [46, 87, 95, 96], "prepare_ok": 46, "preparedok": 46, "lastn": 46, "okformatstr": 46, "firmare_nam": 46, "m115formatstr": 46, "firmware_nam": [46, 92], "protocol_vers": [46, 92], "m115reportcap": 46, "autoreport_sd_statu": 46, "autoreport_po": [46, 79, 82], "emergency_pars": [46, 79, 82], "extended_m20": [46, 79, 82], "lfn_write": [46, 79, 82], "m115_geometry_report": 46, "m115reportarea": 46, "ambient": 46, "ambienttemperatur": 46, "eg": [46, 95], "m105targetformatstr": 46, "2f": 46, "m105notargetformatstr": 46, "eeprom": [46, 51, 82], "m500": 46, "enable_eeprom": 46, "m503": 46, "support_m503": 46, "nois": 46, "resend_ratio": 46, "simulated_error": 46, "resend_with_timeout": 46, "110": 46, "missing_lineno": 46, "115": 46, "checksum_mismatch": 46, "plugin_virtual_printer_seri": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "action_custom": 46, "dont_answ": 46, "go_awol": 46, "trigger_resend_lineno": 46, "trigger_resend_checksum": 46, "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "drop_connect": 46, "enqueu": [46, 66, 78, 79, 92], "sleep_aft": 46, "sleep_after_next": 46, "start_sd": 46, "select_sd": 46, "cancel_sd": 46, "misc": 46, "carri": 47, "growl": [47, 54, 90, 91], "mygrowlserv": 47, "raspi": 47, "octoprint_logo": 47, "printstart": [47, 52], "printdon": [47, 52], "printcancel": [47, 52], "__eventnam": 47, "__currentz": 47, "__filenam": 47, "NO": 47, "__filepath": 47, "__fileorigin": 47, "__progress": 47, "percent": [47, 81], "__data": 47, "__now": 47, "8601": 47, "register_custom_ev": [47, 93], "clientopen": 47, "remoteaddress": 47, "clientauth": 47, "clientclos": 47, "userloggedin": 47, "userloggedout": 47, "connectivitychang": 47, "old": [47, 48, 52, 57, 90, 95, 97], "life": [47, 90], "thermal": 47, "runawai": 47, "recov": 47, "resend_loop": 47, "start_print": [47, 79, 81], "printerstatechang": 47, "state_id": 47, "get_state_id": [47, 79, 81], "state_str": 47, "effective_select": 47, "effective_print": 47, "filead": 47, "hierarchi": [47, 57, 80], "fileremov": 47, "filemov": 47, "source_nam": 47, "destination_path": [47, 95], "destination_nam": 47, "destination_typ": 47, "updatedfil": 47, "folderad": 47, "folderremov": 47, "foldermov": 47, "printabl": [47, 92], "modif": [47, 78, 81, 84, 85, 95], "supersed": 47, "metadataanalysisstart": 47, "metadataanalysisfinish": 47, "fileselect": 47, "filedeselect": 47, "transferstart": 47, "transfer": [47, 92], "transferdon": 47, "took": [47, 90], "firmwareerror": 47, "m114": [47, 51, 52, 82], "accur": 47, "fileposit": 47, "printpaus": [47, 52], "printresum": [47, 52], "scriptnam": [47, 92], "chartmark": 47, "chart": 47, "pluginname_eventtyp": 47, "styliz": 47, "short": [47, 83, 95], "word": [47, 84], "epoch": 47, "poweron": 47, "m80": [47, 92], "poweroff": 47, "m81": 47, "g0": [47, 92], "m245": 47, "alert": [47, 95], "m300": 47, "conveyor": 47, "m240": 47, "eject": 47, "m40": 47, "estop": 47, "filamentchang": 47, "m701": 47, "m702": 47, "positionupd": 47, "toolchang": 47, "commandsuppress": 47, "explan": [47, 66], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "misconfigur": 47, "invalidtoolreport": 47, "suppressedcommand": 47, "capturestart": 47, "capturedon": 47, "capturefail": 47, "caught": [47, 80], "movierend": 47, "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "returncod": [47, 86], "no_fram": 47, "slicingstart": 47, "stl_locat": 47, "gcode_loc": 47, "progressavail": 47, "slicingprogress": 47, "slicingdon": 47, "slicingcancel": [47, 79, 85, 95], "slicingfail": 47, "slicingprofilead": 47, "12": [47, 95], "slicingprofilemodifi": 47, "slicingprofiledelet": 47, "settingsupd": [47, 80], "pluginset": [47, 79, 80, 92, 94], "trigger_ev": [47, 80, 84], "printerprofilemodifi": 47, "mere": [48, 92], "customis": 48, "predefin": [48, 53, 92, 95], "aspect": [48, 82], "involv": [48, 81, 92], "plan": [48, 54, 57, 96], "measur": [48, 70], "everyon": [48, 90], "stepper": [48, 52], "publicli": [48, 95], "bypass": 48, "inconvi": 48, "isol": 48, "benefit": 48, "huge": 48, "underestim": 48, "risk": [48, 49], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "unsecur": 48, "happili": 48, "harder": 48, "listen": [48, 83, 95], "someon": [48, 92], "malwar": 48, "endless": 48, "benchi": 48, "permit": 48, "improperli": 48, "compromis": 48, "extrem": 48, "sound": 48, "figur": [48, 95], "pc": 48, "mask": 48, "rout": [48, 93, 95], "grep": 48, "wlan0": 48, "awk": 48, "ipv6": 48, "sai": [48, 55, 88, 93], "youraddressrang": 48, "easiest": [48, 96], "screen": [48, 90, 95], "understand": [48, 90], "roughli": [48, 92, 96], "learn": [48, 90], "dont": 48, "central": [48, 80], "let": [48, 51, 89, 90, 92, 95], "outlin": [48, 95], "nano": 48, "salt": [48, 79, 82], "aabbccddee1234523452345": 48, "yourusernam": 48, "128": [48, 82], "everyth": [48, 52, 57, 77, 90, 96], "cp": 48, "went": [48, 57], "think": 48, "almost": 48, "certainli": [48, 90], "ipv4": [48, 82], "highli": [48, 89], "discourag": [48, 80], "regret": 48, "alon": [48, 95], "Such": 49, "preced": [49, 92], "pronterfac": 49, "he": 49, "had": [49, 50, 90, 95], "sd_insert": 49, "sd_eject": 49, "sd_updat": 49, "abus": [49, 81], "malici": 49, "comm": [49, 50, 88, 93], "elsewher": [50, 80], "contrari": [50, 57], "custom_command": 50, "atcommand": [50, 93], "jinja2": [51, 52, 62, 90, 92, 95], "hierarch": [51, 95], "hesit": 51, "slider": [51, 79, 82], "element": [51, 57, 61, 78, 90, 95, 97], "feedback": [51, 81, 97], "3000mm": 51, "x10": [51, 92], "f3000": 51, "parametr": 51, "3000": 51, "fun": [51, 93, 96], "danc": 51, "repetit": 51, "yield": [51, 78, 86, 90], "fig": [51, 55], "latter": [51, 92, 95, 97], "closer": 51, "lai": [51, 82], "bottom": [51, 82, 86], "met": [51, 82, 83, 95], "sophist": [51, 52, 82, 95], "eval": [51, 82], "controlviewmodel": [51, 82, 97], "additionalclass": [51, 79, 82], "btn": [51, 82, 90], "tick": [51, 82], "rendit": [51, 82, 95], "hi": [51, 82, 92], "accident": [51, 82], "aren": [51, 52], "getadditionalcontrol": [51, 97], "view": [51, 83, 84, 86, 90, 92, 95, 97], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "center_x": 51, "center_i": 51, "speed_x": 51, "speed_i": 51, "speed_z": 51, "p500": 51, "z10": 51, "z1": 51, "endif": [51, 52, 82], "x2": 51, "y2": 51, "x0": [51, 52], "y0": [51, 52], "occas": 52, "jinja": [52, 90, 92, 95], "beforeprinterdisconnect": [52, 79, 82], "unexpect": [52, 90], "cut": [52, 82, 83], "beforetoolchang": [52, 79, 82], "tn": 52, "aftertoolchang": [52, 79, 82], "emit": [52, 93], "capit": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptafterprintdonefinish": 52, "reusabl": 52, "spectrum": 52, "last_posit": 52, "last_temperatur": 52, "degre": 52, "celsiu": [52, 81], "necessarili": [52, 81, 92], "last_fanspe": 52, "myplugin": [52, 57, 88, 92, 95, 96], "myvari": [52, 92], "pause_posit": 52, "advanc": [52, 89, 90], "pause_temperatur": 52, "pause_fanspe": 52, "cancel_posit": 52, "cancel_temperatur": 52, "cancel_fanspe": 52, "multitud": 52, "peopl": [52, 90], "m84": 52, "disable_b": [52, 82], "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "m140": [52, 82], "inact": 52, "uncom": 52, "xyze": 52, "m83": 52, "slightli": [52, 57, 83], "upward": 52, "f4500": 52, "m82": 52, "e5": 52, "xyz": 52, "g92": 52, "design": [52, 90], "autologin": [53, 82], "diagnos": 54, "observ": [54, 55, 90, 92], "unpack": 54, "oprint": [54, 55, 89, 90, 96], "13": [55, 70, 90], "advent": 55, "becam": [55, 86], "appar": 55, "tracker": 55, "easier": [55, 90], "identif": 55, "introduc": [55, 81], "culprit": 55, "yamlpatch": 55, "forget": [55, 62, 78, 89, 90, 96], "wherev": 55, "remind": 55, "snappi": 56, "3d": 56, "gnu": 56, "affero": 56, "v3": 56, "Its": 56, "wouldn": 56, "financi": 56, "enjoi": 56, "focus": 56, "primarili": [56, 96], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "viewmodel": [56, 93], "tutori": [56, 89, 93, 95], "schema": [56, 79], "tornado": [56, 79, 92], "instanti": [57, 62, 88, 90, 92, 97], "registr": [57, 78, 89, 92, 96], "registerplugincompon": [57, 62], "unsolv": 57, "concurr": [57, 86], "architectur": 57, "intact": 57, "factori": [57, 80, 84, 93], "typeof": 57, "amd": 57, "var": [57, 58, 61, 62, 70, 74, 90, 97], "myplugincli": 57, "prototyp": 57, "somefunct": 57, "getbaseurl": [57, 62], "canon": [57, 86], "trail": [57, 78], "getrequesthead": [57, 62], "entail": 57, "datatyp": 57, "ajaxwithdata": [57, 62], "getwithqueri": [57, 62], "OR": 57, "getblueprinturl": [57, 62], "contenttyp": 57, "postjson": [57, 62], "somekei": 57, "somevalu": 57, "putjson": [57, 62], "patchjson": [57, 62], "usabl": [57, 78, 80], "selector": [57, 90], "tri": [57, 58, 70, 80], "replic": [57, 92], "textstatu": 57, "formdata": 57, "blueprint": [57, 83, 92, 95], "fileinput": 57, "progressoutput": 57, "myfilenam": 57, "dat": 57, "math": 57, "round": [57, 70, 86, 92, 96], "issuecommand": [57, 62], "trivial": 57, "myendpoint": 57, "mycommand": 57, "someparamet": 57, "someotherparamet": 57, "someothervalu": 57, "getsimpleapiurl": [57, 62], "proper": [57, 90, 93, 95], "simpleapiplugin": [57, 93], "simpleapiget": [57, 62], "simpleapicommand": [57, 62], "otherparamet": 57, "othervalu": 57, "blueprintplugin": [57, 92, 93], "createrejecteddef": [57, 62], "shortcut": [57, 74, 83, 90], "defer": 57, "createcustomexcept": [57, 62], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "stack": [57, 83, 86], "subclass": [57, 78, 83, 86, 90, 92, 95], "mycustomexcept": 57, "horribli": 57, "clientclass": 57, "registri": 57, "dosometh": 57, "invalidargumenterror": [57, 62], "myusernam": [58, 70], "mypassword": [58, 70], "passivelogin": [58, 62, 70], "getset": [59, 62, 73], "getcustomcontrol": [60, 62], "sendgcod": [60, 62], "sendgcodewithparamet": [60, 62], "sendgcodescript": [60, 62], "enhanc": 60, "sendgcodescriptwithparamet": [60, 62], "preprocess": [61, 92, 95], "undefin": [61, 97], "recursivelyprintnam": 61, "isfold": 61, "_": [61, 62, 80, 90, 91, 92, 95], "child": [61, 78, 86], "listforloc": [61, 62], "truthi": 61, "createfold": [61, 62], "somefil": 61, "pathforentri": [61, 62], "entryforpath": [61, 62], "funni": 61, "somepathstofind": 61, "packed_cli": 62, "js_client": 62, "asset_url": 62, "endasset": 62, "url_for": [62, 92, 95], "lodash": 62, "lib": [62, 90], "moreov": 62, "assembl": 62, "singular": 62, "client1": 62, "octoprint1": 62, "apikey1": 62, "client2": 62, "octoprint2": 62, "apikey2": 62, "togglepaus": [62, 63], "getfullst": [62, 66], "gettoolst": [62, 66], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "selecttool": [62, 66], "setflowr": [62, 66], "getbedst": [62, 66], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "getchamberst": [62, 66], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "getsdstat": [62, 66], "initsd": [62, 66], "refreshsd": [62, 66], "releasesd": [62, 66], "getpluginset": [62, 68], "savepluginset": [62, 68], "generateapikei": [62, 68, 73, 79, 84], "listallslicersandprofil": [62, 69], "listprofilesforslic": [62, 69], "getprofileforslic": [62, 69], "addprofileforslic": [62, 69], "updateprofileforslic": [62, 69], "deleteprofileforslic": [62, 69], "onmessag": [62, 70], "removemessag": [62, 70], "sendmessag": [62, 70], "sendauth": [62, 70], "onratetoolow": [62, 70], "onratetoohigh": [62, 70], "increaser": [62, 70], "decreaser": [62, 70], "sampl": 62, "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "executecommand": [62, 71], "listrend": [62, 72], "listunrend": [62, 72], "deleteunrend": [62, 72], "renderunrend": [62, 72], "getconfig": [62, 72], "saveconfig": [62, 72], "changepassword": [62, 73], "resetapikei": [62, 73], "saveset": [62, 73], "testpath": [62, 74], "testexecut": [62, 74], "testurl": [62, 74], "testserv": [62, 74], "testresolut": [62, 74], "shorthand": 63, "2mm": 66, "cover": 66, "profileid": 69, "40": [70, 95], "rateslidingwindows": 70, "eventobj": 70, "const": 70, "userid": [70, 92], "trip": 70, "lower": [70, 81, 86, 90, 92, 95, 97], "slide": 70, "faster": 70, "slower": 70, "half": [70, 95], "unto": [73, 97], "criteria": [74, 92], "mimetyp": [74, 83], "jpeg": [74, 95], "split": [74, 78, 92], "someimag": 74, "idonotexist": 74, "anonymousus": [76, 79], "apius": [76, 79], "corruptuserstorag": [76, 79], "invalidusernam": [76, 79], "unknownrol": [76, 79], "unknownus": [76, 79], "passwordhash": 76, "asdict": [76, 79, 80], "as_dict": 76, "useralreadyexist": [76, 79], "hiddenopt": [77, 79], "param_decl": 77, "sequenc": [77, 92], "show_default": 77, "union": [77, 82, 83, 86], "confirmation_prompt": 77, "prompt_requir": 77, "hide_input": 77, "is_flag": 77, "flag_valu": 77, "allow_from_autoenv": 77, "paramtyp": 77, "show_choic": 77, "show_envvar": 77, "attr": [77, 90], "octoprintcontext": [77, 79], "configfil": [77, 84], "basedir": [77, 84], "verbos": 77, "safe_mod": 77, "bulk_opt": [77, 79], "decor": [77, 83, 86, 95], "invers": 77, "intuit": 77, "hidden_opt": [77, 79], "keyword": [77, 80, 83, 85, 86, 92, 95], "unchang": [77, 83], "param": [77, 78, 81, 83, 86, 92, 95], "init_platform_for_cli": [77, 79], "ctx": [77, 83, 92], "subset": 77, "_identifi": [77, 79, 80, 94], "_logger": [77, 79, 80, 90, 92, 94, 95], "_connectivity_check": [77, 79, 80, 94], "_environment_detector": 77, "_event_bu": [77, 79, 80, 94], "_set": [77, 90, 91, 92, 94, 95], "init_platform": 77, "legacy_opt": [77, 79], "pass_octoprint_ctx": [77, 79, 92], "te": 77, "concaten": [77, 78, 80, 97], "set_ctx_obj_opt": [77, 79], "eager": [77, 95], "standard_opt": [77, 79], "octoprintdevelcommand": [77, 79], "multicommand": [77, 92], "get_command": [77, 79], "cmd_name": 77, "list_command": [77, 79], "subcommand": 77, "octoprintplugincommand": [77, 79, 92], "plugin_manag": [77, 79, 80, 92], "daemon_opt": [77, 79], "daemon": [77, 86, 92], "pid": 77, "run_serv": [77, 79], "v6_onli": 77, "allow_root": 77, "logging_config": 77, "ignore_blacklist": 77, "octoprint_daemon": 77, "disable_color": 77, "server_opt": [77, 79], "iknowwhatimdo": 77, "contenttypedetector": [78, 79], "detector": [78, 79], "alia": 78, "contenttypemap": [78, 79], "content_typ": [78, 79, 83, 92], "nosuchstorag": [78, 79], "abstractanalysisqueu": [78, 79, 92], "finished_callback": 78, "gcodeanalysisqueu": [78, 79, 92, 95], "analyz": [78, 94], "_do_analysi": [78, 79], "high_prior": 78, "_current": 78, "_do_abort": [78, 79], "reenqueu": 78, "priorit": 78, "queueentri": [78, 79], "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "queue_factori": 78, "invok": [78, 80, 86, 92, 95], "register_finish_callback": 78, "oneself": 78, "unregister_finish_callback": 78, "substructur": 78, "toolx": 78, "absolute_path": 78, "localfilestorag": [78, 79], "basefold": [78, 80, 95], "really_univers": 78, "sanit": [78, 79, 86, 92], "lru": 78, "minim": [78, 83, 86, 95], "overhead": [78, 92], "path_on_disk": [78, 79], "add_fil": [78, 79], "file_object": [78, 92], "allow_overwrit": [78, 85, 92, 95], "rais": [78, 80, 81, 83, 84, 85, 86, 95], "add_fold": [78, 79], "ignore_exist": 78, "add_link": [78, 79], "href": [78, 90], "analysis_backlog": [78, 79], "analys": [78, 92], "un": 78, "canonic": [78, 79], "copy_fil": [78, 79], "copy_fold": [78, 79], "file_exist": [78, 79], "file_in_path": [78, 79], "folder_exist": [78, 79], "get_additional_metadata": [78, 79], "get_lastmodifi": [78, 79], "get_metadata": [78, 79], "get_siz": [78, 79], "has_analysi": [78, 79], "join_path": [78, 79, 83], "qualifi": [78, 86], "last_modifi": [78, 79, 84], "defatul": 78, "list_fil": [78, 79], "force_refresh": 78, "dive": [78, 90], "some_sub_fold": 78, "some_fil": [78, 95], "sha1": 78, "move_fil": [78, 79], "move_fold": [78, 79], "path_in_storag": [78, 79], "opposit": 78, "unsupportedoper": 78, "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "apart": [78, 90], "remove_link": [78, 79], "deriv": [78, 83, 85, 86, 97], "slash": 78, "sanitize_nam": [78, 79], "valueerror": [78, 80, 83, 84, 85, 86], "sanitize_filenam": 78, "sanitize_path": [78, 79], "set_additional_metadata": [78, 79], "overwrit": [78, 81, 83, 90, 92, 95], "split_path": [78, 79], "storageinterfac": [78, 79], "abstractfilewrapp": [78, 79, 92], "wrapper": [78, 83, 85, 95], "iobas": 78, "diskfilewrapp": [78, 79], "preserv": 78, "lineprocessorstream": [78, 79, 92, 96], "input_stream": 78, "process_lin": [78, 79, 92, 96], "rawiobas": 78, "fly": [78, 90, 95], "flush": 78, "oserror": 78, "seekabl": [78, 79], "random": [78, 82, 92], "seek": 78, "truncat": 78, "multistream": [78, 79], "streamwrapp": [78, 79, 92], "dump": [78, 79, 83, 86], "plugin_set": [79, 80, 92], "call_plugin": [79, 80], "get_int": [79, 80, 95], "get_float": [79, 80], "get_boolean": [79, 80, 95], "set_int": [79, 80], "set_float": [79, 80], "set_boolean": [79, 80], "add_overlai": [79, 80, 84], "remove_overlai": [79, 80, 84], "get_plugin_logfile_path": [79, 80, 92], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "disable_plugin": [79, 80], "enable_plugin": [79, 80], "get_filtered_implement": [79, 80], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_plugin": [79, 80], "get_plugin_info": [79, 80], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_obsolete_hook": [79, 80], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hook_matches_hook": [79, 80], "is_obsolete_hook": [79, 80], "is_plugin_mark": [79, 80], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "mark_plugin": [79, 80], "plugin_hook": [79, 80], "register_message_receiv": [79, 80], "reload_plugin": [79, 80], "send_plugin_messag": [79, 80], "unregister_message_receiv": [79, 80], "plugininfo": [79, 80, 94], "disabling_discourag": [79, 80], "forced_dis": [79, 80], "invalid_syntax": [79, 80], "long_str": [79, 80], "looks_like_plugin": [79, 80], "needs_restart": [79, 80], "parsed_metadata": [79, 80], "privacypolici": [79, 80], "pythoncompat": [79, 80], "_basefold": [79, 80, 94], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "restartneedingplugin": [79, 80, 87, 93], "sortableplugin": [79, 80, 95], "get_sorting_kei": [79, 80, 92, 95], "_printer_profile_manag": [79, 80, 94], "_analysis_queu": [79, 80, 94], "_slicing_manag": [79, 80, 94], "_file_manag": [79, 80, 94], "_printer": [79, 80, 94], "_app_session_manag": [79, 80], "_plugin_lifecycle_manag": [79, 80], "_user_manag": [79, 80, 94], "_data_fold": [79, 80], "on_plugin_pending_uninstal": [79, 80, 87], "reloadneedingplugin": [79, 80, 87, 93], "get_connection_opt": [79, 81], "printerinterfac": [79, 80, 81, 92, 94], "can_modify_fil": [79, 81], "cancel_print": [79, 81], "change_tool": [79, 81], "feed_rat": [79, 81], "flow_rat": [79, 81], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_transport": [79, 81], "is_cancel": [79, 81], "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_oper": [79, 81], "is_paus": [79, 81], "is_print": [79, 81], "is_readi": [79, 81], "job_on_hold": [79, 81], "log_lin": [79, 81], "pause_print": [79, 81], "register_callback": [79, 81], "resume_print": [79, 81], "select_fil": [79, 81], "send_initial_callback": [79, 81], "set_job_on_hold": [79, 81], "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "toggle_pause_print": [79, 81], "unregister_callback": [79, 81], "unselect_fil": [79, 81], "valid_ax": [79, 81], "valid_heater_regex": [79, 81], "valid_tool_regex": [79, 81], "printercallback": [79, 81, 92], "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "bedformfactor": [79, 81], "bedorigin": [79, 81], "saveerror": [79, 81], "couldnotoverwriteerror": [79, 81], "invalidprofileerror": [79, 81], "basemodel": [79, 82], "printerparamet": [79, 82], "accesscontrolconfig": [79, 82], "autologinheadsupacknowledg": [79, 82], "groupmanag": [79, 82], "groupfil": [79, 82], "permissionmanag": [79, 82], "apiconfig": [79, 82], "appearanceconfig": [79, 82], "closemodalswithclick": [79, 82], "coloricon": [79, 82], "fuzzytim": [79, 82], "showfahrenheitalso": [79, 82], "colorenum": [79, 82], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "containerconfig": [79, 82], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "layoutenum": [79, 82], "develcacheconfig": [79, 82], "develconfig": [79, 82], "enablecsrfprotect": [79, 82], "enableratelimit": [79, 82], "plugintim": [79, 82], "sockjsconnecttimeout": [79, 82], "usefrozendictforprinterst": [79, 82], "develwebassetsconfig": [79, 82], "stylesheetenum": [79, 82], "estimationconfig": [79, 82], "printtimeestimationconfig": [79, 82], "eventsubscript": [79, 82], "eventsconfig": [79, 82], "subscriptiontypeenum": [79, 82], "featureconfig": [79, 82], "enabledragdropupload": [79, 82], "printstartconfirm": [79, 82], "rememberfilefold": [79, 82], "uploadoverwriteconfirm": [79, 82], "folderconfig": [79, 82], "gcodeanalysisconfig": [79, 82], "bedz": [79, 82], "runat": [79, 82], "throttle_lin": [79, 82], "runatenum": [79, 82], "pluginsconfig": [79, 82], "forced_compat": [79, 82], "sorting_ord": [79, 82], "printerparametersconfig": [79, 82], "pausetrigg": [79, 82], "printerprofilesconfig": [79, 82], "gcodescriptsconfig": [79, 82], "afterprintresum": [79, 82], "beforeprintpaus": [79, 82], "scriptsconfig": [79, 82], "alwaysdetectneverenum": [79, 82], "infowarnneverenum": [79, 82], "serialcap": [79, 82], "autoreport_sdstatu": [79, 82], "serialconfig": [79, 82], "abortheatuponcancel": [79, 82], "ackmax": [79, 82], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "disablesdprintingdetect": [79, 82], "emergencycommand": [79, 82], "identicalresendscountdown": [79, 82], "ignoreemptyport": [79, 82], "lastlinebuffers": [79, 82], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "lowlat": [79, 82], "maxconsecutiveresend": [79, 82], "maxnotsdprint": [79, 82], "neversendchecksum": [79, 82], "notifysuppressedcommand": [79, 82], "resendratiostart": [79, 82], "sanitychecktool": [79, 82], "sdcancelcommand": [79, 82], "sdlowercas": [79, 82], "sendm112onerror": [79, 82], "supportwait": [79, 82], "terminallogs": [79, 82], "useparityworkaround": [79, 82], "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "baudratedetectionpaus": [79, 82], "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "posautoreport": [79, 82], "positionlogwait": [79, 82], "resendok": [79, 82], "sdstatusautoreport": [79, 82], "temperatureautoreport": [79, 82], "commandsconfig": [79, 82], "cookiesconfig": [79, 82], "diskspaceconfig": [79, 82], "ipcheckconfig": [79, 82], "onlinecheckconfig": [79, 82], "pluginblacklistconfig": [79, 82], "preemptivecacheconfig": [79, 82], "reverseproxyconfig": [79, 82], "portfallback": [79, 82], "porthead": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "samesiteenum": [79, 82], "serverconfig": [79, 82], "allowedloginredirectpath": [79, 82], "heartbeat": [79, 82, 83], "seenwizard": [79, 82], "uploadsconfig": [79, 82], "slicingconfig": [79, 82], "actionconfig": [79, 82], "async_": [79, 82], "systemconfig": [79, 82], "temperatureconfig": [79, 82], "cutoff": [79, 82], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "temperatureprofil": [79, 82], "terminalfilterentri": [79, 82], "timelapseconfig": [79, 82], "timelapseopt": [79, 82], "timelapsetypeenum": [79, 82], "webcamconfig": [79, 82], "defaultwebcam": [79, 82], "ffmpegcommandlin": [79, 82], "ffmpegthumbnailcommandlin": [79, 82], "snapshotwebcam": [79, 82], "timelapseen": [79, 82], "webcamen": [79, 82], "ratioenum": [79, 82], "four_thre": [79, 82], "sixteen_nin": [79, 82], "cansnapshot": [79, 82], "extra": [79, 82, 83, 89, 90], "snapshotdisplai": [79, 82], "webcamcompat": [79, 82], "cachebust": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamwebrtciceserv": [79, 82], "cannotstartserverexcept": [79, 83], "octoprintanonymousident": [79, 83], "invalidapikeyexcept": [79, 83], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "has_permiss": [79, 83], "loginfromapikeyrequesthandl": [79, 83], "loginfromauthorizationheaderrequesthandl": [79, 83], "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "optionsalloworigin": [79, 83], "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "validate_local_redirect": [79, 83], "lesssimplecach": [79, 83], "octoprintflaskrequest": [79, 83], "server_nam": [79, 83], "server_port": [79, 83], "octoprintflaskrespons": [79, 83], "delete_cooki": [79, 83], "set_cooki": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintsessioninterfac": [79, 83], "save_sess": [79, 83], "should_set_cooki": [79, 83], "pluginassetresolv": [79, 83], "resolve_output_to_path": [79, 83], "split_prefix": [79, 83], "prefixawarejinjaenviron": [79, 83], "settingscheckupdat": [79, 83], "build_don": [79, 83], "needs_rebuild": [79, 83], "check_lastmodifi": [79, 83], "firstrun_only_access": [79, 83], "get_cookie_suffix": [79, 83], "get_flask_user_from_request": [79, 83], "make_api_error": [79, 83], "make_text_respons": [79, 83], "no_firstrun_access": [79, 83], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "redirect_to_tornado": [79, 83], "require_credentials_checked_rec": [79, 83], "restricted_access": [79, 83], "threadsafesess": [79, 83], "remove_handl": [79, 83], "set_handl": [79, 83], "corssupportmixin": [79, 83, 92], "set_default_head": [79, 83], "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "handle_stream": [79, 83], "deprecatedendpointhandl": [79, 83, 92], "dynamiczipbundlehandl": [79, 83], "generatingdatahandl": [79, 83], "globalheadertransform": [79, 83], "largeresponsehandl": [79, 83, 92], "compute_etag": [79, 83], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "original_absolute_path": [79, 83], "set_extra_head": [79, 83], "streamed_get": [79, 83], "requestlessexceptionloggingmixin": [79, 83], "log_except": [79, 83], "staticdatahandl": [79, 83, 92], "staticzipbundlehandl": [79, 83], "systeminfobundlehandl": [79, 83], "uploadstoragefallbackhandl": [79, 83], "body_method": [79, 83], "data_receiv": [79, 83], "is_multipart": [79, 83], "on_finish": [79, 83, 86], "urlproxyhandl": [79, 83, 92], "webcamsnapshothandl": [79, 83], "wsgiinputcontain": [79, 83], "handle_request": [79, 83], "access_validation_factori": [79, 83], "enable_per_message_deflate_extens": [79, 83], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "path_validation_factori": [79, 83, 92], "default_set": [79, 84], "valid_boolean_tru": [79, 84], "overlay_kei": [79, 84], "add_path_update_callback": [79, 84], "checkbasefold": [79, 84], "config_yaml": [79, 84], "deleteapikei": [79, 84], "effective_hash": [79, 84], "effective_yaml": [79, 84], "getbasefold": [79, 80, 84], "getboolean": [79, 80, 84], "getfloat": [79, 80, 84], "getint": [79, 80, 84, 91], "last_modified_or_made_dirti": [79, 84], "listscript": [79, 84], "loadscript": [79, 84], "load_overlai": [79, 84], "remove_path_update_callback": [79, 84], "sanity_check_fold": [79, 84], "savescript": [79, 84], "setbasefold": [79, 84], "setboolean": [79, 80, 84], "setfloat": [79, 80, 84], "setint": [79, 80, 84], "warn_about_risky_set": [79, 84], "temporaryprofil": [79, 85], "slicingmanag": [79, 80, 85, 92, 94], "all_profil": [79, 85], "cancel_sl": [79, 85, 95], "configured_slic": [79, 85], "default_slic": [79, 85], "delete_profil": [79, 85], "get_profile_path": [79, 85], "get_slic": [79, 85], "get_slicer_profile_path": [79, 85], "load_profil": [79, 85], "profiles_last_modifi": [79, 85], "registered_slic": [79, 85], "reload_slic": [79, 85], "save_profil": [79, 85], "set_default_profil": [79, 85], "slicing_en": [79, 85], "slicingexcept": [79, 85], "slicerexcept": [79, 85], "unknownslic": [79, 85], "slicernotconfigur": [79, 85], "profileexcept": [79, 85], "unknownprofil": [79, 85], "profilealreadyexist": [79, 85], "caseinsensitiveset": [79, 84, 86], "defaultordereddict": [79, 86], "prependablequeu": [79, 86], "repeatedtim": [79, 86], "resettabletim": [79, 86], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "chunk": [79, 83, 86], "deseri": [79, 86], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "fallback_dict": [79, 86], "filter_non_ascii": [79, 86], "get_bom": [79, 86], "get_class": [79, 86], "get_exception_str": [79, 86], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "is_allowed_fil": [79, 86], "pending_deprec": [79, 86], "pp": [79, 86], "to_byt": [79, 86, 96], "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "commandlinecal": [79, 86], "checked_cal": [79, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "commandlineerror": [79, 86], "delimitercaptur": [79, 86], "clean_ansi": [79, 86], "close_fd": [79, 86], "get_o": [79, 86], "is_os_compat": [79, 86], "set_close_exec": [79, 86], "plugin_fold": 80, "plugin_bas": 80, "plugin_entry_point": 80, "plugin_disabled_list": 80, "plugin_sorting_ord": 80, "plugin_blacklist": 80, "plugin_restart_needing_hook": 80, "plugin_obsolete_hook": 80, "plugin_considered_bundl": 80, "plugin_valid": 80, "compatibility_ignored_list": 80, "singleton": [80, 84], "namespac": [80, 90], "startswith": [80, 86, 92, 95], "obsolet": 80, "although": 80, "plugin_kei": 80, "get_preprocessor": 80, "set_preprocessor": 80, "get_settings_default": [80, 90, 95], "getter": [80, 84, 95], "preprocessor": [80, 84, 93, 95], "setter": [80, 81, 84, 95], "error_callback": 80, "sorting_context": [80, 92], "my_success_callback": 80, "my_error_callback": 80, "exc": 80, "startupplugin": [80, 90, 92, 93], "on_startup": [80, 90, 92, 95], "my_host": 80, "my_port": 80, "invoc": [80, 92], "likewis": [80, 85, 87], "greater": 80, "convers": [80, 84, 96], "equal": [80, 95], "at_end": [80, 84], "postfix": [80, 92], "slicingplugin": [80, 95], "folder_typ": 80, "orward": 80, "logging_prefix": 80, "customiz": 80, "initialize_implement": 80, "require_en": 80, "required_en": 80, "fnmatch": 80, "force_reload": 80, "reload": [80, 87, 90, 95, 97], "unregist": [80, 81], "attr_author": 80, "attr_check": 80, "lambda": [80, 86, 92, 95, 96], "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "show_bundl": 80, "bundled_str": 80, "show_loc": 80, "location_str": 80, "show_en": 80, "enabled_str": 80, "fourth": [80, 92], "entrypointorigin": 80, "folderorigin": 80, "moduleorigin": 80, "ast": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "phase": [80, 88, 93, 96], "additional_valid": 80, "before_import": 80, "before_load": 80, "after_load": 80, "attr_vers": 80, "sortabl": 80, "irrelev": [80, 92], "ascend": 80, "eventmanag": [80, 92, 94], "sessionmanag": 80, "lifecyclemanag": [80, 92], "connectivitycheck": [80, 94], "deeper": [81, 90], "ly": 81, "abstract": 81, "decid": [81, 89, 90, 95], "vanish": 81, "throughout": [81, 90, 92], "lifecycl": [81, 92, 93], "awai": [81, 84, 87], "queu": [81, 92], "anew": 81, "millimet": 81, "materi": 81, "stuck": 81, "classmethod": [81, 83, 95], "connection_str": 81, "open_seri": 81, "detect_seri": 81, "detect_baudr": 81, "closed_with_error": 81, "transfering_fil": 81, "transport": [81, 93], "contextmanag": 81, "park_printhead": 81, "take_snapshot": 81, "send_printhead_back": 81, "park": 81, "somewher": [81, 90], "WILL": 81, "held": [81, 84], "acquir": 81, "catch": 81, "runtimeexcept": 81, "thrown": [81, 84, 85], "unknownscriptexcept": 81, "printafterselect": 81, "po": 81, "invalidfiletyp": 81, "invalidfileloc": 81, "finer": 81, "forev": 81, "enclosur": 81, "unconfigur": [81, 85], "degc": 81, "ccm": 81, "x_min": 81, "y_min": 81, "z_min": 81, "x_max": 81, "y_max": 81, "z_max": 81, "use_enum_valu": 82, "access_control": 82, "filebasedgroupmanag": 82, "plugin_logging_seriallog": 82, "plugin_logging_plugintimingslog": 82, "plugin_firmware_check_warn": 82, "plugin_firmware_check_info": 82, "plugin_eventmanag": 82, "plugin_softwareupdate_upd": 82, "plugin_corewizard_onlinecheck": 82, "plugin_achiev": 82, "plugin_achievements_2": 82, "systeminfo": [82, 93], "gcode_analysi": 82, "printer_paramet": 82, "m108": 82, "m410": 82, "900": 82, "524288000": 82, "libx264": 82, "10000k": 82, "vcodec": 82, "containerformat": 82, "sseof": 82, "q": 82, "classic": 82, "formatstr": 82, "drag": 82, "timelas": 82, "batch": 82, "band": 82, "parser": 82, "low": 82, "latenc": 82, "Be": [82, 92], "implic": 82, "decis": [82, 95, 96], "cloudflar": 82, "resolut": 82, "downstream": [82, 83], "v6": 82, "1107": 82, "extra_data": 82, "quick": [82, 90], "mozilla": 82, "regular_express": 82, "unstructur": 82, "stun": 82, "l": [82, 86], "19302": 82, "bust": 82, "certif": [82, 83], "mjpeg": 82, "nativ": 82, "webrtc": 82, "before_request": [83, 93], "resp": 83, "after_request": [83, 93], "crf": 83, "todo": [83, 90], "load_user_from_request": 83, "shall": 83, "pragma": 83, "expir": 83, "allowed_path": 83, "netloc": 83, "default_timeout": 83, "simplecach": 83, "pickl": 83, "pickleerror": 83, "httpstatu": 83, "direct_passthrough": 83, "httponli": 83, "site": [83, 90], "ineffici": 83, "exce": 83, "max_cookie_s": 83, "max_ag": 83, "datetim": [83, 86, 95], "object_": 83, "obj": 83, "ensure_ascii": 83, "sort_kei": 83, "is_null_sess": 83, "perman": 83, "session_refresh_each_request": 83, "unresolv": 83, "rel_path": 83, "loader": 83, "rebuilt": 83, "lastmodifi": [83, 95], "timezon": 83, "awar": [83, 87, 92], "utc": 83, "func": [83, 95], "_not_": 83, "albeit": 83, "databas": 83, "302": 83, "login_requir": 83, "conn": 83, "session_id": 83, "expiri": 83, "detach": 83, "start_heartbeat": 83, "httpserverrequest": 83, "requesthandl": [83, 92], "similarli": 83, "is_client": 83, "http1connect": 83, "max_body_s": 83, "default_max_body_s": 83, "http1connectionparamet": 83, "iostream": 83, "http1serverconnect": 83, "_server_request_loop": 83, "httpserver": 83, "max_default_body_s": 83, "coroutin": 83, "tcpserver": 83, "ssliostream": 83, "wait_for_handshak": 83, "npn": 83, "alpn": 83, "path_valid": [83, 92], "path_processor": 83, "as_attach": [83, 92], "attachment_nam": 83, "access_valid": [83, 93], "compress": [83, 86], "httperror": 83, "staticfilehandl": [83, 92], "deliveri": [83, 92], "default_filenam": 83, "subdirectori": 83, "allow_client_cach": 83, "etag_gener": 83, "name_gener": 83, "mime_type_guess": 83, "mime": 83, "is_pre_compress": 83, "gzip": 83, "comput": [83, 97], "abspath": 83, "sha": 83, "512": 83, "stream_bodi": 83, "uncompress": 83, "include_bodi": 83, "typ": 83, "tb": 83, "uncaught": 83, "trace": [83, 90], "fallbackhandl": 83, "rewritten": [83, 92], "webkitformboundarypyisux63abamht5c": 83, "my_funny_apikei": 83, "tmpzupkro": 83, "349182": 83, "_process_multipart_data": 83, "file_prefix": 83, "file_suffix": 83, "cleanup": 83, "counterpart": 83, "httpclient": 83, "asynchttpcli": 83, "basenam": [83, 92], "wsgi_appl": 83, "executor": 83, "forced_head": 83, "removed_head": 83, "wsgi_app": 83, "octoprint_app": 83, "wsgicontain": 83, "__call__": 83, "httputil": 83, "bytesio": 83, "websocket": 83, "websockethandl": 83, "get_compression_opt": 83, "permessag": 83, "deflat": 83, "json_encod": 83, "jsonencod": 83, "frozendict": 83, "_httprequestcontext": 83, "_apply_xhead": 83, "remote_ip": 83, "blindli": [83, 95, 96], "proto": 83, "check_origin": 83, "rfc6454": 83, "path_filt": 83, "status_cod": [83, 92], "vice": 84, "versa": 84, "__overlay__": 84, "allow_fallback": 84, "check_writ": 84, "deep_check_writ": 84, "script_typ": [84, 92], "error_on_path": 84, "encapsul": 85, "display_nam": 85, "my_slic": 85, "save_slicer_profil": [85, 95], "my_default_profil": 85, "my_overrid": 85, "profile_path": [85, 95], "do_slic": [85, 95], "printer_profile_manag": [85, 92], "importantli": 85, "require_configur": 85, "slicer_nam": 85, "couldnotdeleteprofil": 85, "must_exist": 85, "slicerplugin": [85, 93], "ioerror": [85, 95], "stamp": 85, "require_exist": 85, "profile_nam": 85, "callback_arg": 85, "callback_kwarg": 85, "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "printer_profile_id": 85, "_analysi": 85, "_error": 85, "_cancel": 85, "calle": 85, "_progress": [85, 95], "commonli": 86, "default_factori": 86, "kw": 86, "shallow": 86, "od": 86, "run_first": 86, "on_condition_fals": 86, "on_cancel": 86, "repeatedli": 86, "timer": 86, "loop": [86, 92, 95], "exactli": [86, 95], "dynam": [86, 90, 95], "period": [86, 95], "sequenti": 86, "on_reset": 86, "ran": 86, "item_typ": 86, "stackoverflow": [86, 90], "312464": 86, "2028598": [86, 90], "gen": 86, "len": [86, 92], "stacklevel": 86, "includedoc": 86, "extenddoc": 86, "mod": 86, "offend": 86, "docstr": 86, "__doc__": 86, "caller": [86, 92], "shadow": 86, "getattr": 86, "zlib": 86, "decompress": 86, "deep": 86, "fnord": 86, "some_other_bar": 86, "whose": [86, 88, 92, 95], "filter_funct": 86, "key1": 86, "key2": 86, "other_kei": 86, "other_valu": 86, "k": [86, 92], "traceback": 86, "assertionerror": 86, "flatten": 86, "a1": 86, "a2": 86, "leaf_merg": 86, "in_plac": 86, "xormedia": 86, "isinst": [86, 92, 96], "l1": 86, "l2": 86, "diff": 86, "predic": 86, "bom": 86, "importerror": [86, 88, 96], "fmt": 86, "yyyi": 86, "dd": 86, "hh": 86, "num": 86, "unit": 86, "yte": 86, "ilo": 86, "ega": 86, "iga": 86, "era": 86, "decim": 86, "1094933": 86, "timedelta": 86, "ss": 86, "2020083": 86, "fqcn": 86, "comprehensive_json": 86, "s_or_u": 86, "renam": [86, 90], "stderr": 86, "do_something_with_the_passed_lin": 86, "sarg": 86, "underneath": [86, 90], "log_stdout": 86, "log_stderr": 86, "log_cal": 86, "err": 86, "delimit": 86, "buffer_s": 86, "output_timeout": 86, "_async": 86, "ansi": 86, "popen": 86, "win32": 86, "darwin": 86, "freebsd": 86, "compatibility_entri": 86, "current_o": 86, "close_exec": 86, "bunch": [87, 90, 94, 95], "plug": 87, "correspondingli": 87, "circumv": 87, "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_load__": [88, 91, 92], "whatev": [88, 92, 95], "__plugin_version__": [88, 90, 92, 94], "__plugin_description__": [88, 90, 92], "__plugin_author__": [88, 90], "__plugin_url__": [88, 90], "webpag": 88, "__plugin_license__": [88, 90], "__plugin_privacypolicy__": 88, "precaut": 88, "handle_gcode_s": 88, "comm_inst": [88, 92], "cmd_type": [88, 92], "getlogg": [88, 91, 92], "__name__": [88, 91, 92], "__plugin_check__": 88, "some_depend": 88, "check_config": [88, 93], "__plugin_unload__": 88, "__plugin_enable__": 88, "__plugin_disable__": 88, "__plugin_settings_overlay__": 88, "necessit": [88, 95], "5001": 88, "__init": 89, "py__": 89, "helloworld": [89, 90, 95], "cookiecutt": [89, 90], "md": [89, 90], "eleg": 89, "writeup": 89, "cours": [90, 92, 95], "fledg": [90, 95, 97], "pain": 90, "favor": [90, 97], "resembl": 90, "2023": 90, "14": 90, "35": 90, "122": 90, "124": 90, "135": 90, "19": 90, "loadabl": 90, "modern": 90, "helloworldplugin": 90, "on_after_startup": [90, 91, 92, 95], "792": 90, "neat": 90, "greet": [90, 92], "convent": 90, "skeleton": 90, "delta": 90, "kib": 90, "plugin_packag": 90, "octoprint_helloworld": 90, "repo_nam": 90, "full_nam": 90, "net": 90, "github_usernam": 90, "yourgithubnam": 90, "plugin_vers": 90, "plugin_descript": 90, "plugin_licens": 90, "agplv3": 90, "plugin_homepag": 90, "plugin_sourc": 90, "plugin_installurl": 90, "bug_report": 90, "feature_request": 90, "readm": 90, "__init__": [90, 92, 95, 96], "editorconfig": 90, "gitignor": 90, "babel": 90, "cfg": 90, "manifest": 90, "curios": 90, "prefil": 90, "plugin_identifi": 90, "octoprint_": 90, "plugin_author": 90, "mail": 90, "plugin_author_email": 90, "plugin_url": 90, "plugin_requir": 90, "sdist": 90, "14159430": 90, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_ignored_packag": 90, "octoprint_setuptool": 90, "create_plugin_setup_paramet": 90, "somedepend": 90, "additional_setup_paramet": 90, "somerepo": 90, "egg": 90, "python_requir": 90, "remain": 90, "pyc": 90, "discover": 90, "pyenv": 90, "env": 90, "py311": 90, "132": 90, "134": 90, "818": 90, "38": [90, 92], "997": 90, "ugli": 90, "nice": 90, "46": 90, "33": 90, "786": 90, "squash": 90, "48": 90, "54": 90, "templateplugin": [90, 92, 93], "wikipedia": 90, "helloworld_navbar": 90, "hello_world": [90, 95], "ve": [90, 96], "2015": [90, 95], "41": 90, "06": 90, "058": 90, "knockout": [90, 95], "get_template_var": [90, 95], "plugin_helloworld_url": 90, "hallo": 90, "welt": 90, "programm": 90, "47": 90, "18": [90, 92], "634": 90, "friendli": 90, "helloworld_set": 90, "div": [90, 92, 95], "settingsviewmodel": [90, 97], "void": 90, "navigationviewmodel": [90, 97], "unbind": 90, "get_template_config": [90, 92, 95], "custom_bind": [90, 95], "congratul": 90, "nav": 90, "ifram": 90, "helloworld_tab": 90, "xxlarg": 90, "newurl": 90, "primari": 90, "gotourl": 90, "currenturl": 90, "600px": 90, "border": 90, "1px": 90, "808080": 90, "assetplugin": [90, 93], "get_asset": [90, 95], "helloworldviewmodel": 90, "ko": 90, "dom": 90, "_after_": 90, "onbeforebind": [90, 97], "octoprint_viewmodel": [90, 97], "tab_plugin_helloworld": 90, "31": [90, 92], "shini": 90, "desktop": [90, 95], "articl": 90, "squish": 90, "great": 90, "hardcod": 90, "nicer": 90, "Of": [90, 95], "lessj": 90, "bigger": 90, "forgot": 90, "85a134": 90, "compact": 90, "cleaner": 90, "invit": 90, "haven": 90, "curaengin": 90, "navbartemp": 90, "gh": 90, "newplugin": 90, "winless": 90, "__plugin_helpers__": 91, "zeroconf": 91, "excerpt": 91, "pybonjour": 91, "discoveryplugin": 91, "ssdp_brows": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "hopefulli": 91, "_register_growl": 91, "on_api_get": [91, 95], "jsonifi": [91, 92, 95], "browsing_en": 91, "browse_result": 91, "_gntp": 91, "_tcp": 91, "growl_inst": 91, "sibl": 92, "_gcode_hook": 92, "_pluginmanag": 92, "_gcodescript_hook": 92, "retval": 92, "to_list": 92, "scriptlin": 92, "custom_action_command": 92, "customactioncommandplugin": 92, "custom_action_handl": 92, "ordertest": 92, "ordertestplugin": 92, "oneorderedhook": 92, "anotherorderedhook": 92, "yetanotherhook": 92, "orderedhook": 92, "03": 92, "09": 92, "29": 92, "342": 92, "355": 92, "357": 92, "358": 92, "861": 92, "additional_permissions_hook": 92, "my_permiss": 92, "plugin_example_my_permiss": 92, "accessviewmodel": 92, "admin_group": 92, "user_group": 92, "readonly_group": 92, "guest_group": 92, "get_additional_permiss": 92, "gettext": 92, "user_manager_factory_hook": 92, "event_bu": 92, "analysis_queu": 92, "slicing_manag": 92, "file_manag": 92, "plugin_lifecycle_manag": 92, "preemptive_cach": 92, "stock": [92, 95], "settingsmanag": 92, "acl_keyvalidator_hook": 92, "obviou": 92, "educ": 92, "custom_keyvalid": 92, "findus": 92, "cli_commands_hook": 92, "cli_group": 92, "annot": 92, "custom_cli_command": 92, "clitest_command": 92, "greet_command": 92, "pass_context": 92, "random_greet_command": 92, "buon": 92, "giorno": 92, "hola": 92, "konnichiwa": 92, "oh": 92, "hai": 92, "hei": 92, "salv": 92, "randrang": 92, "morn": 92, "stranger": 92, "plugin_settings_from_settings_plugin": 92, "get_cli_command": 92, "plugin_settings_for_settings_plugin": 92, "bu": [92, 94, 95], "firmware_info_hook": 92, "firmware_data": 92, "firmware_vers": 92, "computation": 92, "expens": 92, "machinecom": 92, "firmware_capability_hook": 92, "already_defin": 92, "firmware_capability_report_hook": 92, "firmware_cap": 92, "protocol_action_hook": 92, "some_command": 92, "protocol_atcommandphase_hook": 92, "li": [92, 95], "mirror": 92, "custom_atcommand_handl": 92, "infinit": 92, "setpaus": 92, "protocol_gcodephase_hook": 92, "subcod": 92, "postprocess": 92, "expans": 92, "afterward": 92, "command_phas": 92, "traffic": 92, "2018": 92, "213": 92, "216": 92, "multi_gcode_test": 92, "217": 92, "219": 92, "230": 92, "00m": 92, "232": 92, "234": 92, "242": 92, "243": 92, "552": 92, "553": 92, "f6000": 92, "555": 92, "556": 92, "558": 92, "temperature_pol": 92, "sd_status_pol": 92, "categori": 92, "difficult": 92, "intent": 92, "my_custom_tag": 92, "honest": 92, "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "sent_m106": 92, "gcode_received_hook": 92, "machine_typ": 92, "read_m115_respons": 92, "detect_machine_typ": 92, "parse_firmware_lin": 92, "printer_data": 92, "gcode_error_hook": 92, "error_messag": 92, "recover": 92, "worst": 92, "comm_error_handler_test": 92, "_handled_error": 92, "handle_error": 92, "lower_error": 92, "error_handler_test": 92, "protocol_scripts_hook": 92, "script_nam": 92, "newlin": 92, "message_on_connect": 92, "gcode_script_vari": 92, "protocol_temperatures_received_hook": 92, "parsed_temperatur": 92, "thereof": 92, "45": 92, "178": 92, "prone": 92, "garbag": 92, "sane": [92, 95], "sanitize_temperatur": 92, "parsed_temp": 92, "is_san": 92, "additional_port_names_hook": 92, "serial_factory_hook": 92, "read_timeout": 92, "analogu": 92, "pyseri": 92, "readlin": 92, "eol": [92, 96], "connection_timeout": 92, "_changest": 92, "state_detect_seri": 92, "serial_obj": 92, "_detectport": 92, "_log": 92, "_errorvalu": 92, "state_error": 92, "geterrorstr": 92, "writetimeout": 92, "10000": 92, "pariti": 92, "parity_odd": 92, "parity_non": 92, "register_custom_events_hook": 92, "Their": [92, 97], "transform": [92, 95], "camel_cas": 92, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "my_custom_ev": 92, "my_other_custom_ev": 92, "analysis_queue_factory_hook": 92, "leaf": 92, "mycustomgcodeanalysisqueu": 92, "custom_gcode_analysis_queu": 92, "file_extension_hook": 92, "x3g": 92, "s3g": 92, "support_x3g_machinecod": 92, "file_preprocessor_hook": 92, "untouch": 92, "_strip": 92, "strip_all_com": 92, "strip_com": 92, "commentstripp": 92, "decoded_lin": 92, "valid_file_typ": [92, 95], "splitext": 92, "endswith": 92, "some_file_strip": 92, "additional_state_data_hook": 92, "beneath": [92, 95], "printer_factory_hook": 92, "printerinst": 92, "user_manag": 92, "power": [92, 95], "print_time_estimator_factori": 92, "printtimeestim": 92, "job_typ": 92, "denot": 92, "nonsens": 92, "customprinttimeestim": 92, "cleanedprinttim": 92, "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "2h": 92, "create_estimator_factori": 92, "sd_card_upload_hook": 92, "start_callback": 92, "success_callback": 92, "failure_callback": 92, "local_filenam": 92, "remote_filenam": 92, "success_or_failure_callback": 92, "dummi": [92, 95], "ten": 92, "nop_upload_to_sd": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_fail": 92, "remote_nam": 92, "_get_free_remote_nam": 92, "op": 92, "sd_upload_success": 92, "sd_upload_failur": 92, "after_request_handlers_hook": 92, "before_request_handlers_hook": 92, "access_validator_hook": 92, "router": 92, "server_bodysize_hook": 92, "current_max_body_s": 92, "1024kb": 92, "increase_bodys": 92, "bodysizeplugin": 92, "_size": 92, "api_endpoint": 92, "make_respons": [92, 95], "input_nam": 92, "found_fil": 92, "bodysize_hook": 92, "server_route_hook": 92, "server_rout": 92, "deliv": [92, 95], "add_tornado_rout": 92, "camera": [92, 95], "tornadorouteplugin": 92, "route_hook": 92, "is_hidden_path": 92, "demonstr": [92, 95], "urlforwardhandl": 92, "socket_authed_hook": 92, "deauthent": 92, "socket_registration_hook": 92, "socket_emit_hook": 92, "additional_commands_hook": 92, "z0": 92, "get_additional_command": 92, "additional_bundle_files_hook": 92, "get_additional_bundle_fil": 92, "console_log": 92, "timelapse_extension_hook": 92, "get_timelapse_extens": 92, "templatetype_hook": 92, "template_sort": 92, "template_rul": 92, "sake": 92, "custom_append": 92, "custom_prepend": 92, "custom_add_entri": 92, "custom_add_ord": 92, "_plugin_": [92, 95], "to_entri": 92, "custom_template_provid": 92, "customtemplatetypeprovid": 92, "add_templatetyp": 92, "current_ord": 92, "current_rul": 92, "awesometempl": 92, "_awesometempl": 92, "custom_template_provider_set": 92, "h3": 92, "plugin_custom_template_provider_awesometempl": 92, "_div": 92, "h4": 92, "custom_template_consum": 92, "customtemplatetypeconsum": 92, "enabled_plugin": 92, "custom_template_consumer_awesometempl": 92, "ourselv": 92, "spec": 92, "ui_theming_hook": 92, "loginui_them": 92, "capture_pre_hook": 92, "capture_post_hook": 92, "eventhandlerplugin": 93, "progressplugin": 93, "shutdownplugin": 93, "uiplugin": 93, "webcamproviderplugin": 93, "keyvalid": 93, "capability_report": 93, "additional_port_nam": 93, "extension_tre": [93, 95], "additional_exclud": 93, "before_backup": 93, "after_backup": 93, "before_restor": 93, "after_restor": 93, "reconnect_hook": 93, "handle_connect": 93, "sdcardupload": 93, "bodys": 93, "additional_command": 93, "additional_bundle_fil": 93, "templatetyp": [93, 95], "theme": 93, "diagram": 93, "grow": 93, "galor": 93, "pitfal": 93, "divis": 93, "checklist": 93, "overview": [94, 95], "_plugin_info": 94, "_datafold": 94, "heart": 95, "asset_plugin": 95, "all_asset": 95, "plugin_asset": 95, "preferred_stylesheet": 95, "supported_stylesheet": 95, "plugin_a": 95, "plugin_b": 95, "plugin_c": 95, "plugin_d": 95, "plugina": 95, "pluginb": 95, "pluginc": 95, "plugind": 95, "typic": 95, "get_asset_fold": 95, "appropri": 95, "jsclient": 95, "my_fil": 95, "my_other_fil": 95, "clientj": 95, "my_styl": 95, "behav": [95, 96], "myblueprintplugin": 95, "myecho": 95, "method_nam": 95, "grace": 95, "is_blueprint_csrf_protect": 95, "exempt": 95, "csrf_exempt": 95, "subject": 95, "hello_y": 95, "hello_m": 95, "errorhandl": 95, "code_or_except": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "static_fold": 95, "template_fold": 95, "get_template_fold": 95, "term": 95, "enforc": 95, "forthcom": 95, "is_blueprint_protect": 95, "on_ev": 95, "on_print_progress": 95, "increment": [95, 96], "on_slicing_progress": 95, "destination_loc": 95, "pluginsettingsmanag": 95, "unrel": 95, "experi": [95, 96], "data_fold": 95, "on_settings_sav": 95, "mysettingsplugin": 95, "old_flag": 95, "new_flag": 95, "on_settings_load": 95, "get_settings_restricted_path": 95, "config_version_kei": 95, "_config_vers": 95, "get_settings_preprocessor": 95, "some_kei": 95, "some_other_kei": 95, "some_method": 95, "assert": [95, 96], "some_other_valu": 95, "octoprintpermiss": 95, "admin_onli": 95, "user_onli": 95, "get_settings_vers": 95, "outdat": [95, 96], "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_migr": 95, "overload": 95, "_config": 95, "conjunct": 95, "cleanli": 95, "on_shutdown": 95, "immin": 95, "boil": 95, "flat": 95, "preliminari": 95, "mysimpleapiplugin": 95, "get_api_command": 95, "command1": 95, "command2": 95, "some_paramet": 95, "on_api_command": 95, "elif": 95, "some_optional_paramet": 95, "2342": 95, "140": 95, "is_api_adminonli": 95, "machinecode_path": 95, "model_path": 95, "your_plugins_slicing_progress": 95, "depict": 95, "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "same_devic": 95, "cpu": 95, "progress_report": 95, "source_file_typ": 95, "destination_extens": 95, "is_slicer_configur": 95, "cloud": 95, "enrich": 95, "_navbar": 95, "myplugin_navbar": 95, "_sidebar": 95, "myplugin_sidebar": 95, "_tab": 95, "myplugin_tab": 95, "alphabet": 95, "myplugin_set": 95, "_webcam": 95, "myplugin_webcam": 95, "is_wizard_requir": 95, "_wizard": 95, "myplugin_wizard": 95, "onwizardtabchang": 95, "hasn": 95, "_about": 95, "myplugin_about": 95, "myplugin_first_tab": 95, "myplugin_second_tab": 95, "plugin_myplugin": 95, "plugin_myplugin_2": 95, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_2": 95, "plugin_myplugin_1": 95, "myplugin_first_tab_jinja2": 95, "_1st": 95, "myplugin_second_tab_jinja2": 95, "_2nd": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2nd": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2nd": 95, "data_bind": 95, "myclass": 95, "myotherclass": 95, "font": 95, "fa": 95, "fab": 95, "template_head": 95, "classes_wrapp": 95, "classes_cont": 95, "styles_wrapp": 95, "styles_cont": 95, "classes_link": 95, "styles_link": 95, "bold": 95, "myplugin_othertab": 95, "tempt": 95, "will_handle_ui": 95, "on_ui_rend": 95, "explicit": [95, 96], "_refresh": 95, "altogeth": 95, "exemplari": 95, "userag": 95, "dummy_mobile_ui": 95, "__future__": [95, 96], "absolute_import": [95, 96], "dummymobileuiplugin": 95, "agent": 95, "android": 95, "ipad": 95, "iphon": 95, "user_ag": 95, "render_kwarg": 95, "render_templ": 95, "dummy_mobile_ui_index": 95, "viewport": 95, "scale": 95, "scalabl": 95, "h1": 95, "hope": 95, "disappoint": 95, "ul": 95, "pluginnam": 95, "demand": [95, 97], "lazili": 95, "get_ui_additional_etag": 95, "default_addit": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "werkzeug": 95, "environbuild": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "default_template_filt": 95, "template_typ": 95, "template_kei": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "uiapikei": 95, "freshli": 95, "supportedextens": 95, "classicwebcam": 95, "testpictur": 95, "get_webcam_configur": 95, "take_webcam_snapshot": 95, "webcamnam": 95, "get_wizard_vers": 95, "get_default_set": 95, "reshow": 95, "some_key_unset": 95, "some_other_key_unset": 95, "get_wizard_detail": [95, 97], "onwizarddetail": [95, 97], "is_wizard_ignor": 95, "seen_wizard": 95, "previous": 95, "januari": 96, "1st": 96, "2020": 96, "goal": 96, "ecosystem": 96, "year": 96, "whichev": 96, "python3execut": 96, "usr": 96, "venv3": 96, "btw": 96, "python2": 96, "venv2": 96, "python37": 96, "venv37": 96, "bat": 96, "suggest": 96, "mv": 96, "py2": 96, "anotherplugin": 96, "markdown": 96, "dilig": 96, "comprehens": 96, "sum": 96, "cheat": 96, "sheet": 96, "idiom": 96, "six": 96, "strongli": 96, "book": 96, "chapter": 96, "troublesom": 96, "overcom": 96, "aim": 96, "upcom": 96, "stick": 96, "scenario": 96, "troubl": 96, "problemat": 96, "magic": 96, "wrote": 96, "mess": 96, "distinct": 96, "obvious": 96, "unicode_liter": 96, "annoyingli": 96, "ain": 96, "outskirt": 96, "anyhow": 96, "weird": 96, "my_sub_packag": 96, "revisit": 96, "penalti": 96, "result1": 96, "my_collect": 96, "result2": 96, "__plugin_pycompat__": 96, "print_funct": 96, "thoroughli": 96, "pai": 96, "attent": 96, "proven": 96, "biggest": 96, "topic": 96, "discuss": 96, "roadmap": 96, "sooner": 97, "knockoutj": 97, "letter": 97, "additionalnam": 97, "mycustomviewmodel": 97, "loginst": 97, "someotherviewmodel": 97, "yourcustomviewmodel": 97, "loginstateviewmodel": 97, "some_div": 97, "some_other_div": 97, "practic": 97, "appearanceviewmodel": 97, "connectionviewmodel": 97, "filesviewmodel": 97, "gcodefilesviewmodel": 97, "firstrunviewmodel": 97, "gcodeviewmodel": 97, "logsviewmodel": 97, "printerprofilesviewmodel": 97, "printerstateviewmodel": 97, "slicingviewmodel": 97, "temperatureviewmodel": 97, "terminalviewmodel": 97, "timelapseviewmodel": 97, "usersviewmodel": 97, "usersettingsviewmodel": 97, "wizardviewmodel": 97, "onstartup": 97, "onafterbind": 97, "onallbound": 97, "allviewmodel": 97, "onstartupcomplet": 97, "onserverdisconnect": 97, "ondataupdaterreconnect": 97, "reestablish": 97, "fromhistorydata": 97, "fromcurrentdata": 97, "onslicingprogress": 97, "modelpath": 97, "machinecodepath": 97, "onev": 97, "eventnam": 97, "oneventprintdon": 97, "fromtimelapsedata": 97, "ondataupdaterpluginmessag": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onbeforeprintstart": 97, "ontabchang": 97, "onaftertabchang": 97, "inclus": 97, "onsettingsshown": 97, "onsettingshidden": 97, "onsettingsbeforesav": 97, "onusersettingsshown": 97, "onusersettingshidden": 97, "onusersettingsbeforesav": 97, "onbeforewizardtabchang": 97, "acl": 97, "onafterwizardtabchang": 97, "onbeforewizardfinish": 97, "onwizardfinish": 97, "onwebcamvisibilitychang": 97, "onwebcamrefresh": 97, "heavi": 97}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings-apikey", "/api/settings/apikey"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 10, 1, "", "ApiUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 14, 1, "", "detector"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 14, 1, "", "content_type"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 10, 1, "", "Config"]], "octoprint.schema.BaseModel.Config": [[82, 13, 1, "", "use_enum_values"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "apps"], [82, 13, 1, "", "key"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustedDownstream"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 11, 1, "", "InvalidApiKeyException"], [83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "loginFromApiKeyRequestHandler"], [83, 8, 1, "", "loginFromAuthorizationHeaderRequestHandler"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 13, 1, "", "response"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 12, 1, "", "deleteApiKey"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "generateApiKey"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "titleterms": {"access": [0, 2, 37, 48, 76, 92], "control": [0, 2, 9, 37, 48, 51, 60, 88], "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "permiss": [0, 2, 48, 92], "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "all": [0, 3, 10, 14, 15], "group": [0, 2], "get": [0, 1, 96], "add": [0, 10, 14, 90], "new": [0, 10], "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "updat": [0, 10, 11, 14, 33], "delet": [0, 3, 7, 14, 16, 31], "user": [0, 2, 4, 73, 76, 90, 92], "chang": [0, 16, 39], "": [0, 3, 41, 45, 56, 90], "password": 0, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "regener": [0, 13], "api": [0, 5, 13, 23, 31, 37, 92], "kei": [0, 13, 23], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "registr": 0, "request": [0, 4, 9, 10, 14, 23, 44], "connect": [1, 11, 59], "handl": [1, 47], "issu": [1, 3, 6, 9, 16, 23], "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "common": [2, 33, 96], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "relat": 2, "state": [2, 9], "temperatur": [2, 9, 37, 92], "histor": 2, "point": 2, "offset": 2, "resend": 2, "stat": 2, "job": [2, 6, 63], "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "progress": 2, "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "folder": [2, 3, 37], "abridg": 2, "gcode": [2, 29, 37, 47, 51, 52, 92], "analysi": [2, 37, 78, 92], "refer": [2, 31], "print": [2, 9, 47], "histori": [2, 11], "statist": 2, "record": 2, "need": 2, "oper": [3, 6, 9, 10, 55], "from": [3, 90, 96], "specif": [3, 14, 31, 48, 96], "locat": 3, "upload": [3, 7], "creat": 3, "gener": [4, 87, 92, 95], "author": [4, 23], "type": [4, 40, 51, 80], "encod": 4, "cross": 4, "origin": 4, "csrf": 4, "protect": 4, "login": [4, 48], "logout": 4, "current": [4, 6, 9, 11, 13, 16], "rest": 5, "about": [6, 9, 19], "languag": [7, 64], "instal": [7, 54, 89], "pack": 7, "compon": [7, 90], "metadata": 7, "log": [8, 31, 39, 46, 65], "manag": [8, 32, 89], "head": 9, "tool": [9, 42], "bed": 9, "chamber": 9, "an": [9, 10, 16, 23, 70], "sd": 9, "last": 9, "error": [9, 26, 44, 92], "send": 9, "arbitrari": 9, "custom": [9, 51, 90, 97], "full": 9, "profil": [10, 14, 37, 44, 47, 81], "singl": 10, "exist": [10, 23], "remov": 10, "push": 11, "payload": 11, "event": [11, 24, 32, 33, 37, 47, 52, 92], "slicingprogress": 11, "server": [12, 17, 37, 47, 77, 83, 92], "save": 13, "system": [13, 15, 37, 71, 92], "wide": 13, "fetch": [13, 23], "templat": 13, "slice": [14, 37, 47, 69, 85], "slicer": 14, "regist": [15, 19, 89, 92, 97], "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "execut": [15, 92, 95], "client": [15, 23, 31, 62], "definit": 15, "timelaps": [16, 47, 72, 92], "config": [16, 37, 48, 82], "unrend": 16, "render": 16, "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "z": 16, "trigger": 16, "time": 16, "util": [17, 33, 74, 78, 83, 86], "variou": 17, "test": 17, "path": 17, "result": 17, "url": 17, "resolut": 17, "address": 17, "version": [18, 33, 45, 89, 96], "wizard": [19, 75], "addit": 19, "finish": 19, "entri": [19, 23], "action": [20, 21, 49, 92], "notif": 20, "support": [20, 21, 23], "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "exampl": [20, 21, 25, 40, 47, 51, 52], "commun": [20, 21, 47, 70], "firmwar": [20, 21, 28, 92], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "prompt": 21, "announc": [22, 25], "applic": 23, "workflow": 23, "redirect": 23, "auth": [23, 70, 92], "dialog": [23, 92], "probe": 23, "start": [23, 55], "process": [23, 47], "poll": 23, "decis": 23, "decid": 23, "pend": 23, "javascript": [23, 62, 90], "librari": [23, 31, 62], "backup": [24, 92], "line": [24, 33], "usag": [24, 33, 34], "hook": [24, 32, 33, 48, 92], "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "additional_exclud": [24, 92], "before_backup": [24, 92], "after_backup": [24, 92], "before_restor": [24, 92], "after_restor": [24, 92], "helper": [24, 33, 91], "create_backup": 24, "delete_backup": 24, "discoveri": 25, "further": [25, 96], "zeroconf": 25, "servic": 25, "_http": 25, "_tcp": 25, "_octoprint": 25, "track": [26, 34], "check": [27, 28, 33], "viewer": [29, 37], "bundl": [30, 52], "avail": [31, 47, 48, 92, 95], "logfil": 31, "j": 31, "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "pluginmanag": [32, 92], "reconnect_hook": [32, 92], "softwar": 33, "first": 33, "step": [33, 48], "method": 33, "pattern": 33, "global": 33, "credenti": 33, "softwareupd": [33, 92], "check_config": [33, 92], "version_check": 33, "except": [33, 85], "anonym": 34, "virtual": [35, 46, 96], "cli": [36, 77, 92], "yaml": [37, 39, 40, 48], "appear": 37, "develop": [37, 42, 43, 54, 93], "estim": [37, 92], "featur": [37, 53], "script": [37, 51, 52, 92], "serial": [37, 92], "termin": 37, "filter": [37, 96], "webcam": [37, 82], "level": 39, "handler": 39, "formatt": 39, "A": 40, "primer": 40, "basic": 40, "rule": 40, "interest": 40, "scalar": 40, "int": 40, "float": 40, "boolean": 40, "string": 40, "dictionari": 40, "branch": 41, "up": [42, 46, 90], "environ": [42, 96], "obtain": 42, "build": 42, "run": 42, "linux": 42, "todo": 42, "window": 42, "option": [42, 46], "recommend": 42, "mac": 42, "o": 42, "x": 42, "id": 42, "setup": [42, 48, 70], "pycharm": 42, "visual": 42, "studio": 42, "vscode": 42, "strategi": 45, "debug": 46, "enabl": 46, "placehold": 47, "autologin": 48, "gather": 48, "The": 48, "easi": 48, "wai": 48, "us": 48, "autologinconfig": 48, "hard": 48, "manual": [48, 54, 89], "edit": 48, "prepar": 48, "octopi": 48, "If": 48, "you": 48, "ar": 48, "vpn": 48, "your": [48, 89, 90, 96], "absolut": [48, 96], "requir": 48, "disabl": 48, "intern": [48, 79], "extens": [48, 92], "theme": [48, 92], "contain": 51, "parameter": 51, "predefin": 52, "snippet": 52, "context": 52, "more": [52, 90], "nifti": 52, "paus": 52, "resum": 52, "find": 54, "safe": 55, "mode": 55, "how": [55, 90, 96], "differ": 55, "v": [55, 96], "normal": 55, "welcom": 56, "document": 56, "browser": 58, "printerprofil": 67, "socket": 70, "sampl": 70, "throttl": 70, "dev": 77, "filemanag": [78, 92], "destin": 78, "storag": 78, "modul": 79, "core": 80, "schema": 82, "flask": 83, "sockj": [83, 92], "tornado": 83, "commandlin": 86, "platform": 86, "concept": [87, 92, 95], "lifecycl": [87, 97], "properti": [88, 94, 95], "distribut": [89, 90], "proper": 89, "packag": 89, "via": 89, "pip": 89, "offici": 89, "repositori": 89, "after": 89, "releas": 89, "tutori": 90, "sai": 90, "hello": 90, "make": 90, "actual": 90, "do": 90, "someth": 90, "grow": 90, "frontend": 90, "fun": 90, "function": 90, "web": [90, 92, 97], "interfac": [90, 97], "galor": 90, "part": 90, "adjust": 90, "ad": 90, "style": 90, "matter": 90, "inject": [90, 94, 95], "css": 90, "page": 90, "where": 90, "we": 90, "go": 90, "here": 90, "order": [92, 95], "factori": 92, "accesscontrol": 92, "keyvalid": 92, "comm": 92, "protocol": 92, "info": 92, "capabl": 92, "capability_report": 92, "atcommand": 92, "phase": 92, "receiv": 92, "transport": 92, "additional_port_nam": 92, "register_custom_ev": 92, "extension_tre": 92, "preprocessor": 92, "additional_state_data": 92, "handle_connect": 92, "sdcardupload": 92, "after_request": 92, "before_request": 92, "http": 92, "access_valid": 92, "bodys": 92, "rout": 92, "emit": 92, "additional_command": 92, "systeminfo": 92, "additional_bundle_fil": 92, "ui": 92, "templatetyp": 92, "captur": 92, "pre": 92, "post": 92, "mixin": 95, "assetplugin": 95, "blueprintplugin": 95, "eventhandlerplugin": 95, "progressplugin": 95, "reloadneedingplugin": 95, "restartneedingplugin": 95, "settingsplugin": 95, "shutdownplugin": 95, "simpleapiplugin": 95, "slicerplugin": 95, "startupplugin": 95, "templateplugin": 95, "uiplugin": 95, "webcamproviderplugin": 95, "wizardplugin": 95, "migrat": 96, "python": 96, "3": 96, "tell": 96, "i": 96, "readi": 96, "pitfal": 96, "dure": 96, "byte": 96, "unicod": 96, "import": 96, "integ": 96, "divis": 96, "iter": 96, "instead": 96, "map": 96, "zip": 96, "checklist": 96, "read": 96, "viewmodel": 97, "depend": 97, "callback": 97, "diagram": 97, "startup": 97, "reconnect": 97}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Access control": [[0, "access-control"], [2, "access-control"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "List all permissions": [[0, "list-all-permissions"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Get group list": [[0, "get-group-list"]], "Add a new group": [[0, "add-a-new-group"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Update a group": [[0, "update-a-group"]], "Delete a group": [[0, "delete-a-group"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Add a new user": [[0, "add-a-new-user"]], "Update a user": [[0, "update-a-user"]], "Delete a user": [[0, "delete-a-user"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Permission list response": [[0, "permission-list-response"]], "Group list response": [[0, "group-list-response"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "User list response": [[0, "user-list-response"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Connection handling": [[1, "connection-handling"]], "Get connection settings": [[1, "get-connection-settings"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Common data model": [[2, "common-data-model"]], "Printer related": [[2, "printer-related"]], "Printer State": [[2, "printer-state"]], "Temperature Data": [[2, "temperature-data"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Temperature offset": [[2, "temperature-offset"]], "Resend stats": [[2, "resend-stats"]], "Job related": [[2, "job-related"]], "Job information": [[2, "job-information"]], "Progress information": [[2, "progress-information"]], "File related": [[2, "file-related"]], "File information": [[2, "file-information"], [31, "file-information"]], "Folders": [[2, "folders"]], "Files": [[2, "files"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "References": [[2, "references"], [31, "references"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "User record": [[2, "user-record"]], "Permission record": [[2, "permission-record"]], "Group record": [[2, "group-record"]], "Needs": [[2, "needs"]], "File operations": [[3, "file-operations"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Issue a file command": [[3, "issue-a-file-command"]], "Delete file": [[3, "delete-file"]], "Retrieve response": [[3, "retrieve-response"]], "Upload response": [[3, "upload-response"]], "General information": [[4, "general-information"]], "Authorization": [[4, "authorization"]], "Content Type": [[4, "content-type"]], "Encoding": [[4, "encoding"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "CSRF Protection": [[4, "csrf-protection"]], "Login": [[4, "login"]], "Logout": [[4, "logout"]], "Current User": [[4, "current-user"]], "Login response": [[4, "login-response"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "REST API": [[5, "rest-api"]], "Job operations": [[6, "job-operations"]], "Issue a job command": [[6, "issue-a-job-command"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Job information response": [[6, "job-information-response"]], "Languages": [[7, "languages"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "List response": [[7, "list-response"], [23, "list-response"]], "Component list": [[7, "component-list"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Log file management": [[8, "log-file-management"]], "Printer operations": [[9, "printer-operations"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Full State Response": [[9, "full-state-response"]], "Temperature State": [[9, "temperature-state"]], "SD State": [[9, "sd-state"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Error Information": [[9, "error-information"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Add or update request": [[10, "add-or-update-request"]], "Profile": [[10, "profile"], [14, "profile"]], "Push updates": [[11, "push-updates"]], "connected payload": [[11, "connected-payload"]], "current and history payload": [[11, "current-and-history-payload"]], "event payload": [[11, "event-payload"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "Server information": [[12, "server-information"]], "Settings": [[13, "settings"], [47, "settings"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Save settings": [[13, "save-settings"]], "Regenerate the system wide API key": [[13, "regenerate-the-system-wide-api-key"]], "Fetch template data": [[13, "fetch-template-data"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Slicer list": [[14, "slicer-list"]], "Slicer": [[14, "slicer"]], "Profile Update Request": [[14, "profile-update-request"]], "System": [[15, "system"], [37, "system"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "List all response": [[15, "list-all-response"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Timelapse": [[16, "timelapse"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Timelapse list": [[16, "timelapse-list"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Path test result": [[17, "path-test-result"]], "URL test result": [[17, "url-test-result"]], "Server test result": [[17, "server-test-result"]], "Resolution test result": [[17, "resolution-test-result"]], "Address test result": [[17, "address-test-result"]], "Version information": [[18, "version-information"]], "Wizard": [[19, "wizard"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Finish wizards": [[19, "finish-wizards"]], "Wizard data entry": [[19, "wizard-data-entry"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Start authorization process": [[23, "start-authorization-process"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Key response": [[23, "key-response"]], "Decision request": [[23, "decision-request"]], "Key list entry": [[23, "key-list-entry"]], "Pending list entry": [[23, "pending-list-entry"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Backup Plugin": [[24, "backup-plugin"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "create_backup": [[24, "create-backup"]], "delete_backup": [[24, "delete-backup"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Example": [[25, "example"], [47, "example"]], "Announced Services": [[25, "announced-services"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "File Check": [[27, "file-check"]], "Firmware Check": [[28, "firmware-check"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Logging": [[31, "logging"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "JS Client Library": [[31, "js-client-library"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "Plugin Manager": [[32, "plugin-manager"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "Software Update Plugin": [[33, "software-update-plugin"]], "First Steps": [[33, "first-steps"]], "Version checks": [[33, "version-checks"]], "Update methods": [[33, "update-methods"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Global credentials": [[33, "global-credentials"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]], "updaters": [[33, "updaters"]], "exceptions": [[33, "exceptions"]], "util": [[33, "util"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Virtual Printer": [[35, "virtual-printer"]], "CLI": [[36, "cli"]], "config.yaml": [[37, "config-yaml"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Appearance": [[37, "appearance"]], "Controls": [[37, "controls"], [51, "controls"]], "Development settings": [[37, "development-settings"]], "Estimation": [[37, "estimation"]], "Feature": [[37, "feature"]], "Folder": [[37, "folder"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Viewer": [[37, "gcode-viewer"]], "Plugin settings": [[37, "plugin-settings"]], "Printer Profiles": [[37, "printer-profiles"]], "Scripts": [[37, "scripts"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Temperature": [[37, "temperature"]], "Terminal Filters": [[37, "terminal-filters"]], "Webcam": [[37, "webcam"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "logging.yaml": [[39, "logging-yaml"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "A YAML Primer": [[40, "a-yaml-primer"]], "Basic Rules": [[40, "basic-rules"]], "Interesting data types": [[40, "interesting-data-types"]], "Scalars": [[40, "scalars"]], "int": [[40, "int"]], "float": [[40, "float"]], "boolean": [[40, "boolean"]], "string": [[40, "string"]], "Lists": [[40, "lists"]], "Dictionaries": [[40, "dictionaries"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "Linux": [[42, "linux"]], "Todo": [[42, "id1"], [42, "id3"]], "Windows": [[42, "windows"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Mac OS X": [[42, "mac-os-x"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "PyCharm": [[42, "pycharm"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "Development": [[43, "development"]], "Profiling requests": [[44, "profiling-requests"]], "Errors": [[44, "errors"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Log file": [[46, "log-file"]], "Debug commands": [[46, "debug-commands"]], "Placeholders": [[47, "placeholders"]], "Available Events": [[47, "available-events"]], "Printer communication": [[47, "printer-communication"]], "File handling": [[47, "file-handling"]], "Printing": [[47, "printing"]], "GCODE processing": [[47, "gcode-processing"]], "Timelapses": [[47, "timelapses"]], "Printer Profile": [[47, "printer-profile"]], "Autologin": [[48, "autologin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Preparation": [[48, "preparation"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "Action Commands": [[49, "action-commands"]], "@ Commands": [[50, "commands"]], "Custom Controls": [[51, "custom-controls"]], "Types": [[51, "types"]], "Containers": [[51, "containers"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "GCODE Scripts": [[52, "gcode-scripts"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Snippets": [[52, "snippets"]], "Context": [[52, "context"]], "Bundled Scripts": [[52, "bundled-scripts"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Features": [[53, "features"]], "Plugins": [[54, "plugins"]], "Finding Plugins": [[54, "finding-plugins"]], "Installing Plugins": [[54, "installing-plugins"]], "Manual Installation": [[54, "manual-installation"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Safe mode": [[55, "safe-mode"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Communication Throttling": [[70, "communication-throttling"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "Internal Modules": [[79, "internal-modules"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "Lifecycle": [[87, "lifecycle"]], "Control Properties": [[88, "control-properties"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Manual file distribution": [[89, "manual-file-distribution"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.theming.

        ": [[92, "octoprint-theming-dialog"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Mixins": [[95, "mixins"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "AssetPlugin": [[95, "assetplugin"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "ProgressPlugin": [[95, "progressplugin"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "SlicerPlugin": [[95, "slicerplugin"]], "StartupPlugin": [[95, "startupplugin"]], "TemplatePlugin": [[95, "templateplugin"]], "UiPlugin": [[95, "uiplugin"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "WizardPlugin": [[95, "wizardplugin"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "Absolute imports": [[96, "absolute-imports"]], "Version specific imports": [[96, "version-specific-imports"]], "Integer division": [[96, "integer-division"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "Checklist": [[96, "checklist"]], "Further reading": [[96, "further-reading"]], "Viewmodels": [[97, "viewmodels"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Dependencies": [[97, "dependencies"]], "Callbacks": [[97, "callbacks"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Web interface startup": [[97, "web-interface-startup"]], "Web interface reconnect": [[97, "web-interface-reconnect"]]}, "indexentries": {"octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate"]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision"]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide"]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey"]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys"]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey"]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys"]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe"]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request"]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser"]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey"]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp"]], "additional_excludes_hook()": [[24, "additional_excludes_hook"]], "after_backup_hook()": [[24, "after_backup_hook"]], "after_restore_hook()": [[24, "after_restore_hook"]], "before_backup_hook()": [[24, "before_backup_hook"]], "before_restore_hook()": [[24, "before_restore_hook"]], "built-in function": [[24, "additional_excludes_hook"], [24, "after_backup_hook"], [24, "after_restore_hook"], [24, "before_backup_hook"], [24, "before_restore_hook"], [32, "reconnect_hooks_hook"], [33, "update_config_hook"], [92, "access_validator_hook"], [92, "acl_keyvalidator_hook"], [92, "additional_bundle_files_hook"], [92, "additional_commands_hook"], [92, "additional_permissions_hook"], [92, "additional_port_names_hook"], [92, "additional_state_data_hook"], [92, "after_request_handlers_hook"], [92, "analysis_queue_factory_hook"], [92, "before_request_handlers_hook"], [92, "capture_post_hook"], [92, "capture_pre_hook"], [92, "cli_commands_hook"], [92, "file_extension_hook"], [92, "file_preprocessor_hook"], [92, "firmware_capability_hook"], [92, "firmware_capability_report_hook"], [92, "firmware_info_hook"], [92, "gcode_error_hook"], [92, "gcode_received_hook"], [92, "print_time_estimator_factory"], [92, "printer_factory_hook"], [92, "protocol_action_hook"], [92, "protocol_atcommandphase_hook"], [92, "protocol_gcodephase_hook"], [92, "protocol_scripts_hook"], [92, "protocol_temperatures_received_hook"], [92, "register_custom_events_hook"], [92, "sd_card_upload_hook"], [92, "serial_factory_hook"], [92, "server_bodysize_hook"], [92, "server_route_hook"], [92, "templatetype_hook"], [92, "timelapse_extension_hook"], [92, "ui_theming_hook"], [92, "user_manager_factory_hook"]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper"]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper"]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog"]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog"]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs"]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook"]], "update_config_hook()": [[33, "update_config_hook"]], "octoprintclient() (class)": [[57, "OctoPrintClient"]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError"]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax"]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData"]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException"]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred"]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete"]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download"]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get"]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl"]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl"]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie"]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders"]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl"]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery"]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand"]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options"]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch"]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson"]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins"]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post"]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson"]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put"]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson"]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent"]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand"]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet"]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload"]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login"]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout"]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin"]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect"]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect"]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck"]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings"]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls"]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode"]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript"]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters"]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters"]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy"]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder"]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete"]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download"]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath"]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get"]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list"]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation"]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move"]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry"]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select"]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice"]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload"]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel"]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get"]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause"]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart"]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume"]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start"]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause"]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete"]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list"]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload"]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude"]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState"]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState"]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState"]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState"]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState"]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home"]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd"]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog"]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd"]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd"]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool"]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature"]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset"]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature"]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset"]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate"]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate"]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures"]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets"]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add"]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete"]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get"]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list"]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update"]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey"]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get"]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings"]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save"]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings"]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer"]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer"]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer"]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles"]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer"]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer"]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect"]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate"]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect"]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate"]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage"]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh"]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow"]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options"]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect"]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage"]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth"]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage"]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand"]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands"]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource"]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete"]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered"]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download"]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get"]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig"]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list"]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered"]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered"]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered"]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig"]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add"]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword"]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete"]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey"]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get"]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings"]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list"]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey"]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings"]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update"]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test"]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable"]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath"]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution"]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer"]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl"]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish"]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get"]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser"]], "apiuser (class in octoprint.access.users)": [[76, "octoprint.access.users.ApiUser"]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage"]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername"]], "unknownrole": [[76, "octoprint.access.users.UnknownRole"]], "unknownuser": [[76, "octoprint.access.users.UnknownUser"]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User"]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists"]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict"]], "module": [[76, "module-octoprint.access.users"], [77, "module-octoprint.cli"], [77, "module-octoprint.cli.dev"], [77, "module-octoprint.cli.plugins"], [77, "module-octoprint.cli.server"], [78, "module-octoprint.filemanager"], [78, "module-octoprint.filemanager.analysis"], [78, "module-octoprint.filemanager.destinations"], [78, "module-octoprint.filemanager.storage"], [78, "module-octoprint.filemanager.util"], [80, "module-octoprint.plugin"], [80, "module-octoprint.plugin.core"], [80, "module-octoprint.plugin.types"], [81, "module-octoprint.printer"], [81, "module-octoprint.printer.profile"], [82, "module-octoprint.schema"], [82, "module-octoprint.schema.config"], [82, "module-octoprint.schema.config.access_control"], [82, "module-octoprint.schema.config.api"], [82, "module-octoprint.schema.config.appearance"], [82, "module-octoprint.schema.config.controls"], [82, "module-octoprint.schema.config.devel"], [82, "module-octoprint.schema.config.estimation"], [82, "module-octoprint.schema.config.events"], [82, "module-octoprint.schema.config.feature"], [82, "module-octoprint.schema.config.folder"], [82, "module-octoprint.schema.config.gcode_analysis"], [82, "module-octoprint.schema.config.plugins"], [82, "module-octoprint.schema.config.printer_parameters"], [82, "module-octoprint.schema.config.printer_profiles"], [82, "module-octoprint.schema.config.scripts"], [82, "module-octoprint.schema.config.serial"], [82, "module-octoprint.schema.config.server"], [82, "module-octoprint.schema.config.slicing"], [82, "module-octoprint.schema.config.system"], [82, "module-octoprint.schema.config.temperature"], [82, "module-octoprint.schema.config.terminalfilters"], [82, "module-octoprint.schema.config.webcam"], [82, "module-octoprint.schema.webcam"], [83, "module-octoprint.server"], [83, "module-octoprint.server.util"], [83, "module-octoprint.server.util.flask"], [83, "module-octoprint.server.util.sockjs"], [83, "module-octoprint.server.util.tornado"], [84, "module-octoprint.settings"], [85, "module-octoprint.slicing"], [85, "module-octoprint.slicing.exceptions"], [86, "module-octoprint.util"], [86, "module-octoprint.util.commandline"], [86, "module-octoprint.util.platform"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption"]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext"]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands"]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands"]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options"]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options"]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command"]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command"]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option"]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli"]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options"]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands"]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx"]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager"]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server"]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options"]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option"]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings"]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options"]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue"]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper"]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted"]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue"]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector"]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping"]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper"]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue"]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream"]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage"]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream"]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage"]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry"]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface"]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper"]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort"]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis"]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file"]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file"]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder"]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder"]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link"]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link"]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog"]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog"]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize"]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize"]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close"]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close"]], "content_type (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type"]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file"]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file"]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder"]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder"]], "detector (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.detector"]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue"]], "extensions (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions"]], "extensions (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions"]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists"]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists"]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path"]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path"]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists"]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists"]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata"]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata"]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified"]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified"]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata"]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata"]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size"]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size"]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis"]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis"]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path"]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path"]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified"]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified"]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files"]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files"]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file"]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file"]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder"]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage"]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage"]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk"]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk"]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause"]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line"]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable"]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable"]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata"]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata"]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file"]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file"]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder"]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder"]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link"]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link"]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume"]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize"]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize"]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name"]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name"]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path"]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path"]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save"]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save"]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save"]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable"]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable"]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata"]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata"]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path"]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path"]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream"]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream"]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream"]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable"]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable"]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin"]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin"]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo"]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager"]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings"]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin"]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin"]], "_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue"]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager"]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder"]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker"]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder"]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus"]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager"]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier"]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger"]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager"]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager"]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name"]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version"]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer"]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager"]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager"]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager"]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay"]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author"]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted"]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled"]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin"]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check"]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description"]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable"]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin"]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged"]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable"]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin"]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled"]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled"]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get"]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean"]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations"]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float"]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers"]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook"]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks"]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation"]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations"]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int"]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin"]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder"]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder"]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info"]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path"]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key"]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get"]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder"]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean"]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float"]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int"]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set"]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean"]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float"]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int"]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks"]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins"]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks"]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks"]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation"]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers"]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden"]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks"]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks"]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation"]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible"]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize"]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax"]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook"]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked"]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook"]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin"]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license"]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load"]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded"]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str"]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin"]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable"]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin"]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name"]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled"]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled"]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall"]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin"]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata"]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks"]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager"]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings"]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins"]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy"]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat"]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver"]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins"]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay"]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save"]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message"]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set"]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean"]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float"]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int"]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload"]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver"]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url"]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate"]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version"]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor"]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin"]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER"]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR"]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError"]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError"]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT"]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback"]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface"]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager"]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR"]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError"]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file"]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print"]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool"]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands"]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect"]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect"]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude"]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack"]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate"]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate"]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options"]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options"]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection"]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data"]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job"]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures"]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id"]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string"]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history"]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport"]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home"]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling"]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error"]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file"]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error"]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational"]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused"]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing"]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing"]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready"]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold"]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog"]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log"]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message"]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature"]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message"]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data"]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data"]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print"]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback"]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print"]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script"]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file"]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback"]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold"]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature"]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset"]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print"]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print"]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback"]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file"]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes"]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex"]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex"]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig"]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig"]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum"]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig"]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig"]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel"]], "basemodel.config (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel.Config"]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum"]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig"]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig"]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig"]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig"]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config"]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig"]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig"]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig"]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig"]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig"]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig"]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig"]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig"]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig"]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig"]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription"]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig"]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig"]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig"]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig"]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig"]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum"]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig"]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum"]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig"]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig"]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig"]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig"]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig"]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig"]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig"]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum"]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig"]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum"]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum"]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig"]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities"]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig"]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts"]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig"]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig"]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig"]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum"]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum"]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig"]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig"]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile"]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry"]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig"]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions"]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum"]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig"]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam"]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility"]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig"]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel"]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about"]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about"]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl"]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax"]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action"]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions"]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers"]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates"]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses"]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts"]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled"]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone"]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed"]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected"]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange"]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin"]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming"]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths"]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always"]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always"]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum"]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api"]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance"]], "apps (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.apps"]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_"]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist"]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect"]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs"]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged"]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal"]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh"]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval"]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos"]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus"]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp"]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate"]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause"]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed"]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ"]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused"]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted"]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected"]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange"]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate"]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates"]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts"]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling"]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands"]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue"]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle"]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol"]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache"]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster"]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot"]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities"]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll"]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword"]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands"]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children"]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays"]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup"]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick"]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color"]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon"]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent"]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command"]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command"]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command"]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands"]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands"]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication"]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy"]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat"]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components"]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm"]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm"]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection"]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls"]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies"]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical"]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css"]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff"]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data"]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug"]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default"]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default"]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default"]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage"]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles"]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout"]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer"]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam"]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect"]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive"]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst"]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel"]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection"]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled"]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled"]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors"]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace"]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName"]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands"]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser"]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection"]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload"]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter"]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand"]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled"]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled"]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled"]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled"]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled"]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled"]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding"]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames"]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation"]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event"]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events"]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions"]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive"]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20"]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection"]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras"]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder"]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature"]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg"]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline"]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads"]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline"]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec"]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection"]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun"]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH"]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV"]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder"]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin"]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent"]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible"]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three"]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps"]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes"]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder"]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode"]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode"]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis"]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated"]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic"]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic"]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green"]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager"]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile"]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat"]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand"]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal"]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host"]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host"]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback"]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader"]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown"]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle"]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle"]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts"]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware"]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends"]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup"]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands"]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info"]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input"]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval"]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval"]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck"]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript"]], "key (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.key"]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl"]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize"]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax"]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout"]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less"]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write"]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks"]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand"]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log"]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel"]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause"]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends"]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs"]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long"]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands"]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency"]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max"]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts"]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends"]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders"]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting"]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize"]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize"]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses"]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min"]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify"]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins"]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection"]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name"]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name"]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name"]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name"]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name"]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name"]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name"]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name"]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name"]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name"]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix"]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar"]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar"]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never"]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never"]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never"]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum"]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none"]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control"]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api"]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance"]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls"]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel"]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation"]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events"]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature"]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder"]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis"]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins"]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters"]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles"]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts"]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial"]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server"]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing"]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system"]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature"]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters"]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off"]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck"]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options"]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange"]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order"]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter"]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix"]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers"]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands"]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager"]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist"]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings"]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins"]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins"]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched"]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port"]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port"]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port"]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback"]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader"]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport"]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait"]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll"]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive"]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache"]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback"]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader"]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation"]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation"]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime"]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters"]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles"]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles"]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing"]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles"]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red"]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex"]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex"]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder"]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader"]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp"]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk"]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart"]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold"]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop"]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy"]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90"]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt"]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt"]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite"]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools"]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback"]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader"]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script"]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts"]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts"]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable"]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand"]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase"]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath"]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus"]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport"]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport"]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey"]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure"]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards"]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically"]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter"]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands"]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError"]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial"]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server"]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback"]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader"]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand"]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings"]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings"]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso"]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename"]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation"]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar"]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar"]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine"]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing"]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles"]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider"]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot"]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay"]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation"]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout"]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam"]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets"]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout"]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order"]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold"]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode"]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil"]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step"]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream"]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio"]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout"]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers"]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict"]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet"]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions"]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand"]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk"]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait"]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend"]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system"]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system"]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand"]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand"]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab"]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab"]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature"]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature"]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport"]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph"]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet"]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template"]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters"]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize"]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio"]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines"]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio"]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed"]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse"]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse"]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled"]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp"]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout"]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout"]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations"]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29"]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication"]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser"]], "trusteddownstream (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedDownstream"]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets"]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl"]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type"]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type"]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck"]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until"]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation"]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads"]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads"]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url"]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState"]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround"]], "use_enum_values (octoprint.schema.basemodel.config attribute)": [[82, "octoprint.schema.BaseModel.Config.use_enum_values"]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager"]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile"]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings"]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings"]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange"]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical"]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet"]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd"]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect"]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList"]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn"]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning"]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched"]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark"]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets"]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam"]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled"]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard"]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard"]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow"]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange"]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS"]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException"]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin"]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection"]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters"]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection"]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer"]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler"]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler"]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler"]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform"]], "invalidapikeyexception": [[83, "octoprint.server.util.InvalidApiKeyException"]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler"]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache"]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity"]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest"]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse"]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider"]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface"]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver"]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment"]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin"]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater"]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler"]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler"]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler"]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession"]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler"]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler"]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler"]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer"]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory"]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add"]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done"]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified"]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag"]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies"]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler"]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler"]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler"]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler"]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received"]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default"]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete"]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete"]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie"]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps"]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension"]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ"]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access"]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode"]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling"]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin"]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get"]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get"]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type"]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version"]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix"]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request"]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request"]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream"]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions"]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head"]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize"]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize"]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize"]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize"]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize"]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart"]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path"]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception"]], "loginfromapikeyrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromApiKeyRequestHandler"]], "loginfromauthorizationheaderrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromAuthorizationHeaderRequestHandler"]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error"]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response"]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild"]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler"]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler"]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish"]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options"]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin"]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path"]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch"]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory"]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator"]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator"]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post"]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare"]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put"]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado"]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler"]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently"]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with"]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login"]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with"]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path"]], "response (octoprint.server.util.flask.octoprintflaskresponse attribute)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.response"]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access"]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session"]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name"]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port"]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set"]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie"]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers"]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers"]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler"]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie"]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix"]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get"]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect"]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY"]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings"]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay"]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback"]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup"]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder"]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config"]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash"]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml"]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings"]], "deleteapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.deleteApiKey"]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective"]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash"]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml"]], "generateapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.generateApiKey"]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get"]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder"]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean"]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat"]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt"]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has"]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified"]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty"]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts"]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load"]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript"]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay"]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove"]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay"]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback"]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders"]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save"]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript"]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set"]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder"]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean"]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat"]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt"]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings"]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues"]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings"]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists"]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException"]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException"]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured"]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled"]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException"]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager"]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile"]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile"]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile"]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer"]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles"]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing"]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers"]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer"]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile"]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path"]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer"]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path"]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize"]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile"]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified"]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers"]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers"]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile"]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile"]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice"]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer"]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer"]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled"]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS"]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet"]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller"]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError"]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict"]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture"]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue"]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer"]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer"]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue"]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue"]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call"]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call"]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks"]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi"]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy"]], "count() (in module octoprint.util)": [[86, "octoprint.util.count"]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated"]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize"]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean"]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys"]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter"]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten"]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge"]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff"]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize"]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict"]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii"]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get"]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom"]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class"]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string"]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime"]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size"]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta"]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname"]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os"]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file"]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible"]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items"]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call"]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr"]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout"]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation"]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp"]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put"]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run"]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run"]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize"]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec"]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes"]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str"]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str"]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode"]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values"]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated"]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation"]], "access_validator_hook()": [[92, "access_validator_hook"]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook"]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook"]], "additional_commands_hook()": [[92, "additional_commands_hook"]], "additional_permissions_hook()": [[92, "additional_permissions_hook"]], "additional_port_names_hook()": [[92, "additional_port_names_hook"]], "additional_state_data_hook()": [[92, "additional_state_data_hook"]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook"]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook"]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook"]], "capture_post_hook()": [[92, "capture_post_hook"]], "capture_pre_hook()": [[92, "capture_pre_hook"]], "cli_commands_hook()": [[92, "cli_commands_hook"]], "file_extension_hook()": [[92, "file_extension_hook"]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook"]], "firmware_capability_hook()": [[92, "firmware_capability_hook"]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook"]], "firmware_info_hook()": [[92, "firmware_info_hook"]], "gcode_error_hook()": [[92, "gcode_error_hook"]], "gcode_received_hook()": [[92, "gcode_received_hook"]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory"]], "printer_factory_hook()": [[92, "printer_factory_hook"]], "protocol_action_hook()": [[92, "protocol_action_hook"]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook"]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook"]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook"]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook"]], "register_custom_events_hook()": [[92, "register_custom_events_hook"]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook"]], "serial_factory_hook()": [[92, "serial_factory_hook"]], "server_bodysize_hook()": [[92, "server_bodysize_hook"]], "server_route_hook()": [[92, "server_route_hook"]], "templatetype_hook()": [[92, "templatetype_hook"]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook"]], "ui_theming_hook()": [[92, "ui_theming_hook"]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook"]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin"]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin"]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin"]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin"]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin"]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin"]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin"]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin"]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin"]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin"]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin"]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin"]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin"]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin"]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing"]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key"]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt"]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice"]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler"]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands"]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder"]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets"]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint"]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes"]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs"]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults"]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors"]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths"]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version"]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile"]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree"]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile"]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles"]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified"]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties"]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs"]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder"]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars"]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag"]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache"]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching"]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files"]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag"]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified"]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter"]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files"]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching"]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions"]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless"]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled"]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations"]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details"]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version"]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly"]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected"]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected"]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured"]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored"]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required"]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup"]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command"]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get"]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event"]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress"]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup"]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized"]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load"]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate"]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save"]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown"]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress"]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup"]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render"]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish"]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route"]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile"]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot"]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui"]]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"@ Commands": [[50, "commands"]], "A YAML Primer": [[40, "a-yaml-primer"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "Absolute imports": [[96, "absolute-imports"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Access control": [[0, "access-control"], [2, "access-control"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Action Commands": [[49, "action-commands"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Add a new group": [[0, "add-a-new-group"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Add a new user": [[0, "add-a-new-user"]], "Add or update request": [[10, "add-or-update-request"]], "Address test result": [[17, "address-test-result"]], "Announced Services": [[25, "announced-services"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Appearance": [[37, "appearance"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "AssetPlugin": [[95, "assetplugin"]], "Authorization": [[4, "authorization"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Autologin": [[48, "autologin"]], "Available Events": [[47, "available-events"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "Backup Plugin": [[24, "backup-plugin"]], "Basic Rules": [[40, "basic-rules"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Bundled Scripts": [[52, "bundled-scripts"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "CLI": [[36, "cli"]], "CSRF Protection": [[4, "csrf-protection"]], "Callbacks": [[97, "callbacks"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Checklist": [[96, "checklist"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Common data model": [[2, "common-data-model"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Communication Throttling": [[70, "communication-throttling"]], "Component list": [[7, "component-list"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Connection handling": [[1, "connection-handling"]], "Containers": [[51, "containers"]], "Content Type": [[4, "content-type"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Context": [[52, "context"]], "Control Properties": [[88, "control-properties"]], "Controls": [[37, "controls"], [51, "controls"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "Current User": [[4, "current-user"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "Custom Controls": [[51, "custom-controls"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Debug commands": [[46, "debug-commands"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Decision request": [[23, "decision-request"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Delete a group": [[0, "delete-a-group"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Delete a user": [[0, "delete-a-user"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Delete file": [[3, "delete-file"]], "Dependencies": [[97, "dependencies"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Development": [[43, "development"]], "Development settings": [[37, "development-settings"]], "Dictionaries": [[40, "dictionaries"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Encoding": [[4, "encoding"]], "Error Information": [[9, "error-information"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Errors": [[44, "errors"]], "Estimation": [[37, "estimation"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Example": [[25, "example"], [47, "example"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Feature": [[37, "feature"]], "Features": [[53, "features"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Fetch template data": [[13, "fetch-template-data"]], "File Check": [[27, "file-check"]], "File handling": [[47, "file-handling"]], "File information": [[2, "file-information"], [31, "file-information"]], "File operations": [[3, "file-operations"]], "File related": [[2, "file-related"]], "Files": [[2, "files"]], "Finding Plugins": [[54, "finding-plugins"]], "Finish wizards": [[19, "finish-wizards"]], "Firmware Check": [[28, "firmware-check"]], "First Steps": [[33, "first-steps"]], "Folder": [[37, "folder"]], "Folders": [[2, "folders"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Full State Response": [[9, "full-state-response"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Further reading": [[96, "further-reading"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Scripts": [[52, "gcode-scripts"]], "GCODE Viewer": [[37, "gcode-viewer"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "GCODE processing": [[47, "gcode-processing"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "General information": [[4, "general-information"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Get connection settings": [[1, "get-connection-settings"]], "Get group list": [[0, "get-group-list"]], "Global credentials": [[33, "global-credentials"]], "Group list response": [[0, "group-list-response"]], "Group record": [[2, "group-record"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Installing Plugins": [[54, "installing-plugins"]], "Integer division": [[96, "integer-division"]], "Interesting data types": [[40, "interesting-data-types"]], "Internal Modules": [[79, "internal-modules"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Issue a file command": [[3, "issue-a-file-command"]], "Issue a job command": [[6, "issue-a-job-command"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "JS Client Library": [[31, "js-client-library"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Job information": [[2, "job-information"]], "Job information response": [[6, "job-information-response"]], "Job operations": [[6, "job-operations"]], "Job related": [[2, "job-related"]], "Key list entry": [[23, "key-list-entry"]], "Key response": [[23, "key-response"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Languages": [[7, "languages"]], "Lifecycle": [[87, "lifecycle"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Linux": [[42, "linux"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "List all permissions": [[0, "list-all-permissions"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "List all response": [[15, "list-all-response"]], "List response": [[7, "list-response"], [23, "list-response"]], "Lists": [[40, "lists"]], "Log file": [[46, "log-file"]], "Log file management": [[8, "log-file-management"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "Logging": [[31, "logging"]], "Login": [[4, "login"]], "Login response": [[4, "login-response"]], "Logout": [[4, "logout"]], "Mac OS X": [[42, "mac-os-x"]], "Manual Installation": [[54, "manual-installation"]], "Manual file distribution": [[89, "manual-file-distribution"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "Mixins": [[95, "mixins"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Needs": [[2, "needs"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "Path test result": [[17, "path-test-result"]], "Pending list entry": [[23, "pending-list-entry"]], "Permission list response": [[0, "permission-list-response"]], "Permission record": [[2, "permission-record"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "Placeholders": [[47, "placeholders"]], "Plugin Manager": [[32, "plugin-manager"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Plugin settings": [[37, "plugin-settings"]], "Plugins": [[54, "plugins"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Preparation": [[48, "preparation"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "Printer Profile": [[47, "printer-profile"]], "Printer Profiles": [[37, "printer-profiles"]], "Printer State": [[2, "printer-state"]], "Printer communication": [[47, "printer-communication"]], "Printer operations": [[9, "printer-operations"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Printer related": [[2, "printer-related"]], "Printing": [[47, "printing"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Profile": [[10, "profile"], [14, "profile"]], "Profile Update Request": [[14, "profile-update-request"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Profiling requests": [[44, "profiling-requests"]], "Progress information": [[2, "progress-information"]], "ProgressPlugin": [[95, "progressplugin"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Push updates": [[11, "push-updates"]], "PyCharm": [[42, "pycharm"]], "REST API": [[5, "rest-api"]], "References": [[2, "references"], [31, "references"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Regenerate the system wide API key": [[13, "regenerate-the-system-wide-api-key"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Resend stats": [[2, "resend-stats"]], "Resolution test result": [[17, "resolution-test-result"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Retrieve response": [[3, "retrieve-response"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "SD State": [[9, "sd-state"]], "Safe mode": [[55, "safe-mode"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Save settings": [[13, "save-settings"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Scalars": [[40, "scalars"]], "Scripts": [[37, "scripts"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Server information": [[12, "server-information"]], "Server test result": [[17, "server-test-result"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Settings": [[13, "settings"], [47, "settings"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "Slicer": [[14, "slicer"]], "Slicer list": [[14, "slicer-list"]], "SlicerPlugin": [[95, "slicerplugin"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "Snippets": [[52, "snippets"]], "Software Update Plugin": [[33, "software-update-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Start authorization process": [[23, "start-authorization-process"]], "StartupPlugin": [[95, "startupplugin"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "System": [[15, "system"], [37, "system"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Temperature": [[37, "temperature"]], "Temperature Data": [[2, "temperature-data"]], "Temperature State": [[9, "temperature-state"]], "Temperature offset": [[2, "temperature-offset"]], "TemplatePlugin": [[95, "templateplugin"]], "Terminal Filters": [[37, "terminal-filters"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Timelapse": [[16, "timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Timelapse list": [[16, "timelapse-list"]], "Timelapses": [[47, "timelapses"]], "Todo": [[42, "id1"], [42, "id3"]], "Types": [[51, "types"]], "URL test result": [[17, "url-test-result"]], "UiPlugin": [[95, "uiplugin"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Update a group": [[0, "update-a-group"]], "Update a user": [[0, "update-a-user"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Update methods": [[33, "update-methods"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Upload response": [[3, "upload-response"]], "User list response": [[0, "user-list-response"]], "User record": [[2, "user-record"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Version checks": [[33, "version-checks"]], "Version information": [[18, "version-information"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Version specific imports": [[96, "version-specific-imports"]], "Viewmodels": [[97, "viewmodels"]], "Virtual Printer": [[35, "virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "Web interface reconnect": [[97, "web-interface-reconnect"]], "Web interface startup": [[97, "web-interface-startup"]], "Webcam": [[37, "webcam"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Windows": [[42, "windows"]], "Wizard": [[19, "wizard"]], "Wizard data entry": [[19, "wizard-data-entry"]], "WizardPlugin": [[95, "wizardplugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "boolean": [[40, "boolean"]], "config.yaml": [[37, "config-yaml"]], "connected payload": [[11, "connected-payload"]], "create_backup": [[24, "create-backup"]], "current and history payload": [[11, "current-and-history-payload"]], "delete_backup": [[24, "delete-backup"]], "event payload": [[11, "event-payload"]], "exceptions": [[33, "exceptions"]], "float": [[40, "float"]], "int": [[40, "int"]], "logging.yaml": [[39, "logging-yaml"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.theming.": [[92, "octoprint-theming-dialog"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "string": [[40, "string"]], "updaters": [[33, "updaters"]], "util": [[33, "util"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]]}, "docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "indexentries": {"_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue", false]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager", false]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder", false]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker", false]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder", false]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort", false]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis", false]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus", false]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager", false]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier", false]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger", false]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager", false]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager", false]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name", false]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version", false]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer", false]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager", false]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager", false]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager", false]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel", false]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about", false]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about", false]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue", false]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper", false]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory", false]], "access_validator_hook()": [[92, "access_validator_hook", false]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl", false]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig", false]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax", false]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook", false]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action", false]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig", false]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions", false]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add", false]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file", false]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file", false]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder", false]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder", false]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link", false]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link", false]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay", false]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay", false]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback", false]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook", false]], "additional_commands_hook()": [[92, "additional_commands_hook", false]], "additional_excludes_hook()": [[24, "additional_excludes_hook", false]], "additional_permissions_hook()": [[92, "additional_permissions_hook", false]], "additional_port_names_hook()": [[92, "additional_port_names_hook", false]], "additional_state_data_hook()": [[92, "additional_state_data_hook", false]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates", false]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses", false]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts", false]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers", false]], "after_backup_hook()": [[24, "after_backup_hook", false]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook", false]], "after_restore_hook()": [[24, "after_restore_hook", false]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled", false]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone", false]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected", false]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed", false]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange", false]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles", false]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin", false]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths", false]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming", false]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always", false]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always", false]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum", false]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum", false]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog", false]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog", false]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook", false]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted", false]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue", false]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser", false]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api", false]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig", false]], "apiuser (class in octoprint.access.users)": [[76, "octoprint.access.users.ApiUser", false]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance", false]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig", false]], "apps (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.apps", false]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict", false]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin", false]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_", false]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author", false]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect", false]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs", false]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged", false]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal", false]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh", false]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval", false]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos", false]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus", false]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp", false]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist", false]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup", false]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel", false]], "basemodel.config (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel.Config", false]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate", false]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause", false]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed", false]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor", false]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin", false]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ", false]], "before_backup_hook()": [[24, "before_backup_hook", false]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook", false]], "before_restore_hook()": [[24, "before_restore_hook", false]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected", false]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused", false]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted", false]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange", false]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate", false]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted", false]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates", false]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts", false]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands", false]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling", false]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue", false]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin", false]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS", false]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done", false]], "built-in function": [[24, "additional_excludes_hook", false], [24, "after_backup_hook", false], [24, "after_restore_hook", false], [24, "before_backup_hook", false], [24, "before_restore_hook", false], [32, "reconnect_hooks_hook", false], [33, "update_config_hook", false], [92, "access_validator_hook", false], [92, "acl_keyvalidator_hook", false], [92, "additional_bundle_files_hook", false], [92, "additional_commands_hook", false], [92, "additional_permissions_hook", false], [92, "additional_port_names_hook", false], [92, "additional_state_data_hook", false], [92, "after_request_handlers_hook", false], [92, "analysis_queue_factory_hook", false], [92, "before_request_handlers_hook", false], [92, "capture_post_hook", false], [92, "capture_pre_hook", false], [92, "cli_commands_hook", false], [92, "file_extension_hook", false], [92, "file_preprocessor_hook", false], [92, "firmware_capability_hook", false], [92, "firmware_capability_report_hook", false], [92, "firmware_info_hook", false], [92, "gcode_error_hook", false], [92, "gcode_received_hook", false], [92, "print_time_estimator_factory", false], [92, "printer_factory_hook", false], [92, "protocol_action_hook", false], [92, "protocol_atcommandphase_hook", false], [92, "protocol_gcodephase_hook", false], [92, "protocol_scripts_hook", false], [92, "protocol_temperatures_received_hook", false], [92, "register_custom_events_hook", false], [92, "sd_card_upload_hook", false], [92, "serial_factory_hook", false], [92, "server_bodysize_hook", false], [92, "server_route_hook", false], [92, "templatetype_hook", false], [92, "timelapse_extension_hook", false], [92, "ui_theming_hook", false], [92, "user_manager_factory_hook", false]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options", false]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle", false]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled", false]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol", false]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache", false]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster", false]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call", false]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin", false]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file", false]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print", false]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing", false]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing", false]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException", false]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize", false]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize", false]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot", false]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities", false]], "capture_post_hook()": [[92, "capture_post_hook", false]], "capture_pre_hook()": [[92, "capture_pre_hook", false]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll", false]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet", false]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER", false]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool", false]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check", false]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified", false]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder", false]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword", false]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call", false]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands", false]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children", false]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks", false]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR", false]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi", false]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup", false]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays", false]], "cli_commands_hook()": [[92, "cli_commands_hook", false]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close", false]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close", false]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS", false]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick", false]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color", false]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum", false]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon", false]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent", false]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command", false]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command", false]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command", false]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller", false]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError", false]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands", false]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands", false]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands", false]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig", false]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication", false]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy", false]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat", false]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig", false]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig", false]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig", false]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components", false]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag", false]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config", false]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config", false]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash", false]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key", false]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml", false]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers", false]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm", false]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm", false]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect", false]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection", false]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig", false]], "content_type (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type", false]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector", false]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping", false]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig", false]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig", false]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls", false]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig", false]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies", false]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies", false]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig", false]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy", false]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file", false]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file", false]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder", false]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder", false]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage", false]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler", false]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler", false]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin", false]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError", false]], "count() (in module octoprint.util)": [[86, "octoprint.util.count", false]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper", false]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical", false]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt", false]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler", false]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler", false]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css", false]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection", false]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters", false]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection", false]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer", false]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff", false]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options", false]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data", false]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received", false]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug", false]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default", false]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default", false]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default", false]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default", false]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings", false]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer", false]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage", false]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict", false]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles", false]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout", false]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer", false]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam", false]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete", false]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete", false]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper", false]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie", false]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile", false]], "deleteapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.deleteApiKey", false]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture", false]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated", false]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler", false]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description", false]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize", false]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect", false]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive", false]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst", false]], "detector (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.detector", false]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel", false]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig", false]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig", false]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig", false]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean", false]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys", false]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter", false]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten", false]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge", false]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff", false]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize", false]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable", false]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin", false]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled", false]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled", false]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection", false]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged", false]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect", false]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors", false]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper", false]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace", false]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig", false]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName", false]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice", false]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps", false]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler", false]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective", false]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash", false]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml", false]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser", false]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands", false]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable", false]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension", false]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin", false]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection", false]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled", false]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled", false]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled", false]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled", false]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled", false]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload", false]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter", false]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand", false]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding", false]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames", false]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue", false]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ", false]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler", false]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation", false]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig", false]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event", false]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin", false]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events", false]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig", false]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription", false]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions", false]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive", false]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20", false]], "extensions (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions", false]], "extensions (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions", false]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection", false]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras", false]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude", false]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder", false]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack", false]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict", false]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature", false]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig", false]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate", false]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg", false]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline", false]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads", false]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline", false]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec", false]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists", false]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists", false]], "file_extension_hook()": [[92, "file_extension_hook", false]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path", false]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path", false]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook", false]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii", false]], "firmware_capability_hook()": [[92, "firmware_capability_hook", false]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook", false]], "firmware_info_hook()": [[92, "firmware_info_hook", false]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection", false]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun", false]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access", false]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode", false]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling", false]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin", false]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH", false]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV", false]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate", false]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder", false]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists", false]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists", false]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig", false]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible", false]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled", false]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin", false]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent", false]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three", false]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps", false]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes", false]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder", false]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode", false]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode", false]], "gcode_error_hook()": [[92, "gcode_error_hook", false]], "gcode_received_hook()": [[92, "gcode_received_hook", false]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis", false]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig", false]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue", false]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig", false]], "generateapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.generateApiKey", false]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated", false]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler", false]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic", false]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic", false]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get", false]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get", false]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get", false]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get", false]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get", false]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata", false]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata", false]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands", false]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder", false]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets", false]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint", false]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes", false]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs", false]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom", false]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean", false]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class", false]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command", false]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command", false]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options", false]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options", false]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type", false]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version", false]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix", false]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection", false]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data", false]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job", false]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures", false]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string", false]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations", false]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request", false]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float", false]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime", false]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size", false]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta", false]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname", false]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers", false]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook", false]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks", false]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation", false]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations", false]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int", false]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified", false]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified", false]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata", false]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata", false]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os", false]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin", false]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder", false]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder", false]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info", false]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path", false]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path", false]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults", false]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors", false]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths", false]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version", false]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size", false]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size", false]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer", false]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile", false]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree", false]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile", false]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path", false]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles", false]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified", false]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties", false]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key", false]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id", false]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string", false]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history", false]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs", false]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder", false]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars", false]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport", false]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag", false]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache", false]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching", false]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files", false]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag", false]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified", false]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter", false]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files", false]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching", false]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions", false]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless", false]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled", false]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations", false]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details", false]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version", false]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder", false]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean", false]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat", false]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt", false]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get", false]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder", false]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean", false]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float", false]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int", false]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set", false]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean", false]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float", false]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int", false]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform", false]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green", false]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile", false]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager", false]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request", false]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream", false]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has", false]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis", false]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis", false]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks", false]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins", false]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks", false]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions", false]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks", false]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation", false]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head", false]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat", false]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand", false]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers", false]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden", false]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option", false]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption", false]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home", false]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks", false]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks", false]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal", false]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host", false]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host", false]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback", false]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader", false]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown", false]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle", false]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle", false]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands", false]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts", false]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware", false]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends", false]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup", false]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation", false]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible", false]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info", false]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum", false]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli", false]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize", false]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize", false]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize", false]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize", false]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input", false]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval", false]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval", false]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax", false]], "invalidapikeyexception": [[83, "octoprint.server.util.InvalidApiKeyException", false]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError", false]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername", false]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck", false]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig", false]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file", false]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly", false]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected", false]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected", false]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling", false]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error", false]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file", false]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error", false]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart", false]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook", false]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational", false]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible", false]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused", false]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing", false]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked", false]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing", false]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready", false]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook", false]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin", false]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured", false]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored", false]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required", false]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items", false]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript", false]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold", false]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog", false]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path", false]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path", false]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path", false]], "key (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.key", false]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl", false]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys", false]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler", false]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified", false]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified", false]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified", false]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty", false]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize", false]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax", false]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout", false]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum", false]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options", false]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less", false]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache", false]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write", false]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license", false]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream", false]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands", false]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands", false]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files", false]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files", false]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts", false]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load", false]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load", false]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay", false]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays", false]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile", false]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded", false]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript", false]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage", false]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks", false]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand", false]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log", false]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception", false]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines", false]], "loginfromapikeyrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromApiKeyRequestHandler", false]], "loginfromauthorizationheaderrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromAuthorizationHeaderRequestHandler", false]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel", false]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause", false]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends", false]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs", false]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long", false]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str", false]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands", false]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin", false]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT", false]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency", false]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error", false]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response", false]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable", false]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin", false]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max", false]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts", false]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends", false]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders", false]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting", false]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize", false]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize", false]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses", false]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min", false]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify", false]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins", false]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection", false]], "module": [[76, "module-octoprint.access.users", false], [77, "module-octoprint.cli", false], [77, "module-octoprint.cli.dev", false], [77, "module-octoprint.cli.plugins", false], [77, "module-octoprint.cli.server", false], [78, "module-octoprint.filemanager", false], [78, "module-octoprint.filemanager.analysis", false], [78, "module-octoprint.filemanager.destinations", false], [78, "module-octoprint.filemanager.storage", false], [78, "module-octoprint.filemanager.util", false], [80, "module-octoprint.plugin", false], [80, "module-octoprint.plugin.core", false], [80, "module-octoprint.plugin.types", false], [81, "module-octoprint.printer", false], [81, "module-octoprint.printer.profile", false], [82, "module-octoprint.schema", false], [82, "module-octoprint.schema.config", false], [82, "module-octoprint.schema.config.access_control", false], [82, "module-octoprint.schema.config.api", false], [82, "module-octoprint.schema.config.appearance", false], [82, "module-octoprint.schema.config.controls", false], [82, "module-octoprint.schema.config.devel", false], [82, "module-octoprint.schema.config.estimation", false], [82, "module-octoprint.schema.config.events", false], [82, "module-octoprint.schema.config.feature", false], [82, "module-octoprint.schema.config.folder", false], [82, "module-octoprint.schema.config.gcode_analysis", false], [82, "module-octoprint.schema.config.plugins", false], [82, "module-octoprint.schema.config.printer_parameters", false], [82, "module-octoprint.schema.config.printer_profiles", false], [82, "module-octoprint.schema.config.scripts", false], [82, "module-octoprint.schema.config.serial", false], [82, "module-octoprint.schema.config.server", false], [82, "module-octoprint.schema.config.slicing", false], [82, "module-octoprint.schema.config.system", false], [82, "module-octoprint.schema.config.temperature", false], [82, "module-octoprint.schema.config.terminalfilters", false], [82, "module-octoprint.schema.config.webcam", false], [82, "module-octoprint.schema.webcam", false], [83, "module-octoprint.server", false], [83, "module-octoprint.server.util", false], [83, "module-octoprint.server.util.flask", false], [83, "module-octoprint.server.util.sockjs", false], [83, "module-octoprint.server.util.tornado", false], [84, "module-octoprint.settings", false], [85, "module-octoprint.slicing", false], [85, "module-octoprint.slicing.exceptions", false], [86, "module-octoprint.util", false], [86, "module-octoprint.util.commandline", false], [86, "module-octoprint.util.platform", false]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file", false]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file", false]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder", false]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder", false]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream", false]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name", false]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name", false]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name", false]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name", false]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name", false]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name", false]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name", false]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name", false]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name", false]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name", false]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name", false]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix", false]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar", false]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar", false]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild", false]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart", false]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never", false]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never", false]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never", false]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum", false]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access", false]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler", false]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler", false]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none", false]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage", false]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands", false]], "octoprint.access.users": [[76, "module-octoprint.access.users", false]], "octoprint.cli": [[77, "module-octoprint.cli", false]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev", false]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins", false]], "octoprint.cli.server": [[77, "module-octoprint.cli.server", false]], "octoprint.filemanager": [[78, "module-octoprint.filemanager", false]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis", false]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations", false]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage", false]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util", false]], "octoprint.plugin": [[80, "module-octoprint.plugin", false]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core", false]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types", false]], "octoprint.printer": [[81, "module-octoprint.printer", false]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile", false]], "octoprint.schema": [[82, "module-octoprint.schema", false]], "octoprint.schema.config": [[82, "module-octoprint.schema.config", false]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control", false]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api", false]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance", false]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls", false]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel", false]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation", false]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events", false]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature", false]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder", false]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis", false]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins", false]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters", false]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles", false]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts", false]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial", false]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server", false]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing", false]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system", false]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature", false]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters", false]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam", false]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam", false]], "octoprint.server": [[83, "module-octoprint.server", false]], "octoprint.server.util": [[83, "module-octoprint.server.util", false]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask", false]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs", false]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado", false]], "octoprint.settings": [[84, "module-octoprint.settings", false]], "octoprint.slicing": [[85, "module-octoprint.slicing", false]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions", false]], "octoprint.util": [[86, "module-octoprint.util", false]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline", false]], "octoprint.util.platform": [[86, "module-octoprint.util.platform", false]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity", false]], "octoprintclient() (class)": [[57, "OctoPrintClient", false]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax", false]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData", false]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login", false]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout", false]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin", false]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect", false]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect", false]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck", false]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings", false]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls", false]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode", false]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript", false]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters", false]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters", false]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException", false]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred", false]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete", false]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download", false]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy", false]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder", false]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete", false]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download", false]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath", false]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get", false]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list", false]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation", false]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move", false]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry", false]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select", false]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice", false]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload", false]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get", false]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl", false]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl", false]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie", false]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders", false]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl", false]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery", false]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError", false]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand", false]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel", false]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get", false]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause", false]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart", false]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume", false]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start", false]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause", false]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete", false]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list", false]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload", false]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options", false]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch", false]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson", false]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins", false]], "octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate", false]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision", false]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide", false]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey", false]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys", false]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey", false]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys", false]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe", false]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request", false]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser", false]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey", false]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp", false]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog", false]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog", false]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs", false]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post", false]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson", false]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude", false]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState", false]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState", false]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState", false]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState", false]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState", false]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home", false]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd", false]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog", false]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd", false]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd", false]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool", false]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature", false]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset", false]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature", false]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset", false]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate", false]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate", false]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures", false]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets", false]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add", false]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete", false]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get", false]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list", false]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update", false]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put", false]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson", false]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent", false]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey", false]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get", false]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings", false]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save", false]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings", false]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand", false]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet", false]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer", false]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer", false]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer", false]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles", false]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer", false]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer", false]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect", false]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate", false]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect", false]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate", false]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage", false]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh", false]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow", false]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options", false]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect", false]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage", false]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth", false]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage", false]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand", false]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands", false]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource", false]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete", false]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered", false]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download", false]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get", false]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig", false]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list", false]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered", false]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered", false]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered", false]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig", false]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload", false]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add", false]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword", false]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete", false]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey", false]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get", false]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings", false]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list", false]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey", false]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings", false]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update", false]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test", false]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable", false]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath", false]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution", false]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer", false]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl", false]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish", false]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get", false]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext", false]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands", false]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest", false]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse", false]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider", false]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin", false]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands", false]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface", false]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off", false]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup", false]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command", false]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get", false]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event", false]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish", false]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call", false]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr", false]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout", false]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled", false]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled", false]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall", false]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress", false]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log", false]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message", false]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature", false]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message", false]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data", false]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data", false]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup", false]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized", false]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load", false]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate", false]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save", false]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown", false]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress", false]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup", false]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render", false]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish", false]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck", false]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig", false]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options", false]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options", false]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin", false]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange", false]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order", false]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin", false]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path", false]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY", false]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter", false]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata", false]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx", false]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch", false]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage", false]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage", false]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk", false]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk", false]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory", false]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix", false]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause", false]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print", false]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers", false]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands", false]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation", false]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator", false]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator", false]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager", false]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin", false]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks", false]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager", false]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager", false]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings", false]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver", false]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist", false]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig", false]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo", false]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager", false]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins", false]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins", false]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins", false]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig", false]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings", false]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings", false]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched", false]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port", false]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port", false]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port", false]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback", false]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader", false]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport", false]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait", false]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post", false]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll", false]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp", false]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive", false]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache", false]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig", false]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment", false]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback", false]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader", false]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare", false]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue", false]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory", false]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation", false]], "printer_factory_hook()": [[92, "printer_factory_hook", false]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback", false]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface", false]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters", false]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig", false]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager", false]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles", false]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles", false]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig", false]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing", false]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation", false]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime", false]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig", false]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy", false]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line", false]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile", false]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists", false]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException", false]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles", false]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified", false]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin", false]], "protocol_action_hook()": [[92, "protocol_action_hook", false]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook", false]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook", false]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook", false]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook", false]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put", false]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put", false]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat", false]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry", false]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum", false]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable", false]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable", false]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook", false]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR", false]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red", false]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado", false]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex", false]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex", false]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback", false]], "register_custom_events_hook()": [[92, "register_custom_events_hook", false]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver", false]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers", false]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins", false]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers", false]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin", false]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin", false]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder", false]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader", false]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove", false]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata", false]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata", false]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file", false]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file", false]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder", false]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder", false]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler", false]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link", false]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link", false]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay", false]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay", false]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback", false]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer", false]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp", false]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin", false]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently", false]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with", false]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login", false]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with", false]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk", false]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart", false]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold", false]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer", false]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path", false]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin", false]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin", false]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access", false]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume", false]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print", false]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop", false]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy", false]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig", false]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90", false]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route", false]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run", false]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run", false]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server", false]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt", false]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum", false]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt", false]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite", false]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum", false]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize", false]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize", false]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name", false]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name", false]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path", false]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path", false]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders", false]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools", false]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save", false]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save", false]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save", false]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save", false]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save", false]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile", false]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session", false]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile", false]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError", false]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript", false]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback", false]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader", false]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script", false]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script", false]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts", false]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts", false]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig", false]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook", false]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable", false]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand", false]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase", false]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath", false]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus", false]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport", false]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport", false]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey", false]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure", false]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable", false]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable", false]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards", false]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file", false]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback", false]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message", false]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically", false]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter", false]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands", false]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError", false]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial", false]], "serial_factory_hook()": [[92, "serial_factory_hook", false]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities", false]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig", false]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize", false]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts", false]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig", false]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server", false]], "server_bodysize_hook()": [[92, "server_bodysize_hook", false]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name", false]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options", false]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port", false]], "server_route_hook()": [[92, "server_route_hook", false]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig", false]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback", false]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader", false]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand", false]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set", false]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set", false]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set", false]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata", false]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata", false]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean", false]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec", false]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie", false]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option", false]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers", false]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile", false]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers", false]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float", false]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler", false]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int", false]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold", false]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature", false]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset", false]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder", false]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean", false]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat", false]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt", false]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings", false]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings", false]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings", false]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings", false]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings", false]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater", false]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin", false]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie", false]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso", false]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename", false]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation", false]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin", false]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar", false]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar", false]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin", false]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine", false]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice", false]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer", false]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer", false]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException", false]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured", false]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin", false]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing", false]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled", false]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled", false]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig", false]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException", false]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager", false]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile", false]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles", false]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider", false]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot", false]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay", false]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation", false]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout", false]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam", false]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets", false]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout", false]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin", false]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order", false]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path", false]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path", false]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix", false]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold", false]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options", false]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print", false]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode", false]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin", false]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler", false]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler", false]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil", false]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step", false]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface", false]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream", false]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream", false]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get", false]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio", false]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout", false]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers", false]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper", false]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict", false]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet", false]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum", false]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions", false]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum", false]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand", false]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk", false]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait", false]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend", false]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system", false]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system", false]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig", false]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler", false]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand", false]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand", false]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab", false]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab", false]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot", false]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature", false]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature", false]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport", false]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig", false]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph", false]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile", false]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet", false]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template", false]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin", false]], "templatetype_hook()": [[92, "templatetype_hook", false]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile", false]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry", false]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters", false]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize", false]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession", false]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio", false]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines", false]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio", false]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed", false]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse", false]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse", false]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook", false]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp", false]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig", false]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled", false]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions", false]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum", false]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout", false]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout", false]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes", false]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str", false]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str", false]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode", false]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print", false]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations", false]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29", false]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication", false]], "trusteddownstream (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedDownstream", false]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets", false]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser", false]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl", false]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type", false]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type", false]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue", false]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue", false]], "ui_theming_hook()": [[92, "ui_theming_hook", false]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin", false]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck", false]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile", false]], "unknownrole": [[76, "octoprint.access.users.UnknownRole", false]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer", false]], "unknownuser": [[76, "octoprint.access.users.UnknownUser", false]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload", false]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback", false]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver", false]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file", false]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until", false]], "update_config_hook()": [[33, "update_config_hook", false]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation", false]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads", false]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads", false]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig", false]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler", false]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url", false]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url", false]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler", false]], "use_enum_values (octoprint.schema.basemodel.config attribute)": [[82, "octoprint.schema.BaseModel.Config.use_enum_values", false]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState", false]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround", false]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User", false]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook", false]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists", false]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile", false]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager", false]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings", false]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings", false]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes", false]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues", false]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex", false]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex", false]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate", false]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect", false]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange", false]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values", false]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated", false]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation", false]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version", false]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical", false]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet", false]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd", false]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect", false]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList", false]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn", false]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings", false]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning", false]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched", false]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark", false]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets", false]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam", false]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam", false]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility", false]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig", false]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled", false]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin", false]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler", false]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui", false]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard", false]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard", false]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin", false]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable", false]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable", false]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer", false]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow", false]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange", false]]}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings-apikey", "/api/settings/apikey"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 10, 1, "", "ApiUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 13, 1, "", "detector"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 13, 1, "", "content_type"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 10, 1, "", "Config"]], "octoprint.schema.BaseModel.Config": [[82, 13, 1, "", "use_enum_values"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "apps"], [82, 13, 1, "", "key"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustedDownstream"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 11, 1, "", "InvalidApiKeyException"], [83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "loginFromApiKeyRequestHandler"], [83, 8, 1, "", "loginFromAuthorizationHeaderRequestHandler"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 12, 1, "", "deleteApiKey"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "generateApiKey"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "terms": {"": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "000000": 3, "00m": 92, "01": [37, 46, 82, 90], "01378": 9, "02": [9, 31, 92, 95], "02mm": 9, "03": 92, "032": 9, "05": [9, 17, 82], "058": 90, "06": 90, "082": 9, "09": 92, "0rc": 41, "0rc1": [41, 96], "0rc2": 41, "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 51, 66, 70, 82, 84, 85, 90, 92, 95], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "10000": 92, "10000k": 82, "100kb": [37, 82, 92], "101": [9, 90], "1024": [39, 92], "102400": [37, 82], "1024kb": 92, "105": [9, 46], "107": 9, "1073741824": [37, 82], "1094933": 86, "10mm": [9, 51, 66], "11": [4, 22, 26, 37, 42, 83, 86, 90, 92, 95], "110": 46, "1107": 82, "1123": 9, "115": 46, "115200": [1, 37, 92], "1188": 3, "12": [47, 95], "122": 90, "12237201408": 31, "1234": [3, 25, 74], "123456": 37, "124": 90, "125": 9, "127": [37, 48, 74, 82, 88, 92], "128": [48, 82], "13": [55, 70, 90], "132": 90, "13205": 31, "1334": 3, "134": 90, "135": 90, "1378847754": [3, 6], "1387144346": 3, "1392628936": 31, "1393158814": 31, "1395651926": 9, "1395651928": 9, "14": 90, "140": 95, "14159430": 90, "1440": [32, 33], "1468987": [3, 6], "1470859680": 7, "1474574597": 7, "15": [3, 37, 82], "150": [10, 33], "15min": 34, "16": [17, 33, 82, 92], "168": [17, 37, 48, 82], "17": [31, 90, 95, 96], "174": 9, "178": 92, "1798419": 31, "18": [90, 92], "180": [37, 82], "19": 90, "192": [17, 37, 48, 82], "19200": 1, "19302": 82, "199": 17, "1gb": [37, 82], "1px": 90, "1st": 96, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "200mb": [37, 82], "201": [3, 14, 23], "2013": [29, 35, 48], "2014": 31, "2015": [90, 95], "2016": [42, 92], "2018": 92, "2019": 42, "202": [3, 23], "2020": 96, "2020083": 86, "2023": 90, "2028598": [86, 90], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "205": [9, 66], "2097152": [37, 39], "20971520": 37, "209715200": [37, 82], "20mb": 37, "20mm": [3, 10], "21": [10, 46, 92, 95], "210": [37, 82, 92], "212": 9, "213": 92, "214": 9, "216": 92, "217": 92, "219": 92, "220": [9, 46, 66, 92], "221": 9, "2298468264184775": 6, "23": [3, 40, 46, 48, 92, 95], "230": 92, "230400": 1, "232": 92, "234": 92, "2342": 95, "24": [37, 82, 89, 92], "242": 92, "243": 92, "246": 3, "24h": 33, "25": [9, 10, 37, 82, 92], "250000": [1, 84], "252": 9, "253": 9, "255": [37, 48, 51, 82], "25mm": 10, "263": 3, "27": 46, "276": 6, "286": 9, "29": 92, "299": 17, "2f": 46, "2gb": 3, "2h": 92, "2mb": 37, "2mm": 66, "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "30": [37, 82, 86, 90], "300": [10, 17, 22, 37, 83, 92], "3000": 51, "3000mm": 51, "302": 83, "31": [90, 92], "312464": 86, "32": 9, "33": 90, "337942": 6, "34": [46, 90], "342": 92, "3482": [37, 82], "349182": 83, "35": 90, "355": 92, "357": 92, "358": 92, "36": [3, 6, 90], "360": [32, 33], "3785": 9, "38": [90, 92], "38400": 1, "399": 17, "3d": 56, "3df4550c": 42, "3mm": 9, "3rd": 11, "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "40": [70, 95], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "401": 4, "403": [0, 4, 13, 31, 83], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "409": [0, 3, 6, 9, 10], "41": 90, "411": 9, "415": 3, "42": [40, 48, 90], "43": [46, 90], "430": 3, "43712": 31, "443": 25, "45": 92, "46": 90, "47": 90, "48": 90, "49": 9, "494": 9, "496c": 42, "499": 17, "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "50": [9, 66, 82, 92], "500": [3, 15, 17, 44, 83, 92], "5000": [37, 82, 84], "5000k": 37, "5001": 88, "500m": [11, 70], "500mb": [37, 82], "5088147346030592": [37, 82], "512": 83, "522": 9, "524288000": 82, "53": [17, 37, 74, 82, 90], "54": 90, "54089": 9, "552": 92, "553": 92, "555": 92, "556": 92, "558": 92, "5633521622188032": [37, 82], "57": 40, "57600": 1, "5987": [3, 4], "599": 17, "5mm": [9, 66], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "60": [37, 82, 86, 92], "6000": 10, "600px": 90, "634": 90, "63488000": 37, "64": 46, "69": [9, 90], "6h": 33, "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "70": 9, "731": 9, "748": 9, "75": [3, 9], "779": 9, "786": 90, "792": 90, "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "808080": 90, "8081": 4, "810": [3, 6], "818": 90, "83763": 9, "85": 9, "85a134": 90, "8601": 47, "861": 92, "866": 9, "868": 9, "87": 9, "8811": 6, "8821": 9, "8859": 4, "8963": 9, "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "90": [37, 66, 82], "900": 82, "91": 9, "912": 6, "92338": 9, "93": 9, "95": 9, "96": 9, "9600": 1, "97566": 9, "98": 9, "9946": 9, "997": 90, "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "And": [33, 46, 48, 92], "As": [24, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "At": [23, 44, 57, 78], "Be": [82, 92], "But": [40, 90], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "Its": 56, "NO": 47, "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "OR": 57, "Of": [90, 95], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "Or": [2, 48], "Such": 49, "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 96], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "Their": [92, 97], "Then": [42, 48, 90, 92, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "These": [20, 37, 42, 51, 52, 82, 88, 95], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "WILL": 81, "Will": [0, 4, 7, 9, 10, 13, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "With": [11, 52, 55, 85, 96], "_": [61, 62, 80, 90, 91, 92, 95], "_1st": 95, "_2nd": 95, "__call__": 83, "__currentz": 47, "__data": 47, "__doc__": 86, "__eventnam": 47, "__filenam": 47, "__fileorigin": 47, "__filepath": 47, "__future__": [95, 96], "__init": 89, "__init__": [90, 92, 95, 96], "__name__": [88, 91, 92], "__now": 47, "__overlay__": 84, "__plugin_author__": [88, 90], "__plugin_check__": 88, "__plugin_description__": [88, 90, 92], "__plugin_disable__": 88, "__plugin_enable__": 88, "__plugin_helpers__": 91, "__plugin_hooks__": [24, 32, 33, 88, 92], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_license__": [88, 90], "__plugin_load__": [88, 91, 92], "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_privacypolicy__": 88, "__plugin_pycompat__": 96, "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_settings_overlay__": 88, "__plugin_unload__": 88, "__plugin_url__": [88, 90], "__plugin_version__": [88, 90, 92, 94], "__progress": 47, "_about": 95, "_after_": 90, "_analysi": 85, "_analysis_queu": [79, 80, 94], "_app_session_manag": [79, 80], "_apply_xhead": 83, "_async": 86, "_awesometempl": 92, "_basefold": [79, 80, 94], "_build": 42, "_cancel": 85, "_changest": 92, "_config": 95, "_config_vers": 95, "_connectivity_check": [77, 79, 80, 94], "_core": 7, "_current": 78, "_data_fold": [79, 80], "_datafold": 94, "_default": [1, 10, 37, 82], "_detectport": 92, "_disabl": [37, 82], "_div": 92, "_do_abort": [78, 79], "_do_analysi": [78, 79], "_environment_detector": 77, "_error": 85, "_errorvalu": 92, "_event_bu": [77, 79, 80, 94], "_file_manag": [79, 80, 94], "_forcedcompat": [37, 82, 96], "_gcode_hook": 92, "_gcodescript_hook": 92, "_get_free_remote_nam": 92, "_gntp": 91, "_handled_error": 92, "_httprequestcontext": 83, "_identifi": [77, 79, 80, 94], "_import": 22, "_is_external_cli": 4, "_log": 92, "_logger": [77, 79, 80, 90, 92, 94, 95], "_navbar": 95, "_not_": 83, "_plugin_": [92, 95], "_plugin_info": 94, "_plugin_lifecycle_manag": [79, 80], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "_plugin_nam": [33, 79, 80, 94], "_plugin_vers": [33, 79, 80, 94], "_pluginmanag": 92, "_printer": [79, 80, 94], "_printer_profile_manag": [79, 80, 94], "_process_multipart_data": 83, "_progress": [85, 95], "_r": 4, "_refresh": 95, "_register_growl": 91, "_server_request_loop": 83, "_set": [77, 90, 91, 92, 94, 95], "_sidebar": 95, "_size": 92, "_slicing_manag": [79, 80, 94], "_someservic": 25, "_sortingord": [37, 82], "_strip": 92, "_tab": 95, "_tcp": 91, "_user_manag": [79, 80, 94], "_webcam": 95, "_wizard": 95, "a1": 86, "a189": 42, "a2": 86, "a4ut": 3, "a_list": 40, "a_turtle_turtl": 2, "aabbccddee1234523452345": 48, "ab": [37, 82], "abandon": 4, "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "abcdef1234567890": 23, "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "abort": [21, 23, 50, 78, 92, 95], "abortheatuponcancel": [79, 82], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "abridg": [3, 14], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "absolute_import": [95, 96], "absolute_path": 78, "abspath": 83, "abstract": 81, "abstractanalysisqueu": [78, 79, 92], "abstractfilewrapp": [78, 79, 92], "abus": [49, 81], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "access_control": 82, "access_valid": [83, 93], "access_validation_factori": [79, 83], "access_validator_hook": 92, "accesscontrol": [13, 37, 48, 79, 82, 93], "accesscontrolconfig": [79, 82], "accessviewmodel": 92, "accident": [51, 82], "accord": [33, 37, 47, 85, 90], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "accumul": 11, "accur": 47, "accuraci": [37, 82], "achiev": [9, 37, 48, 89, 90, 96, 97], "ackmax": [79, 82], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "acl": 97, "acl_keyvalidator_hook": 92, "acquir": 81, "across": [16, 40, 46, 58, 97], "acryl": [37, 82], "act": [22, 33, 90, 92, 97], "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 85, 86, 93], "action_command_notif": 20, "action_command_prompt": [13, 21], "action_custom": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "actionconfig": [79, 82], "activ": [0, 2, 3, 4, 6, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "ad": [4, 9, 10, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 47, 48, 49, 50, 51, 54, 55, 57, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "adapt": [8, 65, 78, 86], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "add_fil": [78, 79], "add_fold": [78, 79], "add_link": [78, 79], "add_overlai": [79, 80, 84], "add_path_update_callback": [79, 84], "add_templatetyp": 92, "add_tornado_rout": 92, "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "additional_bundle_fil": 93, "additional_bundle_files_hook": 92, "additional_command": 93, "additional_commands_hook": 92, "additional_exclud": 93, "additional_excludes_hook": 24, "additional_permissions_hook": 92, "additional_port_nam": 93, "additional_port_names_hook": 92, "additional_setup_paramet": 90, "additional_state_data": [11, 93], "additional_state_data_hook": 92, "additional_valid": 80, "additionalbaudr": [37, 79, 82], "additionalclass": [51, 79, 82], "additionalnam": 97, "additionalport": [37, 79, 82], "addprofileforslic": [62, 69], "addremoteus": [37, 79, 82], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "adher": [24, 41, 42, 45], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "admin_group": 92, "admin_onli": 95, "administr": [23, 42, 48, 90, 92, 95], "advanc": [52, 89, 90], "advent": 55, "advis": [4, 37, 81, 82, 92], "affect": [4, 32, 83, 96], "affero": 56, "after": [2, 3, 6, 9, 11, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "after_backup": 93, "after_backup_hook": 24, "after_load": 80, "after_request": [83, 93], "after_request_handlers_hook": 92, "after_restor": 93, "after_restore_hook": 24, "afterprintcancel": [37, 52, 79, 82], "afterprintdon": [37, 52, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "afterprintpaus": [37, 52, 92], "afterprintresum": [79, 82], "aftertoolchang": [52, 79, 82], "afterward": 92, "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "agent": 95, "agnost": 42, "agplv3": 90, "aim": 96, "ain": 96, "ajax": [4, 37, 57, 62, 82], "ajaxwithdata": [57, 62], "aka": [37, 40], "alarm": 4, "albeit": 83, "alert": [47, 95], "alex": 29, "alia": 78, "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "all_asset": 95, "all_profil": [79, 85], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "allow_client_cach": 83, "allow_create_dir": 17, "allow_fallback": 84, "allow_from_autoenv": 77, "allow_overwrit": [78, 85, 92, 95], "allow_root": 77, "allowcrossorigin": [4, 37, 79, 82], "allowed_path": 83, "allowedloginredirectpath": [79, 82], "allowfram": [37, 79, 82], "allviewmodel": 97, "almost": 48, "alon": [48, 95], "along": [3, 78], "alongsid": 33, "alphabet": 95, "alpn": 83, "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "already_defin": 92, "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "although": 80, "altogeth": 95, "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "always_curr": 33, "alwaysdetectneverenum": [79, 82], "alwayssendchecksum": [37, 79, 82], "ambient": 46, "ambienttemperatur": 46, "amd": 57, "among": [4, 10, 37, 77, 81, 82, 86, 92, 94, 95], "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "analogu": 92, "analys": [78, 92], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "analysis_backlog": [78, 79], "analysis_queu": 92, "analysis_queue_factory_hook": 92, "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "analyz": [78, 94], "and_a_subfold": 3, "android": 95, "anew": 81, "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "anim": [37, 82], "annot": 92, "announc": [13, 30, 56], "annoyingli": 96, "anonym": [4, 30, 33, 48, 56, 83, 95], "anonymousus": [76, 79], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "anotherkei": 40, "anotherorderedhook": 92, "anotherplugin": 96, "ansi": 86, "anyhow": 96, "anymor": [3, 9, 55, 90, 92], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "anywai": 14, "anywher": 2, "apach": [37, 82], "apart": [78, 90], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "api_endpoint": 92, "api_kei": 23, "api_password": 33, "api_us": 33, "apiconfig": [79, 82], "apikei": [0, 2, 4, 11, 13, 57, 58, 62, 70, 76, 83, 92], "apikey1": 62, "apikey2": 62, "apius": [76, 79], "app": [4, 23, 33, 37, 42, 62, 79, 82, 83, 97], "app_id": 23, "app_token": 23, "appar": 55, "appdata": [37, 39, 51, 52, 54, 55, 84, 89], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "appearanceconfig": [79, 82], "appearanceviewmodel": 97, "append": [9, 36, 37, 57, 83, 90, 92, 95], "append_valu": 36, "appkei": [23, 82, 95], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "appropri": 95, "approxim": [2, 48], "apt": 42, "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "arbitrari": [5, 47, 60, 80, 92, 95], "architectur": 57, "archiv": [32, 33, 54, 90], "area": [2, 10, 46, 78], "aren": [51, 52], "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 83, 84, 85, 86, 88, 90, 92, 95], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "around": [33, 37, 51, 81, 82, 90, 95], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "articl": 90, "artifact": 42, "as_attach": [83, 92], "as_dict": 76, "ascend": 80, "ascii": [2, 37, 82, 86], "asctim": 39, "asdict": [76, 79, 80], "ask": [23, 82], "aspect": [48, 82], "assembl": 62, "assert": [95, 96], "assertionerror": 86, "asset": [37, 62, 82, 90, 94, 95], "asset_plugin": 95, "asset_url": 62, "assetplugin": [90, 93], "assign": [0, 2, 4, 33, 48, 57, 61, 92], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "ast": 80, "async": [15, 37, 83, 92], "async_": [79, 82], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "asynchttpcli": 83, "at_end": [80, 84], "atcommand": [50, 93], "atom": 22, "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "attachment_nam": 83, "attack": 4, "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 88, 92, 97], "attent": 96, "attr": [77, 90], "attr_author": 80, "attr_check": 80, "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "attr_vers": 80, "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "auth_dialog": 23, "authent": [4, 9, 11, 23, 33, 37, 47, 48, 57, 58, 82, 92, 95], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "autoconnect": [1, 37, 59, 79, 81, 82], "autodetect": [1, 24, 37, 47, 82, 92], "autogener": 25, "autologin": [53, 82], "autologina": [37, 48, 79, 82], "autologinheadsupacknowledg": [79, 82], "autologinloc": [37, 48, 79, 82], "automat": [1, 3, 9, 23, 24, 33, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "autoreport": [37, 82], "autoreport_po": [46, 79, 82], "autoreport_sd_statu": 46, "autoreport_sdstatu": [79, 82], "autoreport_temp": [37, 46, 79, 82], "autouppercaseblacklist": [37, 79, 82], "avahi": 25, "avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "averag": [2, 37, 82], "averageprinttim": 2, "avoid": [33, 42, 48, 92, 96], "awai": [81, 84, 87], "awar": [83, 87, 92], "awesom": [23, 90, 92, 95], "awesometempl": 92, "awk": 48, "ax": [9, 10, 51, 66, 81], "axi": [9, 10, 11, 51, 66, 78, 81], "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "babel": 90, "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "backend": [9, 83, 90, 92, 95], "background": [3, 11, 90, 96], "backslash": 40, "backup": [30, 39, 48, 56, 79, 84, 93, 96], "backupcount": 39, "backupexcludetestplugin": 24, "backupplugin": 24, "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "band": 82, "bandwidth": [3, 83], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "base64": [17, 74], "basedir": [77, 84], "basedon": [10, 67], "basefold": [78, 80, 95], "basemodel": [79, 82], "basenam": [83, 92], "baseurl": [37, 57, 58, 62, 70], "bash": 42, "basic": [3, 4, 11, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "bat": 96, "batch": 82, "baud": [37, 47, 82], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "baudratedetectionpaus": [79, 82], "baudrateopt": 13, "baudrateprefer": [1, 81], "bclpr": [37, 82], "bcml": 3, "bearer": 4, "becam": [55, 86], "becaus": [37, 40, 62, 82, 83, 95], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "bedformfactor": [79, 81], "bedlevelvisu": 32, "bedorigin": [79, 81], "bedz": [79, 82], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "before_backup": 93, "before_backup_hook": 24, "before_import": 80, "before_load": 80, "before_request": [83, 93], "before_request_handlers_hook": 92, "before_restor": 93, "before_restore_hook": 24, "beforeprinterdisconnect": [52, 79, 82], "beforeprintpaus": [79, 82], "beforeprintresum": [37, 52], "beforeprintstart": [37, 52, 79, 82, 92], "beforetoolchang": [52, 79, 82], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "behalf": [23, 92], "behav": [95, 96], "behavior": 46, "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 82, 90, 92, 95, 96], "behind": [36, 37, 82, 90, 92], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "belong": [23, 33, 85, 90, 95], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "benchi": 48, "beneath": [92, 95], "benefit": 48, "besid": [9, 89, 90], "best": [24, 81, 90, 92, 96], "beta": [13, 89], "better": [34, 37, 40, 90], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "big": [41, 95], "bigger": 90, "biggest": 96, "bin": [42, 54, 55, 89, 90, 96], "binari": [37, 42, 57, 82, 90, 95, 96], "bind": [37, 82, 90, 95, 97], "bit": [33, 37, 40, 48, 90, 96], "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_password": 33, "bitbucket_us": 33, "bitrat": [37, 79, 82], "black": [10, 13, 42], "blacklist": [17, 37, 79, 80, 82, 86], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "blame": 42, "bleed": [33, 41], "blindli": [83, 95, 96], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "blockedcommand": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "blown": [23, 51, 52, 82], "blue": [10, 37, 79, 82], "blueprint": [57, 83, 92, 95], "blueprintplugin": [57, 92, 93], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "body_method": [79, 83], "bodys": 93, "bodysize_hook": 92, "bodysizeplugin": 92, "boil": 95, "bold": 95, "bom": 86, "bonjour": 25, "book": 96, "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "border": 90, "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "bottom": [51, 82, 86], "bottom_layer_spe": 14, "bottom_thick": 14, "bound": [2, 10, 78, 81, 90, 95, 97], "boundari": [3, 81], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "bracket": 40, "branch": [11, 33, 43, 45, 54, 56, 89, 95], "break": [40, 41, 45, 48, 95], "brew": 42, "brim_line_count": 14, "broader": 17, "broken": 46, "brokenm29": 46, "brows": [25, 42, 91], "browse_result": 91, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "browsing_en": 91, "btn": [51, 82, 90], "btw": 96, "bu": [92, 94, 95], "buffer": [46, 83], "buffer_s": 86, "bug": [4, 9, 26, 41, 42, 45, 54, 55], "bug_report": 90, "bugbear": 42, "bugfix": 41, "buggi": [37, 82], "build": [37, 43, 52, 78, 90, 97], "build_don": [79, 83], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "bulk_opt": [77, 79], "bunch": [87, 90, 94, 95], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "bundled_str": 80, "buon": 92, "busi": [3, 37, 46, 82], "bust": 82, "busy_protocol": [37, 79, 82], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 97], "bypass": 48, "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "bytesio": 83, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "c3": 3, "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "cache_ttl": 33, "cachebust": [79, 82], "calcul": [2, 37, 82, 83, 86, 95, 96], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "call_plugin": [79, 80], "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "callback_arg": 85, "callback_kwarg": 85, "calle": 85, "caller": [86, 92], "camel_cas": 92, "camera": [92, 95], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "can_modify_fil": [79, 81], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "cancel_fanspe": 52, "cancel_posit": 52, "cancel_print": [79, 81], "cancel_sd": 46, "cancel_sl": [79, 85, 95], "cancel_temperatur": 52, "candid": [26, 29, 33, 34, 92], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "cannotstartserverexcept": [79, 83], "canon": [57, 86], "canonic": [78, 79], "cansnapshot": [79, 82], "cap": 11, "capability_report": 93, "capabl": [37, 46, 79, 82, 93], "capit": 52, "capitan": 42, "captur": [37, 47, 82, 93], "capture_post_hook": 92, "capture_pre_hook": 92, "capturedon": 47, "capturefail": 47, "capturepostrol": [37, 79, 82], "capturestart": 47, "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "carri": 47, "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "caseinsensitiveset": [79, 84, 86], "catch": 81, "categori": 92, "caught": [47, 80], "caus": [4, 26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "caution": [37, 48, 82], "ccm": 81, "cd": [42, 90], "celsiu": [52, 81], "center": [3, 10, 79, 81, 85, 95], "center_i": 51, "center_x": 51, "central": [48, 80], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "certainli": [48, 90], "certif": [82, 83], "cfg": 90, "chamber": [5, 10, 46, 66, 81], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "change_tool": [79, 81], "changeabl": 2, "changelog": [13, 82], "changepassword": [62, 73], "channel": [22, 26, 33, 41, 89], "channel_ord": 22, "chapter": 96, "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "charset": [4, 83], "chart": 47, "chartmark": 47, "cheat": 96, "cheatsheet": 4, "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "check_access": [17, 74], "check_config": [88, 93], "check_lastmodifi": [79, 83], "check_origin": 83, "check_overlay_ttl": 33, "check_overlay_url": 33, "check_typ": [17, 74], "check_writ": 84, "check_writable_dir": 17, "checkbasefold": [79, 84], "checkbasicauthenticationpassword": [37, 79, 82], "checkbox": 4, "checkdecis": 23, "checked_cal": [79, 86], "checker": [33, 94], "checklist": 93, "checkout": [33, 42, 90], "checkout_fold": 33, "checksum": [37, 46, 82], "checksum_mismatch": 46, "checksumrequiringcommand": [37, 79, 82], "checktyp": 17, "child": [61, 78, 86], "children": [2, 3, 37, 51, 61, 78, 79, 82], "choic": [21, 39], "choos": 21, "chosen": [6, 40], "chromestatu": [37, 82], "chunk": [79, 83, 86], "ci": 41, "cidr": [17, 37, 82], "circular": [10, 79, 81, 97], "circumst": [4, 24, 92], "circumv": 87, "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "classes_cont": 95, "classes_link": 95, "classes_wrapp": 95, "classic": 82, "classicwebcam": 95, "classmethod": [81, 83, 95], "claus": 24, "clean": [42, 86, 88, 95], "clean_ansi": [79, 86], "clean_on_startup": [37, 79, 82], "cleanedprinttim": 92, "cleaner": 90, "cleanli": 95, "cleantmpafterdai": [37, 79, 82], "cleanup": 83, "clear": [20, 49, 90, 92], "clearer": 40, "cli": [24, 38, 56, 79, 93], "cli_commands_hook": 92, "cli_group": 92, "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "client1": 62, "client2": 62, "client_error": 17, "clientauth": 47, "clientclass": 57, "clientclos": 47, "clientj": 95, "clientopen": 47, "clitest_command": 92, "clockwis": [37, 82], "clone": [42, 90], "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "close_exec": 86, "close_fd": [79, 86], "closed_with_error": 81, "closedorerror": [2, 9, 81], "closemodalswithclick": [79, 82], "closer": 51, "cloud": 95, "cloudflar": 82, "clumsi": 6, "cmd": [42, 88, 92], "cmd_name": 77, "cmd_type": [88, 92], "cm\u00b3": [2, 78], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "code_or_except": 95, "codeactionsonsav": 42, "codec": [37, 82], "collect": [10, 40, 77, 90, 95, 96, 97], "colon": 40, "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "colorenum": [79, 82], "coloricon": [79, 82], "colortranspar": [37, 79, 82], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "combin": [24, 48, 83, 92, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "comm": [49, 50, 88, 93], "comm_error_handler_test": 92, "comm_inst": [88, 92], "comma": [9, 66], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "command1": 95, "command2": 95, "command_lin": 33, "command_phas": 92, "commandbuff": 46, "commandlin": [42, 56, 79], "commandlinecal": [79, 86], "commandlineerror": [79, 86], "commandsconfig": [79, 82], "commandsuppress": 47, "comment": [40, 49, 92], "commentstripp": 92, "commerror": 34, "commit": [33, 41, 42, 45], "commitish": 33, "common": [5, 40, 48, 52, 56, 80, 91, 93], "commonli": 86, "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "communicationbusi": [37, 79, 82], "compact": 90, "compar": [33, 83, 86, 92, 96], "comparison": 33, "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "compatibility_entri": 86, "compatibility_ignored_list": 80, "compens": [37, 82], "compil": [37, 81, 82, 90], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "complex": [40, 51, 90], "complianc": 26, "complic": [21, 90], "compon": [9, 13, 33, 37, 39, 42, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "comprehens": 96, "comprehensive_json": 86, "compress": [83, 86], "compromis": 48, "comput": [83, 97], "computation": 92, "compute_etag": [79, 83], "concaten": [77, 78, 80, 97], "concept": [45, 56, 84, 93], "concern": [37, 45], "concurr": [57, 86], "condit": [46, 86], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "config_hash": [11, 79, 84], "config_version_kei": 95, "config_yaml": [79, 84], "configfil": [77, 84], "configur": [1, 2, 4, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "configured_slic": [79, 85], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "confirmation_prompt": 77, "conflict": [0, 3, 6, 9, 10], "confus": [4, 40, 90, 96], "congratul": 90, "conjunct": 95, "conn": 83, "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "connection_str": 81, "connection_timeout": 92, "connectionviewmodel": 97, "connectivitychang": 47, "connectivitycheck": [80, 94], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "consequ": [9, 47], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "console_log": 92, "const": 70, "construct": [4, 25, 78, 80, 84, 92, 95, 97], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "consum": [37, 56, 92], "consumpt": [11, 14, 89], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "containerconfig": [79, 82], "containerformat": 82, "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "content_typ": [78, 79, 83, 92], "content_type_blacklist": 17, "content_type_whitelist": 17, "contenttyp": 57, "contenttypedetector": [78, 79], "contenttypemap": [78, 79], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "contextmanag": 81, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "contract": [45, 92], "contrari": [50, 57], "contribut": [4, 43], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "controlviewmodel": [51, 82, 97], "convei": [37, 82], "conveni": [23, 80, 84, 90], "convent": 90, "convers": [80, 84, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "conveyor": 47, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "cookiecutt": [89, 90], "cookiesconfig": [79, 82], "cool": [10, 47, 51], "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "copy_fil": [78, 79], "copy_fold": [78, 79], "cor": [4, 83, 92], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "corner": [32, 33, 81, 90], "coroutin": 83, "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "correctli": [33, 37, 48, 52, 55, 82], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 83, 86, 92, 95, 96], "correspondingli": 87, "corruptuserstorag": [76, 79], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "corssupportmixin": [79, 83, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "couldnotdeleteprofil": 85, "couldnotoverwriteerror": [79, 81], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "countdown": 33, "counter": [37, 82, 86], "counterpart": 83, "coupl": [37, 41, 70, 90], "cours": [90, 92, 95], "cover": 66, "cp": 48, "cpu": 95, "creat": [4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "create_backup_help": 24, "create_estimator_factori": 92, "create_plugin_setup_paramet": 90, "createcustomexcept": [57, 62], "createfold": [61, 62], "createrejecteddef": [57, 62], "creation": [3, 16, 17, 24, 49, 61, 83, 85], "credenti": [0, 4, 23, 58, 83, 95], "crf": 83, "criteria": [74, 92], "critic": [37, 47, 79, 82], "cronjob": 24, "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "csrf_exempt": 95, "csrf_token": 4, "csrf_token_p": 4, "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "css": [37, 42, 79, 82, 92, 93, 95], "ctrl": 42, "ctx": [77, 83, 92], "culprit": 55, "cura": [3, 13, 14], "curaengin": 90, "curalegaci": [13, 14, 37], "curios": 90, "curl": 42, "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "current_max_body_s": 92, "current_o": 86, "current_ord": 92, "current_rul": 92, "current_vers": 33, "currenturl": 90, "currentus": 4, "currentz": [11, 81], "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "custom_action_command": 92, "custom_action_handl": 92, "custom_add_entri": 92, "custom_add_ord": 92, "custom_append": 92, "custom_atcommand_handl": 92, "custom_bind": [90, 95], "custom_box": [10, 81], "custom_cli_command": 92, "custom_command": 50, "custom_gcode_analysis_queu": 92, "custom_keyvalid": 92, "custom_prepend": 92, "custom_template_consum": 92, "custom_template_consumer_awesometempl": 92, "custom_template_provid": 92, "custom_template_provider_set": 92, "customactioncommandplugin": 92, "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "customis": 48, "customiz": 80, "customprinttimeestim": 92, "customtemplatetypeconsum": 92, "customtemplatetypeprovid": 92, "cut": [52, 82, 83], "cutoff": [79, 82], "cwd": 42, "cycl": [27, 28, 47, 52], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "daemon": [77, 86, 92], "daemon_opt": [77, 79], "dai": [37, 82], "danc": 51, "danger": [2, 37, 51, 82, 92], "darwin": 86, "dash": 40, "dat": 57, "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "data_bind": 95, "data_fold": 95, "data_receiv": [79, 83], "databas": 83, "datapoint": 9, "datatyp": 57, "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 81, 83, 85, 90, 95, 96, 97], "datetim": [83, 86, 95], "dd": 86, "de": [7, 87, 90], "deactiv": [0, 4], "dead": [37, 82], "deauthent": 92, "debian": 42, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "debugg": 42, "decid": [81, 89, 90, 95], "decim": 86, "decis": [82, 95, 96], "declar": [33, 77, 80, 87, 91, 92, 95, 97], "decod": [4, 17, 78, 86, 92], "decoded_lin": 92, "decompress": 86, "decor": [77, 83, 86, 95], "decreas": [37, 70, 82], "decreaser": [62, 70], "dedic": [6, 23, 48], "deem": 39, "deep": 86, "deep_check_writ": 84, "deeper": [81, 90], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "defatul": 78, "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "default_addit": 95, "default_factori": 86, "default_filenam": 83, "default_group": [2, 92], "default_max_body_s": 83, "default_set": [79, 84], "default_slic": [79, 85], "default_template_filt": 95, "default_timeout": 83, "defaultextrusionlength": [10, 81], "defaultinterpreterpath": 42, "defaultlanguag": [37, 79, 82], "defaultordereddict": [79, 86], "defaultprofil": [37, 79, 82], "defaultreauthenticationtimeout": [37, 79, 82], "defaultslic": [37, 79, 82], "defaultwebcam": [79, 82], "defer": 57, "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "deflat": 83, "degc": 81, "degre": 52, "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "delete_backup_help": 24, "delete_cooki": [79, 83], "delete_profil": [79, 85], "deleteapikei": [79, 84], "deletelog": 31, "deleteprofileforslic": [62, 69], "deleteunrend": [62, 72], "delimit": 86, "delimitercaptur": [79, 86], "deliv": [92, 95], "deliveri": [83, 92], "delta": 90, "demand": [95, 97], "demonstr": [92, 95], "deni": [4, 23, 48], "denot": 92, "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "dependency_link": [32, 90], "depict": 95, "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 82, 83, 84, 86, 92, 97], "deprecatedendpointhandl": [79, 83, 92], "depth": [2, 10, 51, 61, 78, 81, 96], "deriv": [78, 83, 85, 86, 97], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 83, 85, 88, 90, 92, 95, 96], "deseri": [79, 86], "design": [52, 90], "desir": [37, 42, 49, 92], "desktop": [90, 95], "dest_loc": 11, "dest_path": [11, 85], "destin": [3, 11, 56, 61, 79, 85, 95], "destination_extens": 95, "destination_loc": 95, "destination_nam": 47, "destination_path": [47, 95], "destination_typ": 47, "detach": 83, "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "detect_baudr": 81, "detect_machine_typ": 92, "detect_seri": 81, "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "detector": [78, 79], "determin": [11, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "deutsch": 7, "dev": [1, 37, 41, 42, 56, 79, 84, 90], "dev114": 41, "dev12": 41, "dev123": 41, "dev3": 41, "dev68": 45, "devel": [33, 37, 41, 42, 79, 82, 90], "develcacheconfig": [79, 82], "develconfig": [79, 82], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "develwebassetsconfig": [79, 82], "deviat": 37, "devic": [14, 25, 37, 48, 95], "diagnos": 54, "diagram": 93, "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "diamet": [3, 10, 52, 78, 81], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 85, 86, 90, 92, 95], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "didn": [4, 15, 44, 80], "diff": 86, "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "difficult": 92, "dilig": 96, "dimens": [2, 78], "dir": [17, 37], "direct": [3, 4, 10, 23, 51, 82, 86], "direct_passthrough": 83, "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "dirti": 45, "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "disable_b": [52, 82], "disable_color": 77, "disable_hotend": [37, 52, 82], "disable_plugin": [79, 80], "disablesdprintingdetect": [79, 82], "disabling_discourag": [79, 80], "disallow": [17, 83], "disappoint": 95, "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "disconnectonerror": [37, 79, 82], "discourag": [48, 80], "discov": [25, 80, 90], "discover": 90, "discoveri": [30, 39, 56, 88, 91], "discoveryplugin": 91, "discuss": 96, "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "diskfilewrapp": [78, 79], "diskspac": [37, 79, 82], "diskspaceconfig": [79, 82], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "display": [7, 82, 85], "display_limit": 22, "display_nam": 85, "display_vers": [11, 95], "displaynam": [14, 33, 79, 82], "displayvers": 33, "disposit": [3, 4, 83], "disrupt": [15, 54], "distanc": [9, 51, 81], "distinct": 96, "distinguish": [9, 37, 92], "distribut": [42, 48, 56, 93], "div": [90, 92, 95], "dive": [78, 90], "divid": [15, 37, 40, 81, 82, 96], "divis": 93, "dn": [17, 25, 37, 82], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "do_slic": [85, 95], "do_something_with_the_passed_lin": 86, "doc": [33, 37, 42, 48, 52, 82, 95], "docstr": 86, "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "doe": [0, 2, 3, 6, 9, 10, 13, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "dom": 90, "domain": [37, 57, 82, 83], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "done": [3, 21, 23, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 83, 86, 90, 92, 95, 96, 97], "dont": 48, "dont_answ": 46, "dosometh": 57, "doubl": [4, 25, 40, 83], "down": [37, 47, 48, 78, 82, 84, 95, 96], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "downloadlog": 31, "downstream": [82, 83], "drag": 82, "drop": [11, 13, 14, 46, 82], "drop_connect": 46, "dropdown": 37, "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "dumb": [37, 82], "dummi": [92, 95], "dummy_mobile_ui": 95, "dummy_mobile_ui_index": 95, "dummymobileuiplugin": 95, "dump": [78, 79, 83, 86], "duplic": [33, 95], "durat": [33, 37, 82], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "dwell": [37, 47, 82], "dynam": [86, 90, 95], "dynamiczipbundlehandl": [79, 83], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "e5": 52, "e55f2f8b01c": 42, "e627": 9, "e628": 9, "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "eager": [77, 95], "earli": 34, "earlier": [6, 37, 42, 77, 82, 88, 90], "easi": [24, 33, 40, 90, 95, 96], "easier": [55, 90], "easiest": [48, 96], "easili": [42, 48, 92], "echo": [37, 46, 82, 92, 95], "echoonm117": 46, "ecosystem": 96, "edg": [33, 41, 46], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "editor": [39, 40, 42, 48, 51, 55], "editorconfig": 90, "educ": 92, "eebd": 42, "eeprom": [46, 51, 82], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "effective_hash": [79, 84], "effective_print": 47, "effective_select": 47, "effective_yaml": [79, 84], "effectiveprint": 3, "effectiveselect": 3, "eg": [46, 95], "ega": 86, "egg": 90, "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "eject": 47, "el": 42, "elaps": [37, 47, 81, 82, 92], "eleg": 89, "element": [51, 57, 61, 78, 90, 95, 97], "elif": 95, "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "elsewher": [50, 80], "email": [11, 13, 14, 33, 90], "emb": [37, 48, 62, 95], "embed": [37, 82, 90, 95], "emerg": [1, 9, 21, 47, 82], "emergency_pars": [46, 79, 82], "emergencycommand": [79, 82], "emit": [52, 93], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "en": [33, 82, 90], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "enable_eeprom": 46, "enable_emergency_send": 21, "enable_per_message_deflate_extens": [79, 83], "enable_plugin": [79, 80], "enable_popup": 20, "enable_sign": 21, "enablecsrfprotect": [79, 82], "enabled_channel": 22, "enabled_plugin": 92, "enabled_str": 80, "enabled_unreleas": 26, "enabledragdropupload": [79, 82], "enableratelimit": [79, 82], "enableshutdownactioncommand": [37, 79, 82], "encapsul": 85, "enclosur": 81, "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "encount": [41, 47, 80, 81, 96], "encrypt": [37, 82], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "endasset": 62, "endfor": [37, 51, 52, 82, 92], "endif": [51, 52, 82], "endless": 48, "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "endswith": 92, "enforc": 95, "enforcereallyuniversalfilenam": [37, 79, 82], "engin": [3, 52, 80, 81, 95], "english": [7, 90], "enhanc": 60, "enjoi": 56, "enqueu": [46, 66, 78, 79, 92], "enrich": 95, "ensur": [42, 48, 54, 55, 77, 78, 80, 81, 83, 86, 90, 92, 95, 96], "ensure_ascii": 83, "ensurepip": 42, "entail": 57, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "entir": [3, 48, 92], "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "entryforpath": [61, 62], "entrypointorigin": 80, "enumer": [2, 9, 82], "env": 90, "environ": [24, 33, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "environbuild": 95, "eol": [92, 96], "epoch": 47, "equal": [80, 95], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "era": 86, "err": 86, "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "error_callback": 80, "error_handler_test": 92, "error_messag": 92, "error_on_path": 84, "errorhandl": 95, "errortrack": 26, "escap": [40, 83, 90], "especi": [26, 40, 90, 95, 96], "essenti": 42, "establish": [11, 17, 37, 81, 82, 92], "estim": [2, 38, 78, 79, 81, 82, 93], "estimatedprinttim": [2, 3, 6, 78, 81], "estimationconfig": [79, 82], "estop": 47, "etag": [33, 83, 95], "etag_gener": 83, "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "eth0": [25, 48], "eval": [51, 82], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "event_bu": 92, "eventhandlerplugin": 93, "eventmanag": [80, 92, 94], "eventnam": 97, "eventobj": 70, "eventsconfig": [79, 82], "eventsubscript": [79, 82], "ever": [29, 35, 37, 48, 81, 82, 95], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "everyon": [48, 90], "everyth": [48, 52, 57, 77, 90, 96], "ex": [42, 96], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "exactli": [86, 95], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "examplebackup": 24, "exampleplugin": 32, "exc": 80, "exce": 83, "exceed": 10, "excel": 40, "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "excerpt": 91, "exchang": [11, 23], "exclud": [9, 24, 37, 42, 66, 80, 82], "exclus": [9, 51, 79, 82], "execut": [5, 17, 33, 37, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "executecommand": [62, 71], "executor": 83, "exemplari": 95, "exempt": 95, "exhaust": [6, 48, 53], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "exit": [24, 33, 36, 37, 92, 96], "expand": [39, 92], "expans": 92, "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "expens": 92, "experi": [95, 96], "experienc": [37, 39, 82], "expir": 83, "expiri": 83, "explain": 40, "explan": [47, 66], "explicit": [95, 96], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "explor": 25, "export": [24, 32, 91], "expos": [15, 24, 33, 48, 91], "express": [37, 39, 51, 81, 82, 86, 92], "ext": [39, 84], "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "extenddoc": 86, "extended_m20": [46, 79, 82], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "extension_tre": [93, 95], "extern": [4, 33, 37, 42, 45, 82, 95], "externalheatupdetect": [37, 79, 82], "extra": [79, 82, 83, 89, 90], "extra_data": 82, "extract": [29, 35, 80, 92, 95], "extrem": 48, "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "extrus": [9, 10, 52, 81, 85], "eyal0": 32, "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "f3000": 51, "f4500": 52, "f5": 42, "f6000": 92, "fa": 95, "fab": 95, "fact": [37, 40, 81, 82, 92], "factor": [9, 10, 11, 66, 81, 86], "factori": [57, 80, 84, 93], "fail": [2, 3, 9, 17, 23, 24, 33, 42, 47, 74, 81, 83, 92, 96, 97], "failur": [2, 3, 17, 37, 47, 80, 92, 95], "failure_callback": 92, "fake": [1, 59, 81, 95], "fake_ack": [1, 79, 81], "fakeack": [1, 59, 62], "fall": [23, 24, 92, 95, 96], "fallback": [4, 47, 80, 83, 86, 95], "fallback_dict": [79, 86], "fallbackhandl": 83, "fals": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "fan": [37, 51, 52, 82, 88, 92], "faq": [9, 47, 56], "far": [37, 48, 52, 53, 82, 83, 90, 95], "fast": [11, 70], "faster": 70, "favor": [90, 97], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "feature_request": 90, "featureconfig": [79, 82], "feed": [9, 22, 32, 52, 81], "feed_rat": [79, 81], "feedback": [51, 81, 97], "feedrat": [9, 47, 52, 66], "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "few": [2, 41, 52, 90, 95], "ffmpeg": [13, 37, 47, 79, 82], "ffmpegcommandlin": [79, 82], "ffmpegpath": 13, "ffmpegthread": [37, 79, 82], "ffmpegthumbnailcommandlin": [79, 82], "ffmpegvideocodec": [37, 79, 82], "fiction": 33, "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "field1": 25, "field2": 25, "fig": [51, 55], "figur": [48, 95], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "filamentchang": 47, "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "file_exist": [78, 79], "file_extension_hook": 92, "file_in_path": [78, 79], "file_manag": 92, "file_object": [78, 92], "file_prefix": 83, "file_preprocessor_hook": 92, "file_suffix": 83, "filead": 47, "filebas": [37, 82], "filebasedgroupmanag": 82, "filebasedusermanag": [37, 82, 92], "filedeselect": 47, "fileinput": 57, "filemanag": [39, 56, 79, 80, 93, 94, 95], "filemov": 47, "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "filepath": [42, 78], "filepo": [2, 6, 81], "fileposit": 47, "fileremov": 47, "files": 46, "files_delet": 3, "files_list": 3, "files_select": 3, "files_upload": 3, "fileselect": 47, "filesviewmodel": 97, "filesystem": [37, 82, 83], "fill": [46, 80, 95], "fill_dens": 3, "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "filter_funct": 86, "filter_non_ascii": [79, 86], "final": [4, 33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "financi": 56, "find": [39, 41, 42, 48, 52, 53, 80, 87, 89, 90, 95, 96], "findus": 92, "fine": [37, 46, 57, 81, 82, 90, 96], "finer": 81, "finish": [3, 5, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "finished_callback": 78, "fire": [33, 47, 92, 95, 97], "firmare_nam": 46, "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "firmware_cap": 92, "firmware_capability_hook": 92, "firmware_capability_report_hook": 92, "firmware_data": 92, "firmware_info_hook": 92, "firmware_nam": [46, 92], "firmware_vers": 92, "firmwaredetect": [37, 79, 82], "firmwareerror": 47, "firmwarenam": 46, "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "first_tri": 3, "firstrun": [19, 37, 79, 82, 95], "firstrun_only_access": [79, 83], "firstrunviewmodel": 97, "fit": [2, 83, 95], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "flag_valu": 77, "flake8": 42, "flake8en": 42, "flask": [9, 56, 79, 91, 92, 95], "flat": 95, "flatten": 86, "fledg": [90, 95, 97], "flip": [37, 82], "fliph": [37, 79, 82], "flipv": [37, 79, 82], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "flood": [11, 96], "flow": [9, 81, 83], "flow_rat": [79, 81], "flowrat": [9, 66], "fluctuat": [37, 82], "flush": 78, "fly": [78, 90, 95], "fmt": 86, "fnmatch": 80, "fnord": 86, "focus": 56, "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "folder_exist": [78, 79], "folder_typ": 80, "foldera": 3, "folderad": 47, "folderconfig": [79, 82], "foldermov": 47, "foldernam": 3, "folderorigin": 80, "folderremov": 47, "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "font": 95, "foo": [24, 83, 86, 92, 95], "foosel": 33, "footer": 42, "footnot": [45, 51, 54, 89, 90], "forbidden": [0, 4, 13, 31], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "force_refresh": 78, "force_reinstal": 33, "force_reload": 80, "forcechecksum": 46, "forced_channel": 22, "forced_compat": [79, 82], "forced_dis": [79, 80], "forced_head": 83, "forcedumbaftermin": [37, 79, 82], "forcedumbfromperc": [37, 79, 82], "forev": 81, "forget": [55, 62, 78, 89, 90, 96], "forgot": 90, "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 42, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "formatonsav": 42, "formatstr": 82, "formatt": [38, 42], "formdata": 57, "former": [8, 47, 65], "formerli": [28, 31], "formfactor": [10, 81], "forthcom": 95, "forum": [42, 56, 96], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "forwardfor": 37, "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "found_fil": 92, "four": [40, 92, 95], "four_thre": [79, 82], "fourth": [80, 92], "fp": [16, 37, 79, 82], "fqcn": 86, "frame": [16, 17, 37, 47, 82, 92, 96], "framer": [37, 82], "framework": [4, 9], "free": [3, 31, 33, 46, 56, 86, 95, 96], "freebsd": 86, "fresh": [23, 37, 82, 83, 90], "freshli": 95, "friendli": 90, "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "from_vers": 33, "fromcurrentdata": 97, "fromhistorydata": 97, "fromtimelapsedata": 97, "front": [37, 82, 96], "frontend": [25, 51, 87, 92, 93, 95, 97], "frozendict": 83, "fssl": 42, "fulfil": 3, "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "full_nam": 90, "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "fun": [51, 93, 96], "func": [83, 95], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "funni": 61, "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "furthermor": 46, "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "fuzzytim": [79, 82], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g0": [47, 92], "g1": [9, 47, 51, 52, 92], "g21": 3, "g28": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "g4": [37, 47, 51, 82], "g46c7a9c": 45, "g90": [3, 37, 51, 52, 82, 92], "g90influencesextrud": [37, 79, 82], "g91": [37, 51, 52, 82, 92], "g92": 52, "galor": 93, "garbag": 92, "gather": 26, "gco": [2, 3, 51, 61], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "gcode_analysi": 82, "gcode_error_hook": 92, "gcode_loc": 47, "gcode_received_hook": 92, "gcode_script_vari": 92, "gcodeanalysi": [2, 3, 37, 79, 82], "gcodeanalysisconfig": [79, 82], "gcodeanalysisqueu": [78, 79, 92, 95], "gcodefilesviewmodel": 97, "gcodescript": [13, 37, 47, 52, 82, 92], "gcodescriptafterprintdonefinish": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptsconfig": [79, 82], "gcodeview": [13, 29, 37], "gcodeviewmodel": 97, "gcodevisu": [13, 37], "gen": 86, "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "generateapikei": [62, 68, 73, 79, 84], "generatekei": 23, "generatingdatahandl": [79, 83], "genuin": 18, "german": [7, 90], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "get_additional_bundle_fil": 92, "get_additional_command": 92, "get_additional_metadata": [78, 79], "get_additional_permiss": 92, "get_api_command": 95, "get_asset": [90, 95], "get_asset_fold": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "get_bom": [79, 86], "get_boolean": [79, 80, 95], "get_class": [79, 86], "get_cli_command": 92, "get_command": [77, 79], "get_compression_opt": 83, "get_connection_opt": [79, 81], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "get_cookie_suffix": [79, 83], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_default_set": 95, "get_exception_str": [79, 86], "get_filtered_implement": [79, 80], "get_flask_user_from_request": [79, 83], "get_float": [79, 80], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "get_help": [24, 79, 80, 91], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_int": [79, 80, 95], "get_lastmodifi": [78, 79], "get_latest": 33, "get_metadata": [78, 79], "get_o": [79, 86], "get_plugin": [79, 80], "get_plugin_data_fold": [24, 79, 80, 94, 95], "get_plugin_info": [79, 80], "get_plugin_logfile_path": [79, 80, 92], "get_preprocessor": 80, "get_profile_path": [79, 85], "get_settings_default": [80, 90, 95], "get_settings_preprocessor": 95, "get_settings_restricted_path": 95, "get_settings_vers": 95, "get_siz": [78, 79], "get_slic": [79, 85], "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profile_path": [79, 85], "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "get_sorting_kei": [79, 80, 92, 95], "get_state_id": [47, 79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_template_config": [90, 92, 95], "get_template_fold": 95, "get_template_var": [90, 95], "get_timelapse_extens": 92, "get_transport": [79, 81], "get_ui_additional_etag": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "get_update_inform": [33, 88, 89], "get_webcam_configur": 95, "get_wizard_detail": [95, 97], "get_wizard_vers": 95, "getadditionalcontrol": [51, 97], "getallkei": 23, "getattr": 86, "getbasefold": [79, 80, 84], "getbaseurl": [57, 62], "getbedst": [62, 66], "getblueprinturl": [57, 62], "getboolean": [79, 80, 84], "getchamberst": [62, 66], "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "getconfig": [62, 72], "getcooki": [4, 57, 62], "getcustomcontrol": [60, 62], "geterrorstr": 92, "getfloat": [79, 80, 84], "getfullst": [62, 66], "gethead": 4, "getint": [79, 80, 84, 91], "getkei": 23, "getlogg": [88, 91, 92], "getpluginset": [62, 68], "getprofileforslic": [62, 69], "getrequesthead": [57, 62], "getsdstat": [62, 66], "getset": [59, 62, 73], "getsimpleapiurl": [57, 62], "getter": [80, 84, 95], "gettext": 92, "gettoolst": [62, 66], "getwithqueri": [57, 62], "gh": 90, "gif": [17, 74, 92], "gina": [7, 90], "giorno": 92, "gist": 33, "gistid": 33, "git": [33, 42, 45, 54, 90, 95], "git_commit": 33, "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90], "github_commit": 33, "github_releas": 33, "github_usernam": 90, "githubusercont": [33, 42], "gitignor": 90, "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "glob": [37, 82, 92], "global": [4, 23, 57, 62, 77, 80, 81, 82, 83, 86, 88, 90, 91, 92, 97], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "globalheadertransform": [79, 83], "gm": [37, 82], "gnu": 56, "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "go_awol": 46, "goal": 96, "goe": [23, 52, 92], "good": [41, 48, 90, 92, 96, 97], "googl": [37, 82], "got": [1, 4, 23, 37, 47, 90, 92, 95], "gotourl": 90, "grace": 95, "graduat": 41, "grant": [23, 47, 48], "granular": [34, 48, 92, 95], "graph": [37, 82], "great": 90, "greater": 80, "green": [10, 37, 79, 82], "greet": [90, 92], "greet_command": 92, "grep": 48, "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "groupfil": [79, 82], "groupmanag": [79, 82], "grow": 93, "growl": [47, 54, 90, 91], "growl_inst": 91, "guarante": [33, 61, 81, 90, 95], "guess": [40, 48, 83, 90], "guest": [4, 48, 97], "guest_group": 92, "guid": [33, 42, 82, 96], "guidelin": 43, "gz": [7, 32, 83], "gzip": 83, "h": 37, "h1": 95, "h3": 92, "h4": 92, "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "had": [49, 50, 90, 95], "hai": 92, "half": [70, 95], "hallo": 90, "hand": [14, 32, 42, 48, 92, 95], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "handle_connect": 93, "handle_error": 92, "handle_gcode_s": 88, "handle_request": [79, 83], "handle_stream": [79, 83], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "handshak": [37, 82, 83], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "happili": 48, "haproxi": [37, 82], "hard": [46, 54], "hardcod": 90, "harder": 48, "has_analysi": [78, 79], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_obsolete_hook": [79, 80], "has_permiss": [79, 83], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hasb": 46, "haschamb": 46, "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "hasn": 95, "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "haven": 90, "he": 49, "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "header_method": 33, "header_nam": 33, "header_prefix": 33, "header_url": 33, "heart": 95, "heartbeat": [79, 82, 83], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "heater": [9, 37, 46, 48, 52, 81, 82], "heatup": [37, 82], "heavi": 97, "heavili": 35, "hei": 92, "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "held": [81, 84], "hello": [20, 24, 37, 86, 92, 93, 95], "hello_m": 95, "hello_world": [90, 95], "hello_y": 95, "hellocommand": [37, 79, 82], "helloworld": [89, 90, 95], "helloworld_navbar": 90, "helloworld_set": 90, "helloworld_tab": 90, "helloworldplugin": 90, "helloworldviewmodel": 90, "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "henceforth": 45, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "hesit": 51, "hex": 46, "hh": 86, "hi": [51, 82, 92], "hiccup": 42, "hidden": [32, 42, 77, 79, 80, 84, 97], "hidden_opt": [77, 79], "hiddenopt": [77, 79], "hide_input": 77, "hierarch": [51, 95], "hierarchi": [47, 57, 80], "high": [2, 14, 22, 37, 49, 78, 82], "high_prior": 78, "high_qual": [3, 14], "higher": [33, 70, 95], "highest": 39, "highli": [48, 89], "highlight": 40, "hint": [33, 90, 95, 96], "histor": 9, "histori": [9, 66, 81, 97], "hit": 9, "hola": 92, "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "homebrew": 42, "homepag": [24, 90], "honest": 92, "hood": 40, "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "hook_matches_hook": [79, 80], "hop": [16, 37, 82], "hope": 95, "hopefulli": 91, "horizont": [37, 51, 79, 82, 90], "horribli": 57, "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "hostfallback": [37, 79, 82], "hosthead": [37, 79, 82], "hostnam": [17, 37, 82, 91], "hotend": [9, 46, 52, 66, 81, 82], "hotfix": 45, "hour": [22, 89, 92], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "href": [78, 90], "html": [4, 37, 42, 44, 82, 90, 92, 95], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "http1connect": 83, "http1connectionparamet": 83, "http1serverconnect": 83, "httpclient": 83, "httperror": 83, "httpheader": 33, "httponli": 83, "httppassword": 25, "httpserver": 83, "httpserverrequest": 83, "httpstatu": 83, "httpusernam": 25, "httputil": 83, "huge": 48, "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "h\u00e4u\u00dfg": 7, "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "icon": [25, 32, 33, 95, 97], "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "idea": [9, 48, 90, 92], "ideal": [40, 47, 48], "ident": [37, 82, 95], "identicalresendscount": 37, "identicalresendscountdown": [79, 82], "identif": 55, "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "idiom": 96, "idl": [13, 37, 79, 82], "idonotexist": 74, "ifram": 90, "iga": 86, "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 83, 86, 90, 92, 95, 96], "ignore_blacklist": 77, "ignore_exist": 78, "ignore_throttl": 33, "ignoredcommand": [37, 79, 82], "ignoredidenticalresend": 37, "ignoreemptyport": [79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "ignoreidenticalresend": [37, 79, 82], "ignoreincompletestartup": [37, 79, 82], "ignorerevsfil": 42, "iknowwhatimdo": 77, "illeg": 40, "ilo": 86, "imag": [17, 37, 47, 74, 82, 95, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "immin": 95, "impact": [37, 82], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "implementat": 23, "impli": 33, "implic": 82, "implicit": [2, 95, 97], "implicitli": [3, 33], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "importantli": 85, "importerror": [86, 88, 96], "imposs": [4, 9, 90], "improperli": 48, "improv": [41, 83], "in_plac": 86, "inact": 52, "incl": [14, 92], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96], "include_bodi": 83, "includecurrenttoolintemp": 46, "includedoc": 86, "includefilenameinopen": 46, "inclus": 97, "incom": [37, 70, 82, 83, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "incomplet": [37, 82, 97], "incomplete_startup": 12, "inconvi": 48, "increas": [39, 41, 45, 70, 86, 92, 95], "increase_bodys": 92, "increaser": [62, 70], "increment": [95, 96], "inde": 18, "indent": [40, 48], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "individu": [0, 16, 37, 39, 42, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "infil": 3, "infinit": 92, "influenc": [37, 82, 92, 95], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "infowarnneverenum": [79, 82], "ing": [33, 96], "inherit": [2, 25, 95, 96], "init": [9, 66, 80, 84], "init_platform": 77, "init_platform_for_cli": [77, 79], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "initialize_implement": 80, "initsd": [62, 66], "inject": [4, 11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "inlin": [46, 51], "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "input_nam": 92, "input_stream": 78, "insecur": [37, 48, 82], "insensit": [23, 33, 83, 86], "insert": [36, 80], "insert_valu": 36, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "insight": [34, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "instanti": [57, 62, 88, 90, 92, 97], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "intact": 57, "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "intent": 92, "interact": [23, 37, 49, 66, 82, 90, 97], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "interfer": [9, 49], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "internet": [33, 47, 48], "interpret": [3, 9, 36, 42, 81, 92], "interv": [16, 24, 34, 37, 46, 79, 82, 86], "introduc": [55, 81], "intuit": 77, "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "invalid_syntax": [79, 80], "invalidapikeyexcept": [79, 83], "invalidargumenterror": [57, 62], "invalidfileloc": 81, "invalidfiletyp": 81, "invalidprofileerror": [79, 81], "invalidtoolreport": 47, "invalidusernam": [76, 79], "invalu": [37, 82], "invers": 77, "invert": [10, 81], "investig": [1, 47], "invit": 90, "invoc": [80, 92], "invok": [78, 80, 86, 92, 95], "involv": [48, 81, 92], "io": [24, 26, 78, 83], "iobas": 78, "ioerror": [85, 95], "iostream": 83, "ip": [17, 25, 33, 37, 47, 48, 82, 83], "ipad": 95, "ipcheck": [37, 79, 82], "ipcheckconfig": [79, 82], "iphon": 95, "ipv4": [48, 82], "ipv6": 48, "irrelev": [80, 92], "is_allowed_fil": [79, 86], "is_api_adminonli": 95, "is_blueprint_csrf_protect": 95, "is_blueprint_protect": 95, "is_cancel": [79, 81], "is_client": 83, "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_flag": 77, "is_hidden_path": 92, "is_lan_address": 17, "is_multipart": [79, 83], "is_null_sess": 83, "is_obsolete_hook": [79, 80], "is_oper": [79, 81], "is_os_compat": [79, 86], "is_paus": [79, 81], "is_plugin_mark": [79, 80], "is_pre_compress": 83, "is_print": [79, 81], "is_readi": [79, 81], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "is_san": 92, "is_slicer_configur": 95, "is_wizard_ignor": 95, "is_wizard_requir": 95, "isfold": 61, "isinst": [86, 92, 96], "isn": [3, 23, 48, 90, 96], "iso": [4, 47], "isol": 48, "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 96], "issuecommand": [57, 62], "italian": 7, "italiano": 7, "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "item_typ": 86, "iter": [6, 52, 78, 83, 92, 93, 95, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "januari": 96, "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "jinja": [52, 90, 92, 95], "jinja2": [51, 52, 62, 90, 92, 95], "jneilliii": 32, "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "job_on_hold": [79, 81], "job_typ": 92, "jog": [9, 62, 66, 79, 81, 92], "join": [24, 78, 83, 95], "join_path": [78, 79, 83], "jpeg": [74, 95], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "js_client": 62, "jsclient": 95, "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "json_encod": 83, "jsondata": 33, "jsonencod": 83, "jsonifi": [91, 92, 95], "jump": 21, "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "k": [86, 92], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "kei": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "kept": [41, 77], "key1": 86, "key2": 86, "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "keyvalid": 93, "keyword": [77, 80, 83, 85, 86, 92, 95], "kib": 90, "kill": [9, 46], "kind": [11, 48, 92, 95, 96], "kindli": 26, "knockout": [90, 95], "knockoutj": 97, "know": [9, 40, 90, 95, 96, 97], "known": [25, 37, 47, 50, 52, 82, 92, 95], "ko": 90, "konnichiwa": 92, "kw": 86, "kwarg": [24, 32, 33, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 95], "l": [82, 86], "l1": 86, "l2": 86, "label": [42, 47, 51, 57, 82, 90], "lack": [3, 9, 11, 42, 52], "lai": [51, 82], "lambda": [80, 86, 92, 95, 96], "lan": [17, 48], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "language_pack": 7, "larg": [9, 37, 82], "larger": [10, 39, 92], "largeresponsehandl": [79, 83, 92], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "last_fanspe": 52, "last_modifi": [78, 79, 84], "last_modified_or_made_dirti": [79, 84], "last_posit": 52, "last_temperatur": 52, "last_upd": 7, "lastlinebuffers": [79, 82], "lastmodifi": [83, 95], "lastn": 46, "lastprinttim": [2, 81], "latenc": 82, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "latest": [24, 33, 42, 49], "latin_1": [37, 82], "latter": [51, 92, 95, 97], "launch": [42, 44, 95], "lax": [37, 79, 82], "layer": [14, 39, 40, 47, 48, 81, 85, 92], "layer_height": 14, "layout": [37, 51, 79, 82], "layoutenum": [79, 82], "lazili": 95, "lcd": [37, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "leaf": 92, "leaf_merg": 86, "learn": [48, 90], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "leav": [33, 37, 82, 86, 90, 95], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "legaci": [13, 14, 77, 90, 96], "legacy_opt": [77, 79], "len": [86, 92], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "lessj": 90, "lesssimplecach": [79, 83], "let": [48, 51, 89, 90, 92, 95], "letter": 97, "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "levelnam": 39, "lfn_write": [46, 79, 82], "lgz0trf8by": 11, "li": [92, 95], "lib": [62, 90], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 95], "libx264": 82, "libyaml": 42, "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "life": [47, 90], "lifecycl": [81, 92, 93], "lifecyclemanag": [80, 92], "light": [23, 40], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "likewis": [80, 85, 87], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "linear": [2, 37, 82], "lineno": 39, "linenumb": [37, 46, 82], "lineprocessorstream": [78, 79, 92, 96], "link": [9, 32, 33, 47, 78, 90, 92, 95], "lint": 42, "linter": 42, "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "list_command": [77, 79], "list_fil": [78, 79], "listallslicersandprofil": [62, 69], "listen": [48, 83, 95], "listforloc": [61, 62], "listlog": 31, "listprofilesforslic": [62, 69], "listrend": [62, 72], "listscript": [79, 84], "listunrend": [62, 72], "liter": [40, 96], "littl": [32, 33, 90, 95], "live": [22, 32, 33, 37, 82, 92, 96], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "load_overlai": [79, 84], "load_profil": [79, 85], "load_user_from_request": 83, "loadabl": 90, "loader": 83, "loadscript": [79, 84], "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "local_filenam": 92, "local_vers": 33, "locale_displai": 7, "locale_english": 7, "localfilestorag": [78, 79], "localhost": [4, 37, 82], "localnetwork": [37, 48, 79, 82], "localpipcommand": [37, 79, 82], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "location_str": 80, "lock": [37, 81, 82], "lodash": 62, "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "log_cal": 86, "log_color": 39, "log_except": [79, 83], "log_lin": [79, 81], "log_stderr": 86, "log_stdout": 86, "logfil": [37, 80, 97], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "logging_config": 77, "logging_prefix": 80, "logic": [32, 51, 80, 82, 83, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "login_requir": 83, "loginfromapikeyrequesthandl": [79, 83], "loginfromauthorizationheaderrequesthandl": [79, 83], "loginst": 97, "loginstateviewmodel": 97, "loginui_them": 92, "loglevel": 39, "logon": [37, 82], "logout": [5, 11, 58, 62, 92], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "logrecord": 39, "logresend": [37, 79, 82], "logsviewmodel": 97, "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "long_str": [79, 80], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "longnam": 46, "longrunningcommand": [37, 79, 82], "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "looks_like_plugin": [79, 80], "lookup": [17, 83], "loop": [86, 92, 95], "loss": 24, "lost": [1, 46, 47, 81], "lot": [33, 37, 40, 57, 82, 92], "low": 82, "lower": [70, 81, 86, 90, 92, 95, 97], "lower_error": 92, "lowerleft": [10, 79, 81], "lowlat": [79, 82], "lru": 78, "ly": 81, "m": [42, 81, 86, 90, 92], "m0": [37, 47, 82], "m1": [37, 47, 82], "m104": [37, 52, 82], "m105": [37, 46, 82, 92], "m105notargetformatstr": 46, "m105targetformatstr": 46, "m106": [9, 37, 51, 52, 88, 92], "m107": [37, 51, 52, 88, 92], "m108": 82, "m109": [3, 46], "m110": [37, 82, 92], "m112": [46, 47, 82], "m114": [47, 51, 52, 82], "m115": [37, 46, 47, 92], "m115_geometry_report": 46, "m115formatstr": 46, "m115reportarea": 46, "m115reportcap": 46, "m117": [37, 46, 47, 51, 82, 92], "m118": [37, 82], "m140": [52, 82], "m18": [9, 52], "m20": [46, 82], "m226": [37, 47, 82], "m23": 46, "m240": 47, "m245": 47, "m25": [37, 82], "m27": [37, 82, 92], "m29": [37, 46, 82], "m300": 47, "m40": 47, "m400": [37, 82], "m410": 82, "m500": 46, "m503": 46, "m600": [37, 47, 82], "m701": 47, "m702": 47, "m80": [47, 92], "m81": 47, "m82": 52, "m83": 52, "m84": 52, "m876": 21, "mac": [43, 51, 54, 89], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "machine_typ": 92, "machinecod": [2, 3, 47, 78, 81, 92], "machinecode_path": 95, "machinecodepath": 97, "machinecom": 92, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "magic": 96, "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "mail": 90, "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "maintain": [45, 95], "mainten": [33, 41, 45, 96], "major": [41, 45], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "make_api_error": [79, 83], "make_respons": [92, 95], "make_text_respons": [79, 83], "malform": 15, "malici": 49, "malwar": 48, "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "mandat": 45, "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "mani": [34, 37, 46, 66, 81, 82, 92], "manifest": 90, "manipul": [36, 49, 92], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "mark_plugin": [79, 80], "markdown": 96, "marlin": 46, "mask": 48, "master": [32, 33, 41, 42, 54, 90, 95], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "materi": 81, "math": 57, "matter": [40, 93, 96], "max": [37, 51, 79, 80, 82, 83], "max_ag": 83, "max_body_s": 83, "max_cookie_s": 83, "max_default_body_s": 83, "max_i": 10, "max_x": 10, "max_z": 10, "maxbyt": 39, "maxcommunicationtimeout": [13, 37, 79, 82], "maxconsecutiveresend": [79, 82], "maxextrud": [37, 79, 82], "maxi": [2, 78], "maxim": [11, 70], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "maxnotsdprint": [79, 82], "maxsiz": [37, 79, 82, 86], "maxtimeoutsidl": 13, "maxtimeoutslong": 13, "maxtimeoutsprint": 13, "maxwritepass": [37, 79, 82], "maxx": [2, 78], "maxz": [2, 78], "mb": [33, 39], "md": [89, 90], "md5": 2, "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "meaning": 4, "meantim": 33, "measur": [48, 70], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "media": [3, 90], "medium": 14, "medium_qu": 14, "memori": [37, 82, 83], "mention": [37, 49, 52, 88, 90, 96], "menu": [15, 37, 55, 82, 89, 90, 92], "mere": [48, 92], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "mess": 96, "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "message_on_connect": 92, "met": [51, 82, 83, 95], "meta": [7, 41, 80, 85, 95], "metadata": [3, 47, 77, 78, 80, 87, 88, 90, 92], "metadataanalysisfinish": 47, "metadataanalysisstart": 47, "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "method_nam": 95, "metric": 34, "mi": 46, "microsoft": 25, "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "migrat": [24, 41, 56, 84, 93, 95], "millimet": 81, "mime": 83, "mime_type_guess": 83, "mimetyp": [74, 83], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "min_i": 10, "min_x": 10, "min_z": 10, "mind": [40, 78, 90, 92], "mindelai": 16, "mini": [2, 78], "minif": [37, 82], "minifi": [37, 79, 82], "minify_plugin": [37, 79, 82], "minim": [78, 83, 86, 95], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "minimum_free_storag": 33, "minor": 45, "mintemp": 9, "minut": [22, 33, 37, 82], "minx": [2, 78], "minz": [2, 78], "mirror": 92, "misc": 46, "misconfigur": 47, "mismatch": [0, 4, 46], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "missing_fil": 17, "missing_lineno": 46, "mistaken": 40, "mitig": 4, "mix": [2, 37, 82, 95], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "mixtur": [2, 37, 82], "mjpeg": 82, "mjpg": [37, 82], "mm": [2, 3, 9, 10, 66, 78, 81, 86], "mobil": [37, 90, 95], "mobilesizethreshold": [13, 29, 37], "mod": 86, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 90, 95], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 85, 90, 92, 95, 97], "model_path": 95, "modelpath": 97, "modelsizedetect": [37, 79, 82], "modern": 90, "modif": [47, 78, 81, 84, 85, 95], "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "modulenotfounderror": 44, "moduleorigin": 80, "modulesdkpath": 42, "moment": [11, 17, 57, 78, 92], "monitor": [9, 92], "monitor_termin": 9, "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "moreov": 62, "morn": 92, "most": [3, 7, 33, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "mostli": [9, 13, 83], "motor": [37, 48, 52, 82], "mount": 37, "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "move_fil": [78, 79], "move_fold": [78, 79], "movement": [9, 78], "movi": [37, 47, 48, 82], "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "movierend": 47, "movierenderdon": 11, "mozilla": 82, "mpeg2video": 37, "msvcv142": 42, "much": [9, 48, 89, 90, 92, 96], "multi": [14, 52, 92], "multi_gcode_test": 92, "multicommand": [77, 92], "multilin": 40, "multipart": [3, 4, 7, 57, 83, 92], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "multipli": [11, 66], "multistream": [78, 79], "multitud": 52, "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "must_exist": 85, "mutual": [9, 51, 82], "mv": 96, "my": [10, 23, 37, 57, 88, 96], "my_collect": 96, "my_custom_ev": 92, "my_custom_reprap": 3, "my_custom_tag": 92, "my_default_profil": 85, "my_error_callback": 80, "my_fil": 95, "my_funny_apikei": 83, "my_host": 80, "my_other_custom_ev": 92, "my_other_fil": 95, "my_overrid": 85, "my_permiss": 92, "my_plugin": 33, "my_port": 80, "my_printer_profil": 1, "my_profil": 10, "my_repo": 33, "my_slic": 85, "my_styl": 95, "my_sub_packag": 96, "my_success_callback": 80, "my_us": 33, "myblueprintplugin": 95, "myclass": 95, "mycommand": 57, "mycustomexcept": 57, "mycustomgcodeanalysisqueu": 92, "mycustomviewmodel": 97, "myecho": 95, "myendpoint": 57, "myfilenam": 57, "mygrowlserv": 47, "myotherclass": 95, "mypassword": [58, 70], "myplugin": [52, 57, 88, 92, 95, 96], "myplugin_about": 95, "myplugin_first_tab": 95, "myplugin_first_tab_jinja2": 95, "myplugin_navbar": 95, "myplugin_othertab": 95, "myplugin_second_tab": 95, "myplugin_second_tab_jinja2": 95, "myplugin_set": 95, "myplugin_sidebar": 95, "myplugin_tab": 95, "myplugin_webcam": 95, "myplugin_wizard": 95, "myplugincli": 57, "myprintersymlink": 37, "myself": 42, "mysettingsplugin": 95, "mysimpleapiplugin": 95, "myusernam": [58, 70], "myvari": [52, 92], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "n0": [37, 82], "n2685": 9, "n2686": 9, "n2687": 9, "n2688": 9, "n2689": 9, "n2690": 9, "n2691": 9, "n2692": 9, "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "name_gener": 83, "namespac": [80, 90], "namesuffix": [37, 79, 82], "nano": 48, "nativ": 82, "natur": [9, 97], "nav": 90, "navbar": [13, 37, 79, 82, 90, 95], "navbartemp": 90, "navig": [33, 37, 82, 90, 95, 97], "navigationviewmodel": [90, 97], "nearest": 45, "neat": 90, "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "necessarili": [52, 81, 92], "necessit": [88, 95], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "needs_rebuild": [79, 83], "needs_restart": [79, 80], "neg": [9, 23, 86], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "net": 90, "netloc": 83, "network": [4, 25, 37, 48, 82], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "never_curr": 33, "neversendchecksum": [79, 82], "new": [1, 3, 5, 7, 8, 9, 11, 13, 14, 16, 22, 23, 24, 32, 33, 34, 37, 39, 41, 42, 45, 47, 48, 52, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "new_flag": 95, "newer": [33, 42, 92], "newli": [24, 42, 48, 80, 89], "newlin": 92, "newplugin": 90, "newurl": 90, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "nginx": [37, 82, 83], "nice": 90, "nicer": 90, "nifti": [37, 82], "nm106": [37, 82], "nm140": 37, "nm84": [37, 82], "no_color": 39, "no_firstrun_access": [79, 83], "no_fram": 47, "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "node": [2, 47, 49, 78, 90], "nois": 46, "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 86, 90, 95], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "nonsens": 92, "nop_upload_to_sd": 92, "nor": [3, 11, 83, 85, 88, 92], "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "nosuchstorag": [78, 79], "notat": [37, 82], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "notic": [32, 90, 95], "notices_ttl": 32, "notif": [22, 30, 33, 37, 55, 56, 82], "notifi": [33, 57, 92, 95], "notify_us": 33, "notifysuppressedcommand": [79, 82], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "nozzl": [10, 29, 46, 52, 81], "nozzlediamet": [10, 81], "npn": 83, "null": [2, 9, 19, 37, 46, 97], "num": 86, "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "numextrud": 46, "o": [24, 37, 43, 46, 82, 86, 92, 95], "obj": 83, "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 83, 84, 85, 86, 90, 92, 94, 95, 97], "object_": 83, "obligatori": [25, 95], "observ": [54, 55, 90, 92], "obsolet": 80, "obtain": [11, 23, 33, 43, 51, 82, 90], "obviou": 92, "obvious": 96, "occas": 52, "occur": [2, 9, 15, 17, 47, 90], "octet": [3, 57, 83], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "octoprint1": 62, "octoprint2": 62, "octoprint_": 90, "octoprint_app": 83, "octoprint_backup_restore_unsupport": 24, "octoprint_daemon": 77, "octoprint_helloworld": 90, "octoprint_logo": 47, "octoprint_setuptool": 90, "octoprint_viewmodel": [90, 97], "octoprintanonymousident": [79, 83], "octoprintcli": [4, 23, 30, 56, 62], "octoprintcontext": [77, 79], "octoprintdevelcommand": [77, 79], "octoprintflaskrequest": [79, 83], "octoprintflaskrespons": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintpermiss": 95, "octoprintplugin": [24, 79, 80, 92, 94, 95], "octoprintplugincommand": [77, 79, 92], "octoprintsessioninterfac": [79, 83], "od": 86, "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "offend": 86, "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "offici": [24, 32, 54, 56, 90, 93, 96], "offlin": [6, 47, 51, 81, 82], "offset": [9, 10, 11, 66, 81], "often": [3, 11, 34, 45, 95], "oh": 92, "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "okafterresend": 46, "okbeforecommandoutput": 46, "okformatstr": 46, "okwithlinenumb": 46, "old": [47, 48, 52, 57, 90, 95, 97], "old_flag": 95, "older": [37, 41, 82, 95], "omg": 9, "on_after_startup": [90, 91, 92, 95], "on_api_command": 95, "on_api_get": [91, 95], "on_cancel": 86, "on_condition_fals": 86, "on_ev": 95, "on_finish": [79, 83, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "on_plugin_pending_uninstal": [79, 80, 87], "on_print_progress": 95, "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "on_reset": 86, "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_load": 95, "on_settings_migr": 95, "on_settings_sav": 95, "on_shutdown": 95, "on_slicing_progress": 95, "on_startup": [80, 90, 92, 95], "on_ui_rend": 95, "on_wizard_finish": [19, 95], "onafterbind": 97, "onaftertabchang": 97, "onafterwizardtabchang": 97, "onallbound": 97, "onbeforebind": [90, 97], "onbeforeprintstart": 97, "onbeforewizardfinish": 97, "onbeforewizardtabchang": 97, "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "ondataupdaterpluginmessag": 97, "ondataupdaterreconnect": 97, "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "oneorderedhook": 92, "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "oneself": 78, "onev": 97, "oneventprintdon": 97, "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "onlinecheckconfig": [79, 82], "onmessag": [62, 70], "onratetoohigh": [62, 70], "onratetoolow": [62, 70], "onserverdisconnect": 97, "onsettingsbeforesav": 97, "onsettingshidden": 97, "onsettingsshown": 97, "onslicingprogress": 97, "onstartup": 97, "onstartupcomplet": 97, "ontabchang": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onusersettingsbeforesav": 97, "onusersettingshidden": 97, "onusersettingsshown": 97, "onwebcamrefresh": 97, "onwebcamvisibilitychang": 97, "onwizarddetail": [95, 97], "onwizardfinish": 97, "onwizardtabchang": 95, "op": 92, "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "open_seri": 81, "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "opposit": 78, "oprint": [54, 55, 89, 90, 96], "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "optionsalloworigin": [79, 83], "orang": [10, 37, 79, 82], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "orderedhook": 92, "ordertest": 92, "ordertestplugin": 92, "org": [9, 17, 32, 33, 34, 37, 42, 54, 56, 74, 82, 90], "organ": [40, 54], "organizeimport": 42, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95], "original_absolute_path": [79, 83], "orward": 80, "oserror": 78, "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "other_kei": 86, "other_valu": 86, "otherparamet": 57, "othervalu": 57, "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "our": [23, 78, 83, 88, 90, 92, 95, 97], "ourselv": 92, "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "outdat": [95, 96], "outgo": 46, "outlin": [48, 95], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "output_timeout": 86, "outright": [4, 33, 54], "outsid": [9, 40, 47, 80, 92, 96], "outskirt": 96, "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "overal": [17, 84], "overcom": 96, "overhead": [78, 92], "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "overlay_kei": [79, 84], "overload": 95, "overrid": [3, 14, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "overview": [94, 95], "overwrit": [78, 81, 83, 90, 92, 95], "overwritten": [10, 14, 70, 78, 85, 86, 90], "owasp": 4, "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "owner": [23, 47], "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "p1": 21, "p500": 51, "pack": [5, 55, 62, 64, 90], "packag": [33, 54, 87, 88, 90, 93, 94, 96], "packed_cli": 62, "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "pai": 96, "pain": 90, "pair": [9, 40, 52, 57, 60, 66, 86, 95], "pane": [46, 95], "panel": [20, 24, 37, 82, 95, 97], "paragraph": 40, "param": [77, 78, 81, 83, 86, 92, 95], "param_decl": 77, "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "parametr": 51, "parametric_command": 37, "paramtyp": 77, "parent": [3, 61, 78, 80, 83, 95], "pariti": 92, "parity_non": 92, "parity_odd": 92, "park": 81, "park_printhead": 81, "pars": [3, 17, 36, 47, 77, 80, 83, 92, 95], "parse_firmware_lin": 92, "parse_vers": 33, "parsed_metadata": [79, 80], "parsed_temp": 92, "parsed_temperatur": 92, "parser": 82, "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "partial": [10, 13, 73, 92], "particular": [9, 81, 95, 97], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "pass_context": 92, "pass_octoprint_ctx": [77, 79, 92], "passiv": [4, 11, 58, 97], "passivelogin": [58, 62, 70], "password": [4, 25, 33, 37, 58, 70, 73, 82, 83, 91], "passwordhash": 76, "past": [2, 17, 23, 37, 47, 82, 96], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "patchjson": [57, 62], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96], "path_filt": 83, "path_in_storag": [78, 79], "path_on_disk": [78, 79], "path_processor": 83, "path_valid": [83, 92], "path_validation_factori": [79, 83, 92], "pathforentri": [61, 62], "pathnam": 39, "pathprefix": 25, "pathsuffix": [37, 79, 82], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "pause_fanspe": 52, "pause_posit": 52, "pause_print": [79, 81], "pause_temperatur": 52, "pausetrigg": [79, 82], "pausingcommand": [37, 79, 82], "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "pbn": [37, 82], "pc": 48, "penalti": 96, "pend": [33, 80, 86, 92], "pending_deprec": [79, 86], "peopl": [52, 90], "pep440": 45, "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "percent": [47, 81], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "perform_upd": 33, "perfprofil": 44, "period": [86, 95], "perman": 83, "permessag": 83, "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "permissionmanag": [79, 82], "permit": 48, "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "person": [0, 2, 33, 94], "pertain": 37, "phase": [80, 88, 93, 96], "phew": 40, "physic": [10, 37, 48, 82], "pi": [33, 48, 90, 96], "pick": [33, 90, 92], "pickl": 83, "pickleerror": 83, "pictur": [37, 82], "pid": 77, "piec": [40, 88], "pin": 46, "ping": 34, "pinnedextrud": 46, "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "pip_arg": 32, "pip_command": 33, "pip_cwd": 33, "pip_force_us": 32, "pisupport": 33, "pitfal": 93, "pkg_resourc": 33, "pla": [37, 82], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "plai": [40, 84], "plain": [17, 57, 83], "plan": [48, 54, 57, 96], "platform": [4, 42, 48, 56, 77, 79, 80, 92, 95], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "plot": 11, "plu": [9, 37, 41, 85, 95, 97], "plug": 87, "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "plugin_": [37, 80, 90, 92, 95], "plugin_a": 95, "plugin_achiev": 82, "plugin_achievements_2": 82, "plugin_action_command_notification_clear": 20, "plugin_action_command_notification_show": 20, "plugin_action_command_prompt": 13, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_announc": [13, 37, 82], "plugin_appkei": [37, 82], "plugin_appkeys_admin": [23, 92], "plugin_appkeys_gr": 23, "plugin_asset": 95, "plugin_author": 90, "plugin_author_email": 90, "plugin_b": 95, "plugin_backup": [37, 82], "plugin_backup_backup_cr": 24, "plugin_bas": 80, "plugin_blacklist": 80, "plugin_c": 95, "plugin_considered_bundl": 80, "plugin_corewizard_acl": [37, 82], "plugin_corewizard_onlinecheck": 82, "plugin_curalegaci": 13, "plugin_custom_template_provider_awesometempl": 92, "plugin_d": 95, "plugin_descript": 90, "plugin_disabled_list": 80, "plugin_entry_point": 80, "plugin_errortrack": [37, 82], "plugin_eventmanag": 82, "plugin_example_my_permiss": 92, "plugin_firmware_check": 37, "plugin_firmware_check_info": 82, "plugin_firmware_check_warn": 82, "plugin_fold": 80, "plugin_gcodeview": [37, 82], "plugin_hash": 11, "plugin_helloworld": 37, "plugin_helloworld_url": 90, "plugin_homepag": 90, "plugin_hook": [79, 80], "plugin_id": 13, "plugin_identifi": 90, "plugin_ignored_packag": 90, "plugin_installurl": 90, "plugin_kei": 80, "plugin_licens": 90, "plugin_lifecycle_manag": 92, "plugin_log": [13, 37, 82], "plugin_logging_plugintimingslog": 82, "plugin_logging_seriallog": 82, "plugin_manag": [77, 79, 80, 92], "plugin_myplugin": 95, "plugin_myplugin_1": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2": 95, "plugin_myplugin_2nd": 95, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "plugin_nam": [13, 54, 90], "plugin_obsolete_hook": 80, "plugin_packag": 90, "plugin_pi_support": [37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "plugin_pluginmanager_disabled_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_install_plugin": 32, "plugin_pluginmanager_uninstall_plugin": 32, "plugin_printer_safety_check": 13, "plugin_requir": 90, "plugin_restart_needing_hook": 80, "plugin_set": [79, 80, 92], "plugin_settings_for_settings_plugin": 92, "plugin_settings_from_settings_plugin": 92, "plugin_softwareupd": [13, 37, 82], "plugin_softwareupdate_upd": 82, "plugin_softwareupdate_update_fail": 33, "plugin_softwareupdate_update_succeed": 33, "plugin_sorting_ord": 80, "plugin_sourc": 90, "plugin_track": [37, 82], "plugin_url": 90, "plugin_valid": 80, "plugin_vers": 90, "plugin_virtual_printer_seri": 46, "plugina": 95, "pluginassetresolv": [79, 83], "pluginb": 95, "pluginblacklist": [37, 79, 82], "pluginblacklistconfig": [79, 82], "pluginc": 95, "plugind": 95, "plugininfo": [79, 80, 94], "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "pluginnam": 95, "pluginname_eventtyp": 47, "pluginsconfig": [79, 82], "pluginset": [47, 79, 80, 92, 94], "pluginsettingsmanag": 95, "plugintim": [79, 82], "png": [17, 47], "po": 81, "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "polici": [26, 34, 80, 88], "poll": [37, 82, 92], "pollwatch": [37, 79, 82], "pop": 41, "popen": 86, "popul": [2, 57, 78, 83, 90, 95], "popup": [20, 81], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "portfallback": [79, 82], "porthead": [79, 82], "portopt": 13, "portprefer": [1, 81], "posautoreport": [79, 82], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "positionlogwait": [79, 82], "positionupd": 47, "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "possibli": [2, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "postfix": [80, 92], "postjson": [57, 62], "postprocess": 92, "postrol": [16, 37, 79, 82], "potenti": [2, 10, 41, 42, 70, 80], "power": [92, 95], "poweroff": 47, "poweron": 47, "pp": [79, 86], "practic": 97, "pragma": 83, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "precaut": 88, "preced": [49, 92], "precondit": 6, "preconfigur": [22, 83, 92], "predefin": [48, 53, 92, 95], "predic": 86, "preemptiv": [37, 79, 82, 95], "preemptive_cach": 92, "preemptivecach": [37, 79, 82, 92], "preemptivecacheconfig": [79, 82], "prefer": [1, 37, 42, 62, 81, 82, 96], "preferred_stylesheet": 95, "prefil": 90, "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "prefixawarejinjaenviron": [79, 83], "prefixfallback": [37, 79, 82], "prefixhead": [37, 79, 82], "prelaunchtask": 42, "preliminari": 95, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "prepare_ok": 46, "preparedok": 46, "prepend": [37, 57, 92], "prependablequeu": [79, 86], "preprocess": [61, 92, 95], "preprocessor": [80, 84, 93, 95], "prereleas": 33, "prerelease_branch": [33, 89], "prerelease_channel": 33, "prerequisit": 42, "presenc": [0, 4, 33, 37, 82, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "preserv": 78, "press": [42, 51, 82, 86], "pretti": [9, 48, 89, 90, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "preview": [29, 41], "previou": [2, 4, 11, 52, 90, 97], "previous": 95, "primari": 90, "primarili": [56, 96], "prime": [29, 52], "primer": [38, 48, 51, 55, 56], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "print_funct": 96, "print_time_estimator_factori": 92, "printabl": [47, 92], "printafterselect": 81, "printcancel": [47, 52], "printcancelconfirm": [37, 79, 82], "printdon": [47, 52], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "printer_data": 92, "printer_factory_hook": 92, "printer_paramet": 82, "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "printer_profile_id": 85, "printer_profile_manag": [85, 92], "printer_safety_check": [13, 34], "printercallback": [79, 81, 92], "printerinst": 92, "printerinterfac": [79, 80, 81, 92, 94], "printerparamet": [79, 82], "printerparametersconfig": [79, 82], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "printerprofilemodifi": 47, "printerprofileprefer": 1, "printerprofilesconfig": [79, 82], "printerprofilesviewmodel": 97, "printerstatechang": 47, "printerstateviewmodel": 97, "printfail": [11, 47], "printhead": [9, 92], "printingarea": [2, 78], "printjob": 34, "printpaus": [47, 52], "printresum": [47, 52], "printstart": [47, 52], "printstartconfirm": [79, 82], "printtim": [2, 6, 37, 79, 81, 82, 92], "printtimeestim": 92, "printtimeestimationconfig": [79, 82], "printtimegeniu": 32, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "prior": [6, 48, 57, 78, 81, 92, 95, 97], "priorit": 78, "prioriti": [22, 37, 78, 82], "privaci": [26, 34, 37, 80, 88], "privacypolici": [79, 80], "privat": 33, "privileg": 42, "pro": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "problemat": 96, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "proceed": [21, 48, 90], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "process_lin": [78, 79, 92, 96], "produc": [11, 21, 83, 86, 90, 95], "product": [37, 80, 82, 92], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "profile_nam": 85, "profile_path": [85, 95], "profilealreadyexist": [79, 85], "profileexcept": [79, 85], "profileid": 69, "profiles_last_modifi": [79, 85], "program": [9, 42, 90], "programm": 90, "programmat": [15, 95], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "progress_report": 95, "progressavail": 47, "progressoutput": 57, "progressplugin": 93, "project": [27, 28, 42, 90, 96], "projectfiledir": 42, "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "prompt_begin": 21, "prompt_button": 21, "prompt_choic": 21, "prompt_end": 21, "prompt_requir": 77, "prompt_show": 21, "prone": 92, "pronterfac": 49, "proper": [57, 90, 93, 95], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "properti": [0, 2, 3, 9, 10, 13, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "protect": [5, 82, 95], "proto": 83, "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "protocol_action_hook": 92, "protocol_atcommandphase_hook": 92, "protocol_gcodephase_hook": 92, "protocol_scripts_hook": 92, "protocol_temperatures_received_hook": 92, "protocol_vers": [46, 92], "prototyp": 57, "proven": 96, "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 42, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "proxi": [37, 82, 83, 92], "pubkei": 37, "public": [25, 33, 48, 56, 90], "publicli": [48, 95], "publicport": 25, "publish": [25, 33, 89, 90, 91, 95], "pull": [42, 96], "pure": [33, 95], "purpos": [4, 37, 80, 90, 92, 95], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 96, 97], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "putjson": [57, 62], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "py2": 96, "py311": 90, "py__": 89, "pybonjour": 91, "pyc": 90, "pycharm": 43, "pyenv": 90, "pyinstrument": 44, "pyinterpreterdirectori": 42, "pylinten": 42, "pypi": [33, 54], "pypi_releas": 33, "pyseri": 92, "pytest": 42, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "python2": 96, "python3": [42, 96], "python37": 96, "python3execut": 96, "python_check": 33, "python_requir": 90, "python_updat": 33, "pythoncompat": [79, 80], "q": 82, "qualifi": [78, 86], "qualiti": [14, 81], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "question": [4, 9, 23, 33, 83, 92], "queu": [81, 92], "queue": [21, 78, 86, 92, 94, 95, 96], "queue_factori": 78, "queueentri": [78, 79], "quick": [82, 90], "quick_test": 14, "quickli": [37, 55, 90, 96], "quirk": 35, "quit": [40, 90, 92, 96], "quo": [11, 14], "quot": [40, 49], "quoted_str": 40, "r": [17, 37, 74, 77, 80, 83, 92], "r0lgodlhaqabaiaaaaaaap": 17, "rais": [78, 80, 81, 83, 84, 85, 86, 95], "ran": 86, "random": [78, 82, 92], "random_greet_command": 92, "randomli": [37, 82], "randrang": 92, "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "rare": 4, "raspberri": [33, 48, 90], "raspi": 47, "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "rateslidingwindows": 70, "rather": [4, 37, 82], "ratio": [2, 46, 82], "ratioenum": [79, 82], "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "rawiobas": 78, "rc": [26, 33, 41], "re": [33, 81, 82, 92, 95], "reach": [17, 51, 56, 92], "reachabl": [17, 25, 48, 74, 92, 95], "react": [24, 54, 80, 87, 90, 92, 95], "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "read_m115_respons": 92, "read_timeout": 92, "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "reader": 22, "readi": [2, 4, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "readlin": 92, "readm": 90, "readonly_group": 92, "real": [11, 46, 83, 86, 92], "realli": [15, 33, 37, 48, 55, 82, 90], "really_univers": 78, "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "reauthent": [11, 37, 82], "reauthrequir": 11, "reboot": 15, "rebuild": 42, "rebuilt": 83, "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "recent": [0, 23, 33, 83, 86, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "reconnect": [1, 32, 62, 70, 93], "reconnect_hook": 93, "reconnect_hooks_hook": 32, "record": [0, 4, 16, 25, 37, 47, 82, 95], "recov": 47, "recover": 92, "recoveri": [4, 55, 82, 92], "rectangular": [10, 79, 81], "recurs": [2, 3, 61, 78, 86, 90], "recursivelyprintnam": 61, "recv": [9, 11, 37, 82], "red": [10, 22, 37, 51, 79, 82, 95], "redefin": [37, 39], "redirect": [17, 30, 82, 83, 95], "redirect_to_tornado": [79, 83], "reduc": [37, 82, 90], "redund": [2, 90], "reenqueu": 78, "reestablish": 97, "ref": [2, 3, 31], "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "referenc": [39, 92], "reflect": [9, 13, 17, 66, 90], "refresh": [3, 9, 42, 66, 82, 89, 97], "refreshsd": [62, 66], "refus": [37, 78, 96], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "regardless": [37, 62, 82, 87, 92, 95, 96], "regener": [5, 11, 37, 82], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "register_callback": [79, 81], "register_custom_ev": [47, 93], "register_custom_events_hook": 92, "register_finish_callback": 78, "register_message_receiv": [79, 80], "registered_slic": [79, 85], "registerplugincompon": [57, 62], "registr": [57, 78, 89, 92, 96], "registri": 57, "regret": 48, "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "regular_express": 82, "regularli": [33, 54], "reinstal": [24, 33, 90], "reject": [23, 37, 57, 82], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "rel_path": 83, "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 42, 45, 48, 56, 66, 93, 96], "release_compar": 33, "releasesd": [62, 66], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "reli": [4, 37, 57, 82, 95, 96], "reload": [80, 87, 90, 95, 97], "reload_plugin": [79, 80], "reload_slic": [79, 85], "reloadneedingplugin": [79, 80, 87, 93], "remain": 90, "rememb": [4, 37, 58, 82, 90, 95, 97], "rememberfilefold": [79, 82], "remind": 55, "remot": [17, 33, 37, 47, 82, 90, 92], "remote_filenam": 92, "remote_ip": 83, "remote_nam": 92, "remote_us": [37, 82], "remote_vers": 33, "remoteaddress": 47, "remoteuserhead": [37, 79, 82], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "remove_handl": [79, 83], "remove_link": [78, 79], "remove_overlai": [79, 80, 84], "remove_path_update_callback": [79, 84], "remove_valu": 36, "removed_head": 83, "removemessag": [62, 70], "renam": [86, 90], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "render_kwarg": 95, "render_templ": 95, "renderunrend": [62, 72], "rendit": [51, 82, 95], "reorder": 37, "repeat": [42, 61], "repeatedli": 86, "repeatedtim": [79, 86], "repeti": [37, 46, 82], "repetierstyleresend": 46, "repetierstyletargettemperatur": 46, "repetiertargettemp": [37, 79, 82], "repetit": 51, "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 84, 86, 90, 92, 95], "repli": [9, 17, 46], "replic": [57, 92], "repo": 33, "repo_nam": 90, "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "repository_ttl": 32, "reprap": [10, 49], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 84, 86, 92, 95], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "reproduc": [46, 55], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "requestforus": 23, "requesthandl": [83, 92], "requestlessexceptionloggingmixin": [79, 83], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "require_configur": 85, "require_credentials_checked_rec": [79, 83], "require_en": 80, "require_exist": 85, "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "required_en": 80, "rerend": [37, 82], "resembl": 90, "resend": [11, 37, 46, 47, 82, 92], "resend_loop": 47, "resend_ratio": 46, "resend_with_timeout": 46, "resendok": [79, 82], "resendratiostart": [79, 82], "resendratiothreshold": [37, 79, 82], "reserv": [33, 41], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "resetapikei": [62, 73], "resetlin": 46, "resettabletim": [79, 86], "reshow": 95, "resid": [37, 80, 87, 92], "resolut": 82, "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "resolve_output_to_path": [79, 83], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "resp": 83, "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "respond": [9, 15, 17, 46, 81, 83], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 81, 82, 83, 85, 92, 95, 96, 97], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "restartneedingplugin": [79, 80, 87, 93], "restor": [24, 48], "restore_unsupport": 24, "restrict": [3, 15, 23, 92, 95], "restricted_access": [79, 83], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "result1": 96, "result2": 96, "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "resume_print": [79, 81], "retract": [9, 16, 37, 52, 66, 81, 82], "retractionzhop": [16, 37, 79, 82], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "returncod": [47, 86], "retval": 92, "reus": [4, 33, 90], "reusabl": 52, "rev": 42, "revers": [9, 37, 77, 78, 82], "reverseproxi": [37, 79, 82], "reverseproxyconfig": [79, 82], "revert": [37, 47, 82], "revis": 42, "revisit": 96, "revoc": 23, "revok": [4, 23], "revokekei": 23, "revokekeyforapp": 23, "rewrit": [37, 82, 83, 92], "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "rewritten": [83, 92], "rfc": [3, 4], "rfc6454": 83, "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "risk": [48, 49], "roadmap": 96, "rock": 41, "role": [2, 48, 76, 84, 92, 95, 97], "roll": [16, 37, 82], "rollov": 39, "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "rotat": [37, 82], "rotate90": [37, 79, 82], "rotatingfilehandl": 39, "roughli": [48, 92, 96], "round": [57, 70, 86, 92, 96], "roundtrip": 11, "rout": [48, 93, 95], "route_hook": 92, "router": 92, "rpi1": 37, "rsa": 37, "rss": 22, "rubi": 42, "rule": [38, 42, 92, 95, 96], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "run_first": 86, "run_serv": [77, 79], "runat": [79, 82], "runatenum": [79, 82], "runawai": 47, "runout": 21, "runtim": [46, 87, 95, 96], "runtimeexcept": 81, "rx": 46, "rxbuffer": 46, "s0": [9, 21, 37, 52, 82, 92], "s220": [3, 46], "s3g": 92, "s_or_u": 86, "sadli": [42, 53, 90, 95, 96, 97], "safari": 25, "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86], "safe_mod": 77, "safemod": [12, 55], "safeti": [13, 28, 34], "sai": [48, 55, 88, 93], "said": [37, 47, 48, 82], "sake": 92, "salt": [48, 79, 82], "salv": 92, "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "same_devic": 95, "samedevic": 14, "samesit": [37, 79, 82, 83], "samesiteenum": [79, 82], "sampl": 62, "sane": [92, 95], "sanit": [78, 79, 86, 92], "saniti": [37, 82, 92], "sanitize_filenam": 78, "sanitize_nam": [78, 79], "sanitize_path": [78, 79], "sanitize_temperatur": 92, "sanity_check_fold": [79, 84], "sanitychecktool": [79, 82], "sarg": 86, "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "save_profil": [79, 85], "save_sess": [79, 83], "save_slicer_profil": [85, 95], "saveconfig": [62, 72], "saveerror": [79, 81], "savepluginset": [62, 68], "savescript": [79, 84], "saveset": [62, 73], "saw": 40, "scalabl": 95, "scale": 95, "scan": 25, "scan_dep": 42, "scari": [37, 48], "scenario": 96, "schema": [56, 79], "scheme": [25, 37, 41, 82, 83], "schemefallback": [37, 79, 82], "schemehead": [37, 79, 82], "scope": [42, 83], "screen": [48, 90, 95], "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "script_nam": 92, "script_typ": [84, 92], "scriptlin": 92, "scriptnam": [47, 92], "scriptsconfig": [79, 82], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "sd_card_upload_hook": 92, "sd_eject": 49, "sd_insert": 49, "sd_status_pol": 92, "sd_updat": 49, "sd_upload_fail": 92, "sd_upload_failur": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_success": 92, "sdalwaysavail": [37, 79, 82], "sdcancelcommand": [79, 82], "sdcard": [2, 3, 11, 47, 61, 81, 92], "sdcardupload": 93, "sdfile": 46, "sdist": 90, "sdk": 42, "sdlowercas": [79, 82], "sdreadi": [2, 9, 81], "sdrelativepath": [37, 79, 82], "sdstatu": [13, 37, 79, 82, 84], "sdstatusautoreport": [79, 82], "sdsupport": [37, 79, 82], "search": 29, "sec": 37, "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "secret": [37, 82], "secretkei": [37, 79, 82], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "section_featur": [13, 37, 82], "section_octoprint": [13, 37, 82], "section_plugin": [13, 37], "section_print": [13, 37, 82], "secur": [4, 26, 37, 48, 79, 82, 83], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "seek": 78, "seekabl": [78, 79], "seem": [6, 37, 42, 82, 90, 96], "seen": [19, 90, 95], "seen_wizard": 95, "seenwizard": [79, 82], "segment": [45, 46], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "select_fil": [79, 81], "select_sd": 46, "selector": [57, 90], "selecttool": [62, 66], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "semant": [33, 45, 52, 90], "semantic_vers": 33, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 92, 95, 97], "send_initial_callback": [79, 81], "send_plugin_messag": [79, 80], "send_printhead_back": 81, "sendauth": [62, 70], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "sendbusi": 46, "sendchecksumwithunknowncommand": [37, 79, 82], "sendgcod": [60, 62], "sendgcodescript": [60, 62], "sendgcodescriptwithparamet": [60, 62], "sendgcodewithparamet": [60, 62], "sendm112onerror": [79, 82], "sendmessag": [62, 70], "sendwait": 46, "sens": [4, 40, 47, 48, 86, 90, 92, 95], "sensit": [40, 51, 82, 95], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "sent_m106": 92, "sentri": 26, "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "sequenc": [77, 92], "sequenti": 86, "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "serial_factory_hook": 92, "serial_obj": 92, "serialcap": [79, 82], "serialconfig": [79, 82], "serialfil": 39, "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "server_bodysize_hook": 92, "server_error": 17, "server_nam": [79, 83], "server_opt": [77, 79], "server_port": [79, 83], "server_rout": 92, "server_route_hook": 92, "serverconfig": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "serverrestartcommand": [37, 79, 82], "servic": [26, 30, 37, 48, 95, 96], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "session_id": 83, "session_refresh_each_request": 83, "sessionmanag": 80, "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "set_additional_metadata": [78, 79], "set_boolean": [79, 80], "set_close_exec": [79, 86], "set_cooki": [79, 83], "set_ctx_obj_opt": [77, 79], "set_default_head": [79, 83], "set_default_profil": [79, 85], "set_extra_head": [79, 83], "set_float": [79, 80], "set_handl": [79, 83], "set_int": [79, 80], "set_job_on_hold": [79, 81], "set_preprocessor": 80, "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "setbasefold": [79, 84], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "setboolean": [79, 80, 84], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "setfloat": [79, 80, 84], "setflowr": [62, 66], "setint": [79, 80, 84], "setpaus": 92, "setter": [80, 81, 84, 95], "setting1": 40, "setting2": 40, "settings_read": 13, "settingscheckupdat": [79, 83], "settingsmanag": 92, "settingsplugin": [13, 90, 92, 93, 94], "settingsupd": [47, 80], "settingsviewmodel": [90, 97], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 96], "setuptool": [42, 89, 90], "sever": [4, 47, 96, 97], "sha": 83, "sha1": 78, "shadow": 86, "shall": 83, "shallow": 86, "share": [4, 10, 46, 77, 81, 86, 94, 95], "sharednozzl": [10, 46, 52, 81, 82], "shed": 40, "sheet": 96, "shell": [37, 42], "shift": [42, 90], "shini": 90, "ship": [37, 54, 55, 82], "short": [47, 83, 95], "shortcut": [57, 74, 83, 90], "shorten": [37, 82], "shorthand": 63, "shot": 16, "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "should_set_cooki": [79, 83], "shouldn": [32, 33, 48, 90], "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "show_bundl": 80, "show_choic": 77, "show_default": 77, "show_en": 80, "show_envvar": 77, "show_loc": 80, "showfahrenheitalso": [79, 82], "showinternalfilenam": [37, 79, 82], "showloadinganim": [37, 79, 82], "shown": [20, 37, 82, 95, 97], "shut": [37, 47, 82, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "shutdownplugin": 93, "sibl": 92, "side": [4, 37, 46, 83, 95], "sidebar": [13, 20, 37, 79, 82, 95, 97], "signal": [11, 21, 23, 49, 92, 95], "signatur": [33, 57, 85, 86, 92], "signifi": [9, 15, 80, 92, 95], "silent": [24, 37, 78, 82, 83, 84], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "similarli": 83, "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "simpleapicommand": [57, 62], "simpleapiget": [57, 62], "simpleapiplugin": [57, 93], "simplecach": 83, "simpli": [37, 42, 48, 52, 95, 96], "simul": [35, 37, 46], "simulated_error": 46, "simulatereset": 46, "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "single_file_plugin": 33, "singleton": [80, 84], "singular": 62, "site": [83, 90], "situat": [9, 81, 92, 96], "six": 96, "sixteen_nin": [79, 82], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "sizethreshold": [13, 29, 37], "skeleton": 90, "skip": [19, 29, 37, 82, 83, 95], "skipuntilthi": 29, "skirt": 14, "skirt_line_count": 14, "slash": 78, "sleep": [9, 46, 86, 92], "sleep_a_bit": 33, "sleep_aft": 46, "sleep_after_next": 46, "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "slicer_nam": 85, "slicerexcept": [79, 85], "slicernotconfigur": [79, 85], "slicerplugin": [85, 93], "slicing_en": [79, 85], "slicing_manag": 92, "slicingcancel": [47, 79, 85, 95], "slicingconfig": [79, 82], "slicingdon": 47, "slicingexcept": [79, 85], "slicingfail": 47, "slicingmanag": [79, 80, 85, 92, 94], "slicingplugin": [80, 95], "slicingprofil": [37, 79, 82, 85, 95], "slicingprofilead": 47, "slicingprofiledelet": 47, "slicingprofilemodifi": 47, "slicingprogress": 47, "slicingstart": 47, "slicingviewmodel": 97, "slide": 70, "slider": [51, 79, 82], "slightli": [52, 57, 83], "slot": [46, 86], "slower": 70, "slowli": [41, 70], "small": [17, 42, 52, 92, 95, 96], "smaller": [10, 92], "smoothietemperaturereport": 46, "snappi": 56, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "snapshotdisplai": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "snapshoturl": 13, "snapshotwebcam": [79, 82], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "socket_authed_hook": 92, "socket_emit_hook": 92, "socket_registration_hook": 92, "sockj": [11, 56, 62, 70, 79, 93], "sockjsconnecttimeout": [79, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "solid": [41, 90], "solv": [37, 81, 96], "solver": 1, "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "some_command": 92, "some_custom_hook": 32, "some_depend": 88, "some_div": 97, "some_fil": [78, 95], "some_file_strip": 92, "some_flag": [40, 95], "some_fold": [3, 78], "some_hook": 37, "some_kei": 95, "some_key_unset": 95, "some_method": 95, "some_model": 3, "some_optional_paramet": 95, "some_other_bar": 86, "some_other_custom_hook": 32, "some_other_div": 97, "some_other_fold": 3, "some_other_hook": 37, "some_other_kei": 95, "some_other_key_unset": 95, "some_other_profil": 10, "some_other_set": 37, "some_other_valu": 95, "some_paramet": 95, "some_plugin": [7, 33, 37], "some_profil": 10, "some_set": [37, 40, 95], "some_sub_fold": 78, "some_us": 23, "some_valu": [40, 95], "some_vers": 37, "somedepend": 90, "somefil": 61, "somefunct": 57, "somegist": 33, "someimag": 74, "somekei": 57, "someon": [48, 92], "someotherparamet": 57, "someothervalu": 57, "someotherviewmodel": 97, "someparamet": 57, "somepathstofind": 61, "someplugin": 33, "somerepo": 90, "somesecretkei": 37, "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "sometim": [41, 42, 96], "someus": [11, 33, 37, 90], "somevalu": 57, "somewher": [81, 90], "soon": [8, 65, 90], "sooner": 97, "sophist": [51, 52, 82, 95], "sort": [13, 37, 42, 80, 82, 92, 95], "sort_kei": 83, "sortabl": 80, "sortableplugin": [79, 80, 95], "sortimport": 42, "sorting_context": [80, 92], "sorting_ord": [79, 82], "sound": 48, "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "source_file_typ": 95, "source_loc": [11, 95], "source_nam": 47, "source_path": [11, 47, 85, 95], "source_typ": [32, 47], "space": [3, 31, 33, 37, 40, 82], "span": [40, 83], "sparingli": [22, 81, 88], "spars": [37, 82], "spec": 92, "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "spectrum": 52, "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "speed_i": 51, "speed_x": 51, "speed_z": 51, "spent": 2, "sphinx": 42, "split": [74, 78, 92], "split_path": [78, 79], "split_prefix": [79, 83], "splitext": 92, "spot": 41, "spread": 40, "squash": 90, "squish": 90, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "ss": 86, "ssdp": [25, 91], "ssdp_brows": 91, "sseof": 82, "ssh": [33, 48], "ssl": [17, 37, 82, 83], "ssliostream": 83, "stabil": 2, "stabl": [26, 29, 33, 37, 41, 42, 82], "stable_branch": [33, 89], "stable_channel": 33, "stablethreshold": [37, 79, 82], "stack": [57, 83, 86], "stacklevel": 86, "stackoverflow": [86, 90], "stage": [41, 42], "stai": [6, 40, 51, 92, 96], "stale": [11, 23], "stall": [1, 92], "stamp": 85, "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "standard_opt": [77, 79], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "start_callback": 92, "start_heartbeat": 83, "start_print": [47, 79, 81], "start_sd": 46, "startingdirectori": 42, "startonceinsafemod": [37, 55, 79, 82], "startswith": [80, 86, 92, 95], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "startupplugin": [80, 90, 92, 93], "stat": [9, 11, 48], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "state_detect_seri": 92, "state_error": 92, "state_id": 47, "state_str": 47, "statement": [39, 90, 92, 96], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "static_fold": 95, "staticdatahandl": [79, 83, 92], "staticfilehandl": [83, 92], "staticzipbundlehandl": [79, 83], "statist": [11, 37, 82], "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "statsweighinguntil": [37, 79, 82], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "status_cod": [83, 92], "stderr": 86, "stdout": [33, 39, 86], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "stepper": [48, 52], "stick": 96, "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "stl": [2, 3, 11, 47, 78, 95], "stl_locat": 47, "stock": [92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "storageinterfac": [78, 79], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "stranger": 92, "strategi": [4, 43, 56, 96], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "stream_bodi": 83, "streamed_get": [79, 83], "streamer": [37, 82], "streamhandl": 39, "streamlin": [11, 14], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamurl": 13, "streamwebrtciceserv": [79, 82], "streamwrapp": [78, 79, 92], "strict": [37, 40, 79, 82, 86], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "strip": [3, 78, 86, 92], "strip_all_com": 92, "strip_com": 92, "strong": 15, "strongli": 96, "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stuck": 81, "studio": 43, "stuff": [41, 51, 90], "stun": 82, "style": [37, 42, 46, 48, 51, 82, 93, 95], "styles_cont": 95, "styles_link": 95, "styles_wrapp": 95, "stylesheet": [37, 79, 82, 90, 95], "stylesheetenum": [79, 82], "styliz": 47, "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "subclass": [57, 78, 83, 86, 90, 92, 95], "subcod": 92, "subcommand": 77, "subdirectori": 83, "subfold": [2, 3, 61, 78, 90], "subgroup": [0, 2], "subject": 95, "submit": [4, 89], "subnet": [17, 37, 48, 82], "subscrib": [9, 11, 26, 82], "subscript": [11, 37, 47, 79, 82], "subscriptiontypeenum": [79, 82], "subset": 77, "subsetting21": 40, "subsetting22": 40, "substitut": 42, "substructur": 78, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "subsystem": [24, 80, 88, 89, 94, 95], "subtre": [13, 78, 95], "succe": [14, 70, 85], "succeed": 33, "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 80, 82, 86, 92, 95], "success_callback": 92, "success_or_failure_callback": 92, "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "sudo": [37, 42, 48, 96], "suffic": [11, 52, 92], "suffix": [37, 57, 82, 83, 84, 92, 95], "suggest": 96, "suit": 42, "suitabl": 42, "sum": 96, "summari": [42, 96], "summary_limit": 22, "supersed": 47, "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "support_m503": 46, "support_x3g_machinecod": 92, "supported_stylesheet": 95, "supportedextens": 95, "supportf": 46, "supportfascommand": [37, 79, 82], "supportm112": 46, "supportresendswithoutok": [37, 79, 82], "supportwait": [79, 82], "suppos": [3, 15, 88, 92, 96], "suppress": [37, 47, 81, 82, 92, 95], "suppressapplicationtitl": 42, "suppressedcommand": 47, "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "swallowokafterresend": [37, 79, 82], "swap": 21, "switch": [33, 42, 51, 81, 90, 92, 96, 97], "sy": [39, 86, 96], "symptom": 1, "synchron": 9, "syntax": [40, 51, 52, 80, 82, 90], "system": [0, 2, 3, 5, 10, 11, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "systemconfig": [79, 82], "systeminfo": [82, 93], "systeminfobundlehandl": [79, 83], "systemmenu": [13, 37, 82], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "t": [0, 3, 4, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "t0": [3, 46, 52, 82, 92], "t1": [46, 92], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tab_plugin_helloworld": 90, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2": 95, "tab_plugin_myplugin_2nd": 95, "tabtitl": 42, "tag": [33, 45, 81, 90, 92], "tailor": 34, "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "take_snapshot": 81, "take_webcam_snapshot": 95, "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "talk": [37, 62, 82], "tar": [7, 32], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "target_commitish": 33, "target_vers": 33, "targetextr0": [37, 46, 82], "task": [42, 54, 57, 80, 95], "tb": 83, "tcp": 17, "tcpserver": 83, "te": 77, "team": [7, 33], "tell": [21, 42, 78, 88, 90, 92, 93], "temp": [11, 81], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "temperature_pol": 92, "temperatureautoreport": [79, 82], "temperatureconfig": [79, 82], "temperaturegraph": [37, 79, 82], "temperatureprofil": [79, 82], "temperaturetargetset": [13, 37, 79, 82], "temperatureviewmodel": 97, "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "template_fold": 95, "template_head": 95, "template_kei": 95, "template_rul": 92, "template_sort": 92, "template_typ": 95, "templateplugin": [90, 92, 93], "templatetyp": [93, 95], "templatetype_hook": 92, "temporari": [37, 82, 83, 85], "temporarili": [33, 95, 96], "temporaryprofil": [79, 85], "tempt": 95, "ten": 92, "term": 95, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "terminalfilt": [13, 37, 79, 82], "terminalfilterentri": [79, 82], "terminallogs": [79, 82], "terminalviewmodel": 97, "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "test2": 3, "testballoon": 17, "testexecut": [62, 74], "testpath": [62, 74], "testpictur": 95, "testresolut": [62, 74], "testserv": [62, 74], "testurl": [62, 74], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textstatu": 57, "textual": [2, 6], "tgz": [7, 32], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "thank": [9, 42, 43, 52], "the_end": 40, "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "theme": 93, "themselv": [33, 39, 88, 92, 95, 97], "therefor": [4, 90, 95, 97], "therein": [33, 42, 92, 96], "thereof": 92, "thermal": 47, "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "think": 48, "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "thirdparti": [13, 37, 82], "thoroughli": 96, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "thread": [9, 37, 81, 82, 86, 92], "threadsafesess": [79, 83], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "threshold": [37, 82, 83], "throttl": [11, 33, 34, 46, 62, 81], "throttle_highprio": [37, 79, 82], "throttle_lin": [79, 82], "throttle_normalprio": [37, 79, 82], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "throughout": [81, 90, 92], "throw": [46, 57], "thrown": [81, 84, 85], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "thumb": [40, 96], "thumbnail": 16, "tick": [51, 82], "ticket": 37, "tier": [37, 82], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "timedelta": 86, "timedrotatingfilehandl": 39, "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "timelapse_admin": 16, "timelapse_delet": 16, "timelapse_extension_hook": 92, "timelapse_list": 16, "timelapse_manage_unrend": 16, "timelapse_tmp": [13, 37, 79, 82], "timelapseconfig": [79, 82], "timelapseen": [79, 82], "timelapseopt": [79, 82], "timelapsetmp": 13, "timelapsetypeenum": [79, 82], "timelapseviewmodel": 97, "timelas": 82, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutcommun": 13, "timeoutconnect": 13, "timeoutdetect": 13, "timeoutsdstatu": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "timer": 86, "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "timezon": 83, "titl": [10, 22, 37, 82, 95], "tmp": [37, 82, 83], "tmpzupkro": 83, "tn": 52, "to_byt": [79, 86, 96], "to_entri": 92, "to_list": 92, "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "to_vers": 33, "todo": [83, 90], "togeth": [17, 51, 78, 82, 90], "toggl": 6, "toggle_pause_print": [79, 81], "toggleabl": 2, "togglepaus": [62, 63], "token": [4, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "took": [47, 90], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "tool0": [6, 9, 66, 78, 81], "tool1": [9, 66, 78, 81], "toolchang": 47, "toolx": 78, "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "topic": 96, "tornado": [56, 79, 92], "tornadorouteplugin": 92, "total": [2, 37, 57, 82, 90], "touch": [24, 25, 32, 37, 48, 56, 82, 90], "toward": [4, 81, 96], "trace": [83, 90], "traceback": 86, "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "tracker": 55, "traffic": 92, "trail": [57, 78], "transfer": [47, 92], "transferdon": 47, "transfering_fil": 81, "transferstart": 47, "transform": [92, 95], "transifex": 7, "translat": [7, 55, 79, 82, 90, 95], "transmit": [2, 83, 97], "transpar": [37, 82, 97], "transport": [81, 93], "travel": [2, 9, 78], "travelarea": [2, 78], "traveldimens": [2, 78], "treat": 4, "tree": [2, 13, 42, 61, 92, 95], "tremend": [40, 41, 90], "tri": [57, 58, 70, 80], "trick": [40, 92], "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "trigger_ev": [47, 80, 84], "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "trigger_resend_checksum": 46, "trigger_resend_lineno": 46, "triggerokform29": [37, 79, 82], "trip": 70, "trivial": 57, "troubl": 96, "troublesom": 96, "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "truncat": 78, "trust": [37, 48, 82, 83], "trustbasicauthent": [37, 79, 82], "trusteddownstream": [37, 79, 82], "trustedsubnet": [37, 79, 82], "trustremoteus": [37, 79, 82], "truthi": 61, "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "ttl": [22, 33, 37, 79, 82], "ttyacm0": [1, 37, 84], "tune": 46, "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "turtl": 2, "tutori": [56, 89, 93, 95], "tweak": 37, "twice": [11, 90], "twitter": 37, "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "txt": [17, 24, 25, 90, 95], "txt_record": 25, "typ": 83, "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "typeof": 57, "typeok": 17, "typepath": [2, 3, 78], "typic": 95, "u": [23, 25, 42, 90], "ubuntu": 42, "udp": [17, 74], "ugli": 90, "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "ui_theming_hook": 92, "uiapikei": 95, "uiplugin": 93, "ul": 95, "umlaut": 3, "un": 78, "unauthent": 4, "unauthor": [4, 95], "unavail": 24, "unbind": 90, "uncaught": 83, "unchang": [77, 83], "uncom": 52, "uncommit": 45, "uncompress": 83, "unconfigur": [81, 85], "undefin": [61, 97], "under": [4, 6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "underestim": 48, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "underneath": [86, 90], "understand": [48, 90], "unequ": 33, "unexpect": [52, 90], "unicod": [2, 37, 78, 82, 93], "unicode_liter": 96, "uninstal": [32, 34, 55, 80, 87], "union": 83, "uniqu": [22, 26, 29, 34, 81, 90, 95], "unique_id": [26, 34], "unit": 86, "univers": [37, 82], "unix": [2, 31, 83], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "unknowncommandsneedack": [37, 79, 82], "unknownprofil": [79, 85], "unknownrol": [76, 79], "unknownscriptexcept": 81, "unknownslic": [79, 85], "unknownus": [76, 79], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "unload": [21, 79, 80, 87, 88], "unpack": 54, "unquot": 40, "unrecover": [2, 47], "unregist": [80, 81], "unregister_callback": [79, 81], "unregister_finish_callback": 78, "unregister_message_receiv": [79, 80], "unrel": 95, "unreleas": [26, 29], "unrend": [5, 37, 57, 72, 82], "unresolv": 83, "unsecur": 48, "unselect": [3, 81], "unselect_fil": [79, 81], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "unsolv": 57, "unstructur": 82, "unsupport": [3, 17], "unsupportedoper": 78, "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "unto": [73, 97], "untouch": 92, "unus": [22, 23, 37, 82, 95], "up": [4, 11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "upcom": 96, "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "update_check_overlai": 33, "update_config_hook": 33, "update_fold": 33, "update_script": 33, "updatedfil": 47, "updateplugindemo": 33, "updateprofileforslic": [62, 69], "upgrad": 42, "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "uploadoverwriteconfirm": [79, 82], "uploadsconfig": [79, 82], "uploadstoragefallbackhandl": [79, 83], "upnp": 25, "upnpuuid": 25, "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "upper": [32, 33, 70, 92, 95], "uppercas": [37, 82, 92], "upward": 52, "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "url_for": [62, 92, 95], "urlforwardhandl": 92, "urlproxyhandl": [79, 83, 92], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "usabl": [57, 78, 80], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "use_enum_valu": 82, "usefrozendictforprinterst": [79, 82], "useparityworkaround": [79, 82], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "user_ag": 95, "user_group": 92, "user_id": [23, 83], "user_manag": 92, "user_manager_factory_hook": 92, "user_onli": 95, "user_token": 23, "userag": 95, "useralreadyexist": [76, 79], "userdata": [3, 47, 61], "userfil": [37, 79, 82], "userid": [70, 92], "userloggedin": 47, "userloggedout": 47, "usermanag": [37, 79, 80, 82, 83, 92, 94], "usernam": [0, 4, 23, 25, 33, 47, 58, 70, 76], "userset": [13, 37, 79, 82], "usersettingsviewmodel": 97, "usersviewmodel": 97, "usessl": 25, "usr": 96, "ustyantsev": 29, "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "utc": 83, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "uuid": 25, "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "v3": 56, "v6": 82, "v6_onli": 77, "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "valid_ax": [79, 81], "valid_boolean_tru": [79, 84], "valid_file_typ": [92, 95], "valid_heater_regex": [79, 81], "valid_tool_regex": [79, 81], "validate_local_redirect": [79, 83], "validityrang": [37, 79, 82], "validssl": 17, "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "valuabl": [26, 34], "value1": [25, 40, 86], "value11": 40, "value2": [25, 86], "valueerror": [78, 80, 83, 84, 85, 86], "vanish": 81, "var": [57, 58, 61, 62, 70, 74, 90, 97], "variabl": [9, 24, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "variant": [4, 33, 40, 62, 89, 92], "variou": [5, 25, 33, 34, 35, 37, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "vase": 16, "vcodec": 82, "ve": [90, 96], "vendor": [25, 32], "vendorurl": 25, "venv": [42, 90, 96], "venv2": 96, "venv3": 96, "venv37": 96, "verbos": 77, "veri": [40, 41, 48, 54, 62, 70, 81, 90, 95, 97], "verifi": [24, 83, 89, 95], "versa": 84, "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "versionad": 33, "vertic": [37, 51, 79, 82], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "vice": 84, "video": [16, 17, 37, 82, 95], "videocodec": [37, 82], "view": [51, 83, 84, 86, 90, 92, 95, 97], "viewer": [13, 30, 38, 48, 56, 97], "viewmodel": [56, 93], "viewport": 95, "violet": [37, 79, 82], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "virtual_print": [35, 46, 92], "virtualenv": [42, 90, 96], "virtualsd": [37, 79, 82], "visibl": [40, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "visualstudio": 42, "void": 90, "volum": [2, 3, 6, 10, 51, 52, 78, 81], "vscode": 43, "w": [17, 24, 46, 95], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "wait_for_handshak": 83, "waitforstartonconnect": [37, 79, 82], "waitinterv": 46, "waittoloadsdfilelist": [37, 79, 82], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "warn_about_risky_set": [79, 84], "wasn": 9, "watch": [37, 42, 79, 82, 95], "watcher": 42, "watermark": [37, 79, 82], "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "webasset": [37, 62, 79, 82, 90], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "webcamcompat": [79, 82], "webcamconfig": [79, 82], "webcamen": [79, 82], "webcamnam": 95, "webcamproviderplugin": 93, "webcamsnapshothandl": [79, 83], "webinterfac": [4, 23], "webkitformboundarydec2e3iwbtv1pwmc": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "webkitformboundarypyisux63abamht5c": 83, "webpag": 88, "webrtc": 82, "webserv": [9, 92], "websit": [4, 22, 56, 78, 80, 90], "websocket": 83, "websockethandl": 83, "weight": [23, 37, 82], "weird": 96, "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "welt": 90, "went": [48, 57], "were": [19, 47, 55, 78, 90, 92, 95, 96], "werkzeug": 95, "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "whatev": [88, 92, 95], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "whenev": [33, 48, 55, 95], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "wherev": 55, "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "whichev": 96, "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "whistle_": 3, "whistle_v2": [3, 6], "whistle_v2_copi": 3, "white": 40, "whitelist": [17, 86], "whitespac": 40, "whl": 32, "who": [23, 47, 48, 83, 95], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "whose": [86, 88, 92, 95], "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "wide": [5, 42, 68], "width": [2, 10, 51, 78, 81, 90, 95], "wiki": [37, 49, 54, 90], "wikipedia": 90, "will_handle_ui": 95, "win32": 86, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "winless": 90, "wish": [11, 37, 82, 87, 90, 92], "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 82, 83, 86, 90, 92, 95, 96], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "wizardplugin": [19, 93, 97], "wizardviewmodel": 97, "wlan0": 48, "won": [9, 32, 48, 87, 91, 95], "wonder": 9, "word": [47, 84], "work": [4, 6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "workflow": [4, 30, 62, 95], "workspacefold": 42, "world": [20, 37, 86, 90, 92, 95], "wors": 9, "worst": 92, "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "wouldn": 56, "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "wrapper": [78, 83, 85, 95], "wrench": [32, 33], "writabl": [17, 78, 79], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "writetimeout": 92, "writeup": 89, "written": [37, 80, 82, 83, 96], "wrong": [4, 23, 48, 52, 57, 92], "wrote": 96, "wsgi": [9, 83], "wsgi_app": 83, "wsgi_appl": 83, "wsgicontain": 83, "wsgiinputcontain": [79, 83], "www": [37, 82, 83, 86], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "x0": [51, 52], "x10": [51, 92], "x145": 9, "x147": 9, "x148": 9, "x149": 9, "x2": 51, "x3g": 92, "x64": 42, "x86": 42, "x_max": 81, "x_min": 81, "xcode": 42, "xcodebuild": 42, "xmlhttprequest": [4, 57], "xormedia": 86, "xxlarg": 90, "xyz": 52, "xyze": 52, "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "y0": [51, 52], "y107": 9, "y108": 9, "y112": 9, "y2": 51, "y_max": 81, "y_min": 81, "yai": 40, "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "yamlpatch": 55, "ye": [9, 40, 96], "year": 96, "yellow": [10, 22, 37, 79, 82], "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "yetanotherhook": 92, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "yield": [51, 78, 86, 90], "yml": [4, 90], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "your_plugins_slicing_progress": 95, "youraddressrang": 48, "yourcustomviewmodel": 97, "yourgithubnam": 90, "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "yourusernam": 48, "yte": 86, "yyyi": 86, "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "z0": 92, "z1": 51, "z10": 51, "z_max": 81, "z_min": 81, "zchang": [16, 37, 47, 79, 82], "zero": [15, 86], "zeroconf": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "zip": [7, 24, 32, 33, 54, 90, 93], "zlib": 86}, "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "titleterms": {"": [0, 3, 41, 45, 56, 90], "3": 96, "A": 40, "If": 48, "The": 48, "_http": 25, "_octoprint": 25, "_tcp": 25, "about": [6, 9, 19], "abridg": 2, "absolut": [48, 96], "access": [0, 2, 37, 48, 76, 92], "access_valid": 92, "accesscontrol": 92, "action": [20, 21, 49, 92], "actual": 90, "ad": 90, "add": [0, 10, 14, 90], "addit": 19, "additional_bundle_fil": 92, "additional_command": 92, "additional_exclud": [24, 92], "additional_port_nam": 92, "additional_state_data": 92, "address": 17, "adjust": 90, "after": 89, "after_backup": [24, 92], "after_request": 92, "after_restor": [24, 92], "all": [0, 3, 10, 14, 15], "an": [9, 10, 16, 23, 70], "analysi": [2, 37, 78, 92], "announc": [22, 25], "anonym": 34, "api": [0, 5, 13, 23, 31, 37, 92], "appear": 37, "applic": 23, "ar": 48, "arbitrari": 9, "assetplugin": 95, "atcommand": 92, "auth": [23, 70, 92], "author": [4, 23], "autologin": 48, "autologinconfig": 48, "avail": [31, 47, 48, 92, 95], "backup": [24, 92], "basic": 40, "bed": 9, "before_backup": [24, 92], "before_request": 92, "before_restor": [24, 92], "blueprintplugin": 95, "bodys": 92, "boolean": 40, "branch": 41, "browser": 58, "build": 42, "bundl": [30, 52], "byte": 96, "callback": 97, "capability_report": 92, "capabl": 92, "captur": 92, "chamber": 9, "chang": [0, 16, 39], "check": [27, 28, 33], "check_config": [33, 92], "checklist": 96, "cli": [36, 77, 92], "client": [15, 23, 31, 62], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "comm": 92, "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "commandlin": 86, "common": [2, 33, 96], "commun": [20, 21, 47, 70], "compon": [7, 90], "concept": [87, 92, 95], "config": [16, 37, 48, 82], "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "connect": [1, 11, 59], "contain": 51, "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "context": 52, "control": [0, 2, 9, 37, 48, 51, 60, 88], "core": 80, "creat": 3, "create_backup": 24, "credenti": 33, "cross": 4, "csrf": 4, "css": 90, "current": [4, 6, 9, 11, 13, 16], "custom": [9, 51, 90, 97], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "debug": 46, "decid": 23, "decis": 23, "definit": 15, "delet": [0, 3, 7, 14, 16, 31], "delete_backup": 24, "depend": 97, "destin": 78, "dev": 77, "develop": [37, 42, 43, 54, 93], "diagram": 97, "dialog": [23, 92], "dictionari": 40, "differ": 55, "disabl": 48, "discoveri": 25, "distribut": [89, 90], "divis": 96, "do": 90, "document": 56, "dure": 96, "easi": 48, "edit": 48, "emit": 92, "enabl": 46, "encod": 4, "entri": [19, 23], "environ": [42, 96], "error": [9, 26, 44, 92], "estim": [37, 92], "event": [11, 24, 32, 33, 37, 47, 52, 92], "eventhandlerplugin": 95, "exampl": [20, 21, 25, 40, 47, 51, 52], "except": [33, 85], "execut": [15, 92, 95], "exist": [10, 23], "extens": [48, 92], "extension_tre": 92, "factori": 92, "featur": [37, 53], "fetch": [13, 23], "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "filemanag": [78, 92], "filter": [37, 96], "find": 54, "finish": 19, "firmwar": [20, 21, 28, 92], "first": 33, "flask": 83, "float": 40, "folder": [2, 3, 37], "formatt": 39, "from": [3, 90, 96], "frontend": 90, "full": 9, "fun": 90, "function": 90, "further": [25, 96], "galor": 90, "gather": 48, "gcode": [2, 29, 37, 47, 51, 52, 92], "gener": [4, 87, 92, 95], "get": [0, 1, 96], "global": 33, "go": 90, "group": [0, 2], "grow": 90, "handl": [1, 47], "handle_connect": 92, "handler": 39, "hard": 48, "head": 9, "hello": 90, "helper": [24, 33, 91], "here": 90, "histor": 2, "histori": [2, 11], "hook": [24, 32, 33, 48, 92], "how": [55, 90, 96], "http": 92, "i": 96, "id": 42, "import": 96, "info": 92, "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "inject": [90, 94, 95], "instal": [7, 54, 89], "instead": 96, "int": 40, "integ": 96, "interest": 40, "interfac": [90, 97], "intern": [48, 79], "issu": [1, 3, 6, 9, 16, 23], "iter": 96, "j": 31, "javascript": [23, 62, 90], "job": [2, 6, 63], "kei": [0, 13, 23], "keyvalid": 92, "languag": [7, 64], "last": 9, "level": 39, "librari": [23, 31, 62], "lifecycl": [87, 97], "line": [24, 33], "linux": 42, "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "locat": 3, "log": [8, 31, 39, 46, 65], "logfil": 31, "login": [4, 48], "logout": 4, "mac": 42, "make": 90, "manag": [8, 32, 89], "manual": [48, 54, 89], "map": 96, "matter": 90, "metadata": 7, "method": 33, "migrat": 96, "mixin": 95, "mode": 55, "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "modul": 79, "more": [52, 90], "need": 2, "new": [0, 10], "nifti": 52, "normal": 55, "notif": 20, "o": 42, "obtain": 42, "octopi": 48, "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "offici": 89, "offset": 2, "oper": [3, 6, 9, 10, 55], "option": [42, 46], "order": [92, 95], "origin": 4, "pack": 7, "packag": 89, "page": 90, "parameter": 51, "part": 90, "password": 0, "path": 17, "pattern": 33, "paus": 52, "payload": 11, "pend": 23, "permiss": [0, 2, 48, 92], "phase": 92, "pip": 89, "pitfal": 96, "placehold": 47, "platform": 86, "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "pluginmanag": [32, 92], "point": 2, "poll": 23, "post": 92, "pre": 92, "predefin": 52, "prepar": 48, "preprocessor": 92, "primer": 40, "print": [2, 9, 47], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "printerprofil": 67, "probe": 23, "process": [23, 47], "profil": [10, 14, 37, 44, 47, 81], "progress": 2, "progressplugin": 95, "prompt": 21, "proper": 89, "properti": [88, 94, 95], "protect": 4, "protocol": 92, "push": 11, "pycharm": 42, "python": 96, "read": 96, "readi": 96, "receiv": 92, "recommend": 42, "reconnect": 97, "reconnect_hook": [32, 92], "record": 2, "redirect": 23, "refer": [2, 31], "regener": [0, 13], "regist": [15, 19, 89, 92, 97], "register_custom_ev": 92, "registr": 0, "relat": 2, "releas": 89, "reloadneedingplugin": 95, "remov": 10, "render": 16, "repositori": 89, "request": [0, 4, 9, 10, 14, 23, 44], "requir": 48, "resend": 2, "resolut": 17, "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "rest": 5, "restartneedingplugin": 95, "result": 17, "resum": 52, "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "rout": 92, "rule": 40, "run": 42, "safe": 55, "sai": 90, "sampl": 70, "save": 13, "scalar": 40, "schema": 82, "script": [37, 51, 52, 92], "sd": 9, "sdcardupload": 92, "send": 9, "serial": [37, 92], "server": [12, 17, 37, 47, 77, 83, 92], "servic": 25, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "settingsplugin": 95, "setup": [42, 48, 70], "shutdownplugin": 95, "simpleapiplugin": 95, "singl": 10, "slice": [14, 37, 47, 69, 85], "slicer": 14, "slicerplugin": 95, "slicingprogress": 11, "snippet": 52, "socket": 70, "sockj": [83, 92], "softwar": 33, "softwareupd": [33, 92], "someth": 90, "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "specif": [3, 14, 31, 48, 96], "start": [23, 55], "startup": 97, "startupplugin": 95, "stat": 2, "state": [2, 9], "statist": 2, "step": [33, 48], "storag": 78, "strategi": 45, "string": 40, "studio": 42, "style": 90, "support": [20, 21, 23], "system": [13, 15, 37, 71, 92], "systeminfo": 92, "tell": 96, "temperatur": [2, 9, 37, 92], "templat": 13, "templateplugin": 95, "templatetyp": 92, "termin": 37, "test": 17, "theme": [48, 92], "throttl": 70, "time": 16, "timelaps": [16, 47, 72, 92], "todo": 42, "tool": [9, 42], "tornado": 83, "track": [26, 34], "transport": 92, "trigger": 16, "tutori": 90, "type": [4, 40, 51, 80], "ui": 92, "uiplugin": 95, "unicod": 96, "unrend": 16, "up": [42, 46, 90], "updat": [0, 10, 11, 14, 33], "upload": [3, 7], "url": 17, "us": 48, "usag": [24, 33, 34], "user": [0, 2, 4, 73, 76, 90, 92], "util": [17, 33, 74, 78, 83, 86], "v": [55, 96], "variou": 17, "version": [18, 33, 45, 89, 96], "version_check": 33, "via": 89, "viewer": [29, 37], "viewmodel": 97, "virtual": [35, 46, 96], "visual": 42, "vpn": 48, "vscode": 42, "wai": 48, "we": 90, "web": [90, 92, 97], "webcam": [37, 82], "webcamproviderplugin": 95, "welcom": 56, "where": 90, "wide": 13, "window": 42, "wizard": [19, 75], "wizardplugin": 95, "workflow": 23, "x": 42, "yaml": [37, 39, 40, 48], "you": 48, "your": [48, 89, 90, 96], "z": 16, "zeroconf": 25, "zip": 96}}) \ No newline at end of file diff --git a/devel/_static/_sphinx_javascript_frameworks_compat.js b/devel/_static/_sphinx_javascript_frameworks_compat.js index 8549469dc..81415803e 100644 --- a/devel/_static/_sphinx_javascript_frameworks_compat.js +++ b/devel/_static/_sphinx_javascript_frameworks_compat.js @@ -1,20 +1,9 @@ -/* - * _sphinx_javascript_frameworks_compat.js - * ~~~~~~~~~~ - * - * Compatability shim for jQuery and underscores.js. - * - * WILL BE REMOVED IN Sphinx 6.0 - * xref RemovedInSphinx60Warning +/* Compatability shim for jQuery and underscores.js. * + * Copyright Sphinx contributors + * Released under the two clause BSD licence */ -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - - /** * small helper function to urldecode strings * diff --git a/devel/_static/basic.css b/devel/_static/basic.css index eeb0519a6..f316efcb4 100644 --- a/devel/_static/basic.css +++ b/devel/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -236,17 +236,11 @@ div.body p, div.body dd, div.body li, div.body blockquote { a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} -a.brackets:after, -span.brackets > a:after { - content: "]"; +a:visited { + color: #551A8B; } - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -334,11 +328,17 @@ aside.sidebar { p.sidebar-title { font-weight: bold; } + +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; padding: 7px; @@ -377,6 +377,8 @@ div.body p.centered { div.sidebar > :last-child, aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; @@ -384,6 +386,8 @@ div.admonition > :last-child { div.sidebar::after, aside.sidebar::after, +nav.contents::after, +aside.topic::after, div.topic::after, div.admonition::after, blockquote::after { @@ -608,19 +612,27 @@ ol.simple p, ul.simple p { margin-bottom: 0; } -dl.footnote > dt, -dl.citation > dt { + +aside.footnote > span, +div.citation > span { float: left; - margin-right: 0.5em; } - -dl.footnote > dd, -dl.citation > dd { +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { margin-bottom: 0em; } - -dl.footnote > dd:after, -dl.citation > dd:after { +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { content: ""; clear: both; } @@ -636,10 +648,6 @@ dl.field-list > dt { padding-left: 0.5em; padding-right: 5px; } -dl.field-list > dt:after { - content: ":"; -} - dl.field-list > dd { padding-left: 0.5em; @@ -666,6 +674,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -734,6 +752,14 @@ abbr, acronym { cursor: help; } +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + /* -- code displays --------------------------------------------------------- */ pre { diff --git a/devel/_static/doctools.js b/devel/_static/doctools.js index 527b876ca..4d67807d1 100644 --- a/devel/_static/doctools.js +++ b/devel/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/devel/_static/documentation_options.js b/devel/_static/documentation_options.js index 62d912303..a6fa0315e 100644 --- a/devel/_static/documentation_options.js +++ b/devel/_static/documentation_options.js @@ -1,5 +1,4 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), +const DOCUMENTATION_OPTIONS = { VERSION: 'devel', LANGUAGE: 'en', COLLAPSE_INDEX: false, diff --git a/devel/_static/jquery-3.6.0.js b/devel/_static/jquery-3.6.0.js deleted file mode 100644 index fc6c299b7..000000000 --- a/devel/_static/jquery-3.6.0.js +++ /dev/null @@ -1,10881 +0,0 @@ -/*! - * jQuery JavaScript Library v3.6.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 - // Plus for old WebKit, typeof returns "function" for HTML collections - // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) - return typeof obj === "function" && typeof obj.nodeType !== "number" && - typeof obj.item !== "function"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.6.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : 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.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), - function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); - } ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.6 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2021-02-16 - */ -( function( window ) { -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - return nonHex ? - - // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - /* jshint -W018 */ - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem && elem.namespaceURI, - docElem = elem && ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } - } - - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; - } ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); - } ); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; - } ); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); - - assert( function( el ) { - el.innerHTML = "" + - ""; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } - - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { - - assert( function( el ) { - - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( support.matchesSelector && documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ - - }; - }, - - "CHILD": function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - "not": markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element (issue #299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - "has": markFunction( function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - } ), - - "contains": markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); - }, - - "selected": function( elem ) { - - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo( function() { - return [ 0 ]; - } ), - - "last": createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - "even": createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "odd": createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = ""; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = ""; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -} -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the primary Deferred - primary = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - primary.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( primary.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return primary.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); - } - - return primary.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting
        or other required elements. - thead: [ 1, "

        order

        ", "
        " ], - col: [ 2, "", "
        " ], - tr: [ 2, "", "
        " ], - td: [ 3, "", "
        " ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { - - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var notAsync, result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); - this[ type ](); - result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - - // Support: Chrome 86+ - // In Chrome, if an element having a focusout handler is blurred by - // clicking outside of it, it invokes the handler synchronously. If - // that handler calls `.remove()` on the element, the data is cleared, - // leaving `result` undefined. We need to guard against this. - return result && result.value; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { - - // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - which: true -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - // Suppress native focus or blur as it's already being fired - // in leverageNative. - _default: function() { - return true; - }, - - delegateType: delegateType - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - // - // Support: Firefox 70+ - // Only Firefox includes border widths - // in computed dimensions. (gh-4529) - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; - tr.style.cssText = "border:1px solid"; - - // Support: Chrome 86+ - // Height set through cssText does not get applied. - // Computed height then comes back as 0. - tr.style.height = "1px"; - trChild.style.height = "9px"; - - // Support: Android 8 Chrome 86+ - // In our bodyBackground.html iframe, - // display for all div elements is set to "inline", - // which causes a problem only in Android 8 Chrome 86. - // Ensuring the div is display: block - // gets around this issue. - trChild.style.display = "block"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + - parseInt( trStyle.borderTopWidth, 10 ) + - parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( isValidValue ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = classesToArray( value ); - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -support.focusin = "onfocusin" in window; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, parserErrorElem; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) {} - - parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; - if ( !xml || parserErrorElem ) { - jQuery.error( "Invalid XML: " + ( - parserErrorElem ? - jQuery.map( parserErrorElem.childNodes, function( el ) { - return el.textContent; - } ).join( "\n" ) : - data - ) ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ).filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ).map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - -originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script but not if jsonp - if ( !isSuccess && - jQuery.inArray( "script", s.dataTypes ) > -1 && - jQuery.inArray( "json", s.dataTypes ) < 0 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( " - - - - - - + + + + + + + @@ -179,8 +179,8 @@
        -

        Access control

        -
        +

        Access control

        +
        +
        -

        Permissions

        +

        Permissions

        -

        List all permissions

        +

        List all permissions

        -GET /api/access/permissions
        +GET /api/access/permissions

        Retrieves all permissions available in the system.

        Will return a 200 OK with a permission list as body.

        -
        Status Codes
        +
        Status Codes:
        @@ -262,18 +262,18 @@
        -

        Groups

        +

        Groups

        -

        Get group list

        +

        Get group list

        -GET /api/access/groups
        +GET /api/access/groups

        Retrieves all groups registered in the system.

        Will return a 200 OK with a group list as body.

        Requires the SETTINGS permission.

        -
        Status Codes
        +
        Status Codes:
        @@ -283,16 +283,16 @@
        -

        Add a new group

        +

        Add a new group

        -POST /api/access/groups
        +POST /api/access/groups

        Adds a new group to the system.

        Expects a group registration request as request body.

        Will return a group list response on success.

        Requires the SETTINGS permission and a recent credentials check.

        -
        JSON Parameters
        +
        JSON Parameters:
        • key – The group’s identifier

        • name – The user’s name

        • @@ -302,7 +302,7 @@
        • default – Whether the group should be assigned to new users by default or not

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -315,16 +315,16 @@

        -

        Retrieve a group

        +

        Retrieve a group

        -GET /api/access/groups/(string: key)
        +GET /api/access/groups/(string: key)

        Retrieves an individual group record.

        Will return a 200 OK with a group record as body.

        Requires the SETTINGS permission.

        -
        Status Codes
        +
        Status Codes:
        @@ -334,16 +334,16 @@
        -

        Update a group

        +

        Update a group

        -PUT /api/access/groups/(string: key)
        +PUT /api/access/groups/(string: key)

        Updates an existing group.

        Expects a group update request as request body.

        Will return a group list response on success.

        Requires the SETTINGS permission and a recent credentials check.

        -
        JSON Parameters
        +
        JSON Parameters:
        • description – A human readable description of the group

        • permissions – The permissions to assign to the group

        • @@ -351,7 +351,7 @@
        • default – Whether the group should be assigned to new users by default or not

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -363,15 +363,15 @@

        -

        Delete a group

        +

        Delete a group

        -DELETE /api/access/groups/(string: key)
        +DELETE /api/access/groups/(string: key)

        Deletes a group.

        Will return a group list response on success.

        Requires the SETTINGS permission and a recent credentials check.

        -
        Status Codes
        +
        Status Codes:
        @@ -382,19 +382,19 @@
        -

        Users

        +

        Users

        -

        Retrieve a list of users

        +

        Retrieve a list of users

        -GET /api/access/users
        +GET /api/access/users

        Retrieves a list of all registered users in OctoPrint.

        Will return a 200 OK with a user list response as body.

        Requires the SETTINGS permission.

        -
        Status Codes
        +
        Status Codes:
        @@ -403,21 +403,21 @@
        -

        Retrieve a user

        +

        Retrieve a user

        -GET /api/access/users/(string: username)
        +GET /api/access/users/(string: username)

        Retrieves information about a user.

        Will return a 200 OK with a user record as body.

        Requires either the SETTINGS permission or to be logged in as the user.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user which to retrieve

        -
        Status Codes
        +
        Status Codes:
        -

        Add a new user

        +

        Add a new user

        -POST /api/access/users
        +POST /api/access/users

        Adds a user to OctoPrint.

        Expects a user registration request as request body.

        Returns a list of registered users on success, see Retrieve a list of users.

        Requires the SETTINGS permission and a recent credentials check.

        -
        JSON Parameters
        +
        JSON Parameters:
        • name – The user’s name

        • password – The user’s password

        • @@ -446,7 +446,7 @@
        • admin – Whether to give the account admin rights (true) or not (false)

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -459,28 +459,28 @@

        -

        Update a user

        +

        Update a user

        -PUT /api/access/users/(string: username)
        +PUT /api/access/users/(string: username)

        Updates a user record.

        Expects a user update request as request body.

        Returns a list of registered users on success, see Retrieve a list of users.

        Requires the SETTINGS permission and a recent credentials check.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to update

        -
        JSON Parameters
        +
        JSON Parameters:
        • admin – Whether to mark the user as admin (true) or not (false), can be left out (no change)

        • active – Whether to mark the account as activated (true) or deactivated (false), can be left out (no change)

        -
        Status Codes
        +
        Status Codes:
        -

        Delete a user

        +

        Delete a user

        -DELETE /api/access/users/(string: username)
        +DELETE /api/access/users/(string: username)

        Delete a user record.

        Returns a list of registered users on success, see Retrieve a list of users.

        Requires the SETTINGS permission and a recent credentials check.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to delete

        -
        Status Codes
        +
        Status Codes:
        -

        Change a user’s password

        +

        Change a user’s password

        -PUT /api/access/users/(string: username)/password
        +PUT /api/access/users/(string: username)/password

        Changes the password of a user.

        Expects a JSON object with a property password containing the new password as request body. Without the SETTINGS permission, an additional property current @@ -526,18 +526,18 @@

        Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check. Note that current will be evaluated even in presence of the SETTINGS permission, if set.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to change the password for

        -
        JSON Parameters
        +
        JSON Parameters:
        • password – The new password to set

        • current – The current password

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 400 Bad Request – If the request doesn’t contain a password property, doesn’t @@ -553,21 +553,21 @@

        -

        Get a user’s settings

        +

        Get a user’s settings

        -GET /api/access/users/(string: username)/settings
        +GET /api/access/users/(string: username)/settings

        Retrieves a user’s settings.

        Will return a 200 OK with a JSON object representing the user’s personal settings (if any) as body.

        Requires the SETTINGS permission or to be logged in as the user.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to retrieve the settings for

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 403 Forbidden – No admin rights and not logged in as the user

        • @@ -579,21 +579,21 @@
        -

        Update a user’s settings

        +

        Update a user’s settings

        -PATCH /api/access/users/(string: username)/settings
        +PATCH /api/access/users/(string: username)/settings

        Updates a user’s settings.

        Expects a new settings JSON object to merge with the current settings as request body.

        Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to retrieve the settings for

        -
        Status Codes
        +
        Status Codes:
        • 204 No Content – No error

        • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

        • @@ -605,21 +605,21 @@
        -

        Regenerate a user’s api key

        +

        Regenerate a user’s api key

        -POST /api/access/users/(string: username)/apikey
        +POST /api/access/users/(string: username)/apikey

        Generates a new API key for the user.

        Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

        Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to retrieve the settings for

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

        • @@ -631,19 +631,19 @@
        -

        Delete a user’s api key

        +

        Delete a user’s api key

        -DELETE /api/access/users/(string: username)/apikey
        +DELETE /api/access/users/(string: username)/apikey

        Deletes a user’s personal API key.

        Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

        -
        Parameters
        +
        Parameters:
        • username – Name of the user to retrieve the settings for

        -
        Status Codes
        +
        Status Codes:
        • 204 No Content – No error

        • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

        • @@ -656,17 +656,17 @@
        -

        Data model

        +

        Data model

        -

        Permissions

        +

        Permissions

        -

        Permission list response

        - +

        Permission list response

        +
        ----++++ @@ -686,15 +686,15 @@
        -

        Groups

        +

        Groups

        -

        Group list response

        -

        Name

        +

        Group list response

        +
        ----++++ @@ -713,13 +713,13 @@

        Name

        -

        Group registration request

        - +

        Group registration request

        +
        ----++++ @@ -763,13 +763,13 @@

        Name

        -

        Group update request

        - +

        Group update request

        +
        ----++++ @@ -804,15 +804,15 @@
        -

        Users

        +

        Users

        -

        User list response

        -

        Name

        +

        User list response

        +
        ----++++ @@ -831,13 +831,13 @@

        Name

        -

        User registration request

        - +

        User registration request

        +
        ----++++ @@ -876,13 +876,13 @@

        Name

        -

        User update request

        - +

        User update request

        +
        ----++++ diff --git a/devel/api/connection.html b/devel/api/connection.html index 25efd4da8..c0009b5d1 100644 --- a/devel/api/connection.html +++ b/devel/api/connection.html @@ -1,26 +1,26 @@ - + - + Connection handling — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -150,8 +150,8 @@
        -

        Connection handling

        -
        +

        Connection handling

        +
        +
        -

        Get connection settings

        +

        Get connection settings

        -GET /api/connection
        +GET /api/connection

        Retrieve the current connection settings, including information regarding the available baudrates and serial ports and the current connection state.

        Requires the STATUS permission.

        @@ -199,7 +199,7 @@
        -
        Status Codes
        +
        Status Codes:
        @@ -209,10 +209,10 @@
        -

        Issue a connection command

        +

        Issue a connection command

        -POST /api/connection
        +POST /api/connection

        Issue a connection command. Currently available command are:

        connect

        Instructs OctoPrint to connect or, if already connected, reconnect to the printer. Additional parameters are:

        @@ -286,7 +286,7 @@
        -
        JSON Parameters
        +
        JSON Parameters:
        • command (string) – The command to issue, either connect, disconnect or fake_ack.

        • port (string) – connect command: The port to connect to. If left out either the existing portPreference @@ -303,7 +303,7 @@ startup. If not set no changes will be made to the current setting.

        -
        Status Codes
        +
        Status Codes:
        • 204 No Content – No error

        • 400 Bad Request – If the selected port or baudrate for a connect command are not part of the available diff --git a/devel/api/datamodel.html b/devel/api/datamodel.html index 760aabd44..e1a3388c1 100644 --- a/devel/api/datamodel.html +++ b/devel/api/datamodel.html @@ -1,26 +1,26 @@ - + - + Common data model — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -177,8 +177,8 @@

          -

          Common data model

          -
          +

          Common data model

          +
        - +

        Name

        +

        Printer State

        +
        ----++++ @@ -304,13 +304,13 @@

        Name

        -

        Temperature Data

        - +

        Temperature Data

        +
        ----++++ @@ -339,13 +339,13 @@

        Name

        -

        Historic Temperature Data Point

        - +

        Historic Temperature Data Point

        +
        ----++++ @@ -375,13 +375,13 @@

        Name

        -

        Temperature offset

        - +

        Temperature offset

        +
        ----++++ @@ -405,13 +405,13 @@

        Name

        -

        Resend stats

        - +

        Resend stats

        +
        ----++++ @@ -441,15 +441,15 @@

        Name

        +

        Job information

        +
        ----++++ @@ -493,13 +493,13 @@

        Name

        -

        Progress information

        - +

        Progress information

        +
        ----++++ @@ -550,15 +550,15 @@

        Name

        +

        File information

        +
        ----++++ @@ -609,13 +609,13 @@ For a type value of folder, see Folders. For any other value see Files.

        -

        Folders

        -

        Name

        +

        Folders

        +
        ----++++ @@ -640,13 +640,13 @@

        Name

        -

        Files

        - +

        Files

        +
        ----++++ @@ -703,13 +703,13 @@
        -

        Abridged file or folder information

        -

        Name

        +

        Abridged file or folder information

        +
        ----++++ @@ -752,13 +752,13 @@

        Name

        -

        GCODE analysis information

        - +

        GCODE analysis information

        +
        ----++++ @@ -902,13 +902,13 @@

        Name

        -

        References

        - +

        References

        +
        ----++++ @@ -938,13 +938,13 @@

        Name

        -

        Permission record

        - +

        Permission record

        +
        ----++++ @@ -1131,13 +1131,13 @@

        Name

        -

        Group record

        - +

        Group record

        +
        ----++++ @@ -1202,13 +1202,13 @@

        Name

        -

        Needs

        - +

        Needs

        +
        ----++++ diff --git a/devel/api/files.html b/devel/api/files.html index 11328af32..604ac7e75 100644 --- a/devel/api/files.html +++ b/devel/api/files.html @@ -1,26 +1,26 @@ - + - + File operations — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -159,8 +159,8 @@
        -

        File operations

        -
        +

        File operations

        +
        +
        -

        Retrieve all files

        +

        Retrieve all files

        -GET /api/files
        +GET /api/files

        Retrieve information regarding all files currently available and regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. Note that @@ -398,13 +398,13 @@

        -
        Parameters
        +
        Parameters:
        • force – If set to true, forces a refresh, overriding the cache.

        • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

        -
        Status Codes
        +
        Status Codes:
        @@ -414,10 +414,10 @@
        -

        Retrieve files from specific location

        +

        Retrieve files from specific location

        -GET /api/files/(string: location)
        +GET /api/files/(string: location)

        Retrieve information regarding the files currently available on the selected location and – if targeting the local location – regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. @@ -473,7 +473,7 @@

        -
        Parameters
        +
        Parameters:
        • location – The origin location from which to retrieve the files. Currently only local and sdcard are supported, with local referring to files stored in OctoPrint’s uploads folder and sdcard @@ -482,7 +482,7 @@

        • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 404 Not Found – If location is neither local nor sdcard

        • @@ -493,10 +493,10 @@
        -

        Upload file or create folder

        +

        Upload file or create folder

        -POST /api/files/(string: location)
        +POST /api/files/(string: location)

        Upload a file to the selected location or create a new empty folder on it.

        Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload. A Content-Length header specifying @@ -641,14 +641,14 @@

        -
        Parameters
        +
        Parameters:
        • location – The target location to which to upload the file. Currently only local and sdcard are supported here, with local referring to OctoPrint’s uploads folder and sdcard referring to the printer’s SD card. If an upload targets the SD card, it will also be stored locally first.

        -
        Form Parameters
        +
        Form Parameters:
        • file – The file to upload, including a valid filename.

        • path – The path within the location to upload the file to or create the folder in (without the future @@ -666,7 +666,7 @@

        • foldername – The name of the folder to create. Ignored when uploading a file.

        -
        Status Codes
        +
        Status Codes:
        • 201 Created – No error

        • 400 Bad Request – If no file or foldername are included in the request, userdata was provided but could @@ -685,10 +685,10 @@

        -

        Retrieve a specific file’s or folder’s information

        +

        Retrieve a specific file’s or folder’s information

        -GET /api/files/(string: location)/(path: filename)
        +GET /api/files/(string: location)/(path: filename)

        Retrieves the selected file’s or folder’s information.

        If the file is unknown, a 404 Not Found is returned.

        If the targeted path is a folder, by default only its direct children will be returned. If recursive is @@ -733,14 +733,14 @@

        -
        Parameters
        +
        Parameters:
        • location – The location of the file for which to retrieve the information, either local or sdcard.

        • filename – The filename of the file for which to retrieve the information

        • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 404 Not Found – If target is neither local nor sdcard, sdcard but SD card support is disabled or the @@ -752,10 +752,10 @@

        -

        Issue a file command

        +

        Issue a file command

        -POST /api/files/(string: location)/(path: path)
        +POST /api/files/(string: location)/(path: path)

        Issue a file command to an existing file. Currently supported commands are:

        select

        Selects a file for printing. Additional parameters are:

        @@ -926,14 +926,14 @@
        -
        Parameters
        +
        Parameters:
        • location – The target location on which to send the command for is located, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

        • path – The path of the file for which to issue the command

        -
        JSON Parameters
        +
        JSON Parameters:
        • command (string) – The command to issue for the file, currently only select is supported

        • print (boolean) – select and slice command: Optional, whether to start printing the file directly after selection @@ -950,7 +950,7 @@ defaults to false

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error for a select command.

        • 202 Accepted – No error for a slice command.

        • @@ -968,10 +968,10 @@
        -

        Delete file

        +

        Delete file

        -DELETE /api/files/(string: location)/(path: path)
        +DELETE /api/files/(string: location)/(path: path)

        Delete the selected path on the selected location.

        If the file to be deleted is currently being printed, a 409 Conflict will be returned.

        Returns a 204 No Content after successful deletion.

        @@ -983,14 +983,14 @@
        -
        Parameters
        +
        Parameters:
        • location – The target location on which to delete the file, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

        • path – The path of the file to delete

        -
        Status Codes
        +
        Status Codes:
        • 204 No Content – No error

        • 404 Not Found – If location is neither local nor sdcard or the requested file was not found

        • @@ -1002,15 +1002,15 @@
        -

        Data model

        +

        Data model

        -

        Retrieve response

        -

        Name

        +

        Retrieve response

        +
        ----++++ @@ -1035,13 +1035,13 @@

        Name

        -

        Upload response

        - +

        Upload response

        +
        ----++++ diff --git a/devel/api/general.html b/devel/api/general.html index f7c173e97..83a86cf0f 100644 --- a/devel/api/general.html +++ b/devel/api/general.html @@ -1,26 +1,26 @@ - + - + General information — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -161,8 +161,8 @@
        -

        General information

        -
        +

        General information

        +
        +
        -

        Authorization

        +

        Authorization

        If Access Control is enabled OctoPrint’s API expects an API key to be supplied with each request. This API key can be either a user specific one or an app and user specific one as generated by the authorization workflow implemented by the bundled Application Keys Plugin (since 1.3.10).

        @@ -221,22 +221,22 @@
        User specific API key location in user list
        -

        Fig. 22 The user list in the “Access Control” settings shows the API key for users (if available)

        +

        Fig. 22 The user list in the “Access Control” settings shows the API key for users (if available)

        API key options in "Change password" dialog
        -

        Fig. 23 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

        +

        Fig. 23 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

        -

        Content Type

        +

        Content Type

        If not otherwise stated, OctoPrint’s API expects request bodies and issues response bodies as Content-Type: application/json.

        -

        Encoding

        +

        Encoding

        OctoPrint uses UTF-8 as charset.

        That also includes headers in multipart/form-data requests, in order to allow the full UTF-8 range of characters for uploaded filenames. If a multipart/form-data sub header cannot be decoded as UTF-8, OctoPrint will also attempt @@ -249,7 +249,7 @@ in Upload file.

        -

        Cross-origin requests

        +

        Cross-origin requests

        To make use of the OctoPrint API from websites other than the OctoPrint web interface, cross-origin resource sharing (CORS) must be enabled. This is the case even when the website in question is served from a different port on the same machine and on localhost.

        @@ -264,7 +264,7 @@
        CORS configuration in the API settings
        -

        Fig. 24 Support for CORS can be enabled in the “API” settings

        +

        Fig. 24 Support for CORS can be enabled in the “API” settings

        @@ -286,9 +286,9 @@
        -

        CSRF Protection

        +

        CSRF Protection

        -

        New in version 1.8.3.

        +

        Added in version 1.8.3.

        To protect OctoPrint against CSRF attacks against the non CORS affected upload endpoints, in case of browser session based authorization the API is protected using the Double Submit Cookie mitigation strategy. @@ -307,10 +307,10 @@

        -

        Login

        +

        Login

        -POST /api/login
        +POST /api/login

        Creates a login session or retrieves information about the currently existing session (“passive login”).

        Can be used in one of two ways: to login a user via username and password and create a persistent session (usually from a UI in the browser), or to retrieve information about the active user (from an existing session or an API key) @@ -331,7 +331,7 @@ on the web socket.

        -
        JSON Parameters
        +
        JSON Parameters:
        • passive – If present, performs a passive login only, returning information about the current user that’s active either through an existing session or the used API key

        • @@ -340,7 +340,7 @@
        • remember – (active login only) Whether to set a “remember me” cookie on the session

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – Successful login

        • 403 Forbidden – Username/password mismatch, unknown user or deactivated account

        • @@ -351,15 +351,15 @@
        -

        Logout

        +

        Logout

        -POST /api/logout
        +POST /api/logout

        Ends the current login session of the current user.

        Only makes sense in the context of browser based workflows.

        Will return a 204 No Content.

        -
        Status Codes
        +
        Status Codes:
        @@ -369,15 +369,15 @@
        -

        Current User

        +

        Current User

        -GET /api/currentuser
        +GET /api/currentuser

        Retrieves information about the current user.

        Will return a 200 OK with a current user object as body.

        -
        Status Codes
        +
        Status Codes:
        @@ -387,16 +387,16 @@
        -

        Data model

        +

        Data model

        -

        Login response

        +

        Login response

        The Login response is a user record extended by the following fields:

        -

        Name

        +
        ----++++ @@ -420,13 +420,13 @@

        Name

        -

        Current user

        - +

        Current user

        +
        ----++++ diff --git a/devel/api/index.html b/devel/api/index.html index 9e261255f..88a5b6221 100644 --- a/devel/api/index.html +++ b/devel/api/index.html @@ -1,26 +1,26 @@ - + - + REST API — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -144,7 +144,7 @@
        -

        REST API

        +

        REST API

        • General information
            diff --git a/devel/api/job.html b/devel/api/job.html index fe7a919ae..2b648f066 100644 --- a/devel/api/job.html +++ b/devel/api/job.html @@ -1,26 +1,26 @@ - + - + Job operations — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -154,10 +154,10 @@
            -

            Job operations

            +

            Job operations

            Use these operations to query the currently selected file and start/cancel/restart/pause the actual print job.

            -
            +
          -
        +
        -

        Issue a job command

        +

        Issue a job command

        -POST /api/job
        +POST /api/job

        Job commands allow starting, pausing and cancelling print jobs. Available commands are:

        start

        Starts the print of the currently selected file. For selecting a file, see Issue a file command. @@ -302,12 +302,12 @@

        -
        JSON Parameters
        +
        JSON Parameters:
        • command (string) – The command to issue, either start, restart, pause or cancel

        -
        Status Codes
        +
        Status Codes:

        Name

        +

        Job information response

        +
        ----++++ diff --git a/devel/api/languages.html b/devel/api/languages.html index 6f747445c..466e27db8 100644 --- a/devel/api/languages.html +++ b/devel/api/languages.html @@ -1,26 +1,26 @@ - + - + Languages — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -157,12 +157,12 @@
        -

        Languages

        +

        Languages

        Note

        All language pack management operations require the SETTINGS permission.

        -
        +
        +
        -

        Retrieve installed language packs

        +

        Retrieve installed language packs

        -GET /api/languages
        +GET /api/languages

        Retrieves a list of installed language packs.

        The response body will contain a list response.

        Example

        @@ -228,7 +228,7 @@
        -
        Status Codes
        +
        Status Codes:
        @@ -238,10 +238,10 @@
        -

        Upload a language pack

        +

        Upload a language pack

        -POST /api/languages
        +POST /api/languages

        Uploads a new language pack to OctoPrint.

        Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload.

        @@ -252,12 +252,12 @@

        Will return a list of installed language packs upon completion, as described in Retrieve installed language packs.

        -
        Form Parameters
        +
        Form Parameters:
        • file – The language pack file to upload

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – The file was uploaded successfully

        @@ -267,10 +267,10 @@
        -

        Delete a language pack

        +

        Delete a language pack

        -DELETE /api/languages/(string: locale)/(string: pack)
        +DELETE /api/languages/(string: locale)/(string: pack)

        Deletes the language pack pack for locale locale. Can be either the _core pack (containing translations for core OctoPrint) or the language pack for a plugin specified by the plugin identifier.

        @@ -309,13 +309,13 @@
        -
        Parameters
        +
        Parameters:
        • locale – The locale for which to delete the language pack

        • pack – The language pack to delete

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – The language pack was deleted

        @@ -325,15 +325,15 @@
        -

        Data model

        +

        Data model

        -

        List response

        -

        Name

        +

        List response

        +
        ----++++ @@ -352,13 +352,13 @@

        Name

        -

        Component list

        - +

        Component list

        +
        ----++++ @@ -387,13 +387,13 @@

        Name

        -

        Language pack metadata

        - +

        Language pack metadata

        +
        ----++++ diff --git a/devel/api/logs.html b/devel/api/logs.html index faf6986ff..5191cc69d 100644 --- a/devel/api/logs.html +++ b/devel/api/logs.html @@ -1,26 +1,26 @@ - + - + Log file management — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
        -

        Log file management

        +

        Log file management

        Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins API for the API documentation.

        The former endpoints /api/logs and api/logs/<path> are marked as deprecated but still work for now. New diff --git a/devel/api/printer.html b/devel/api/printer.html index 397872ea3..b6e4f9857 100644 --- a/devel/api/printer.html +++ b/devel/api/printer.html @@ -1,26 +1,26 @@ - + - + Printer operations — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -170,8 +170,8 @@

        -

        Printer operations

        -
        +

        Printer operations

        +
        +

        Printer control is mostly achieved through the use of commands, issued to resources reflecting components of the printer. OctoPrint currently knows the following components:

        @@ -251,10 +251,10 @@ If you need the printer’s serial communication, you’ll need to subscribe to push updates.

        -

        Retrieve the current printer state

        +

        Retrieve the current printer state

        -GET /api/printer
        +GET /api/printer

        Retrieves the current state of the printer. Returned information includes:

        -
        Query Parameters
        +
        Query Parameters:
        • exclude – An optional comma-separated list of fields to exclude from the response (e.g. if not needed by the client). Valid values to supply here are temperature, sd and state.

        • @@ -388,7 +388,7 @@ will be returned. Will be ignored if history is not enabled.

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 409 Conflict – If the printer is not operational.

        • @@ -399,10 +399,10 @@
          -

          Issue a print head command

          +

          Issue a print head command

          -POST /api/printer/printhead
          +POST /api/printer/printhead

          Print head commands allow jogging and homing the print head in all three axes. Available commands are:

          jog

          Jogs the print head (relatively) by a defined amount in one or more axes. Additional parameters are:

          @@ -499,7 +499,7 @@
          -
          JSON Parameters
          +
          JSON Parameters:
          • command (string) – The command to issue, either jog or home.

          • x (number) – jog command: The amount to travel on the X axis in mm.

          • @@ -509,7 +509,7 @@
          • factor (number) – feedrate command: The factor to apply to the feed rate, percentage between 50 and 200% as integer or float.

          -
          Status Codes
          +
          Status Codes:
          • 204 No Content – No error

          • 400 Bad Request – Invalid axis specified, invalid value for travel amount for a jog command or factor for feed rate or otherwise invalid @@ -522,10 +522,10 @@

          -

          Issue a tool command

          +

          Issue a tool command

          -POST /api/printer/tool
          +POST /api/printer/tool

          Tool commands allow setting the temperature and temperature offsets for the printer’s tools (hotends), selecting the current tool and extruding/retracting from the currently selected tool. Available commands are:

          @@ -700,7 +700,7 @@
          -
          JSON Parameters
          +
          JSON Parameters:
          • command (string) – The command to issue, either target, offset, select or extrude.

          • targets (object) – target command: The target temperatures to set. Valid properties have to match the format tool{n}.

          • @@ -710,7 +710,7 @@
          • factor (number) – flowrate command: The factor to apply to the flow rate, percentage between 75 and 125% as integer or float.

          -
          Status Codes
          +
          Status Codes:
          • 204 No Content – No error

          • 400 Bad Request – If targets or offsets contains a property or tool contains a value not matching the format @@ -724,10 +724,10 @@

          -

          Retrieve the current tool state

          +

          Retrieve the current tool state

          -GET /api/printer/tool
          +GET /api/printer/tool

          Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for all of the printer’s available tools.

          It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -787,7 +787,7 @@

          -
          Query Parameters
          +
          Query Parameters:
          • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

          • @@ -795,7 +795,7 @@ will be returned. Will be ignored if history is not enabled.

          -
          Status Codes
          +
          Status Codes:
          • 200 OK – No error

          • 409 Conflict – If the printer is not operational.

          • @@ -806,10 +806,10 @@
          -

          Issue a bed command

          +

          Issue a bed command

          -POST /api/printer/bed
          +POST /api/printer/bed

          Bed commands allow setting the temperature and temperature offsets for the printer’s heated bed. Available commands are:

          @@ -863,14 +863,14 @@
          -
          JSON Parameters
          +
          JSON Parameters:
          • command (string) – The command to issue, either target or offset.

          • target (object) – target command: The target temperature to set.

          • offset (object) – offset command: The offset temperature to set.

          -
          Status Codes
          +
          Status Codes:
          • 204 No Content – No error

          • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -884,10 +884,10 @@

          -

          Retrieve the current bed state

          +

          Retrieve the current bed state

          -GET /api/printer/bed
          +GET /api/printer/bed

          Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated bed.

          It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -937,7 +937,7 @@

          -
          Query Parameters
          +
          Query Parameters:
          • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

          • @@ -945,7 +945,7 @@ will be returned. Will be ignored if history is not enabled.

          -
          Status Codes
          +
          Status Codes:
          • 200 OK – No error

          • 409 Conflict – If the printer is not operational or the selected printer profile @@ -957,10 +957,10 @@

          -

          Issue a chamber command

          +

          Issue a chamber command

          -POST /api/printer/chamber
          +POST /api/printer/chamber

          Chamber commands allow setting the temperature and temperature offsets for the printer’s heated chamber. Available commands are:

          @@ -1014,14 +1014,14 @@
          -
          JSON Parameters
          +
          JSON Parameters:
          • command (string) – The command to issue, either target or offset.

          • target (object) – target command: The target temperature to set.

          • offset (object) – offset command: The offset temperature to set.

          -
          Status Codes
          +
          Status Codes:
          • 204 No Content – No error

          • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -1035,10 +1035,10 @@

          -

          Retrieve the current chamber state

          +

          Retrieve the current chamber state

          -GET /api/printer/chamber
          +GET /api/printer/chamber

          Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated chamber.

          It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -1088,7 +1088,7 @@

          -
          Query Parameters
          +
          Query Parameters:
          • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

          • @@ -1096,7 +1096,7 @@ will be returned. Will be ignored if history is not enabled.

          -
          Status Codes
          +
          Status Codes:
          • 200 OK – No error

          • 409 Conflict – If the printer is not operational or the selected printer profile @@ -1108,10 +1108,10 @@

          -

          Issue an SD command

          +

          Issue an SD command

          -POST /api/printer/sd
          +POST /api/printer/sd

          SD commands allow initialization, refresh and release of the printer’s SD card (if available).

          Available commands are:

          @@ -1180,12 +1180,12 @@
          -
          JSON Parameters
          +
          JSON Parameters:
          • command (string) – The command to issue, either init, refresh or release.

          -
          Status Codes
          +
          Status Codes:
          • 204 No Content – No error

          • 409 Conflict – If a refresh or release command is issued but the SD card has not been initialized (e.g. @@ -1197,10 +1197,10 @@

          -

          Retrieve the current SD state

          +

          Retrieve the current SD state

          -GET /api/printer/sd
          +GET /api/printer/sd

          Retrieves the current state of the printer’s SD card. For this request no authentication is needed.

          If SD support has been disabled in OctoPrint’s settings, a 404 Not Found is returned.

          Returns a 200 OK with an SD State Response in the body @@ -1222,7 +1222,7 @@

          -
          Status Codes
          +
          Status Codes:
          • 200 OK – No error

          • 404 Not Found – If SD support has been disabled in OctoPrint’s config.

          • @@ -1233,10 +1233,10 @@
          -

          Retrieve information about the last error

          +

          Retrieve information about the last error

          -GET /api/printer/error
          +GET /api/printer/error

          Retrieves information about the last error that occurred on the printer.

          Returns a 200 OK with an Error Information in the body upon success.

          @@ -1281,7 +1281,7 @@
          -
          Status Codes
          +
          Status Codes:
          @@ -1291,10 +1291,10 @@
          -

          Send an arbitrary command to the printer

          +

          Send an arbitrary command to the printer

          -POST /api/printer/command
          +POST /api/printer/command

          Sends any command to the printer via the serial interface. Should be used with some care as some commands can interfere with or even stop a running print job.

          Expects a Arbitrary Command Request as the request’s body.

          @@ -1332,13 +1332,13 @@
          -
          JSON Parameters
          +
          JSON Parameters:
          • command (string) – Single command to send to the printer, mutually exclusive with commands.

          • commands (string) – List of commands to send to the printer, mutually exclusive with command.

          -
          Status Codes
          +
          Status Codes:
          @@ -1348,10 +1348,10 @@
          -

          Retrieve custom controls

          +

          Retrieve custom controls

          -GET /api/printer/command/custom
          +GET /api/printer/command/custom

          Retrieves the custom controls as configured in config.yaml.

          Please refer to the documentation of custom controls on what @@ -1360,7 +1360,7 @@ in the body upon success.

          Requires the CONTROL permission.

          -
          Status Codes
          +
          Status Codes:
          @@ -1370,15 +1370,15 @@
          -

          Data model

          +

          Data model

          -

          Full State Response

          -

        Name

        +

        Full State Response

        +
        ----++++ @@ -1407,13 +1407,13 @@

        Name

        -

        Temperature State

        - +

        Temperature State

        +
        ----++++ @@ -1444,13 +1444,13 @@

        Name

        -

        SD State

        - +

        SD State

        +
        ----++++ @@ -1469,13 +1469,13 @@

        Name

        -

        Arbitrary Command Request

        - +

        Arbitrary Command Request

        +
        ----++++ @@ -1514,13 +1514,13 @@

        Name

        -

        Custom Controls Response

        - +

        Custom Controls Response

        +
        ----++++ @@ -1539,13 +1539,13 @@

        Name

        -

        Error Information

        - +

        Error Information

        +
        ----++++ diff --git a/devel/api/printerprofiles.html b/devel/api/printerprofiles.html index 211d5ae71..6aa0a9157 100644 --- a/devel/api/printerprofiles.html +++ b/devel/api/printerprofiles.html @@ -1,26 +1,26 @@ - + - + Printer profile operations — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -159,8 +159,8 @@
        -

        Printer profile operations

        -
        +

        Printer profile operations

        +
        +

        OctoPrint allows the management of Printer profiles that define a printer’s physical properties (such as print volume, whether a heated bed is available, maximum speeds on its axes etc). The data stored within these profiles is used for both slicing and gcode visualization.

        -

        Retrieve all printer profiles

        +

        Retrieve all printer profiles

        -GET /api/printerprofiles
        +GET /api/printerprofiles

        Retrieves an object representing all configured printer profiles.

        Returns a 200 OK with a profile list.

        Requires the CONNECTION permission.

        @@ -295,15 +295,15 @@
        -

        Retrieve a single printer profile

        +

        Retrieve a single printer profile

        -GET /api/printerprofiles/(string: identifier)
        +GET /api/printerprofiles/(string: identifier)

        Retrieves an existing single printer profile.

        Returns a 200 OK with a profile.

        Requires the CONNECTION permission.

        -
        Status Codes
        +
        Status Codes:
        -

        Add a new printer profile

        +

        Add a new printer profile

        -POST /api/printerprofiles
        +POST /api/printerprofiles

        Adds a new printer profile based on either the current default profile or the profile identified in basedOn.

        The provided profile data will be merged with the profile data from the @@ -477,10 +477,10 @@

        -

        Update an existing printer profile

        +

        Update an existing printer profile

        -PATCH /api/printerprofiles/(string: profile)
        +PATCH /api/printerprofiles/(string: profile)

        Updates an existing printer profile by its profile identifier.

        The updated (potentially partial) profile is expected in the request’s body as part of an Add or update request.

        @@ -557,10 +557,10 @@
        -

        Remove an existing printer profile

        +

        Remove an existing printer profile

        -DELETE /api/printerprofiles/(string: profile)
        +DELETE /api/printerprofiles/(string: profile)

        Deletes an existing printer profile by its profile identifier.

        If the profile to be deleted is the currently selected profile, a 409 Conflict will be returned.

        @@ -579,15 +579,15 @@
        -

        Data model

        +

        Data model

        -

        Profile list

        -

        Name

        +

        Profile list

        +
        ----++++ @@ -611,13 +611,13 @@

        Name

        -

        Add or update request

        - +

        Add or update request

        +
        ----++++ @@ -646,13 +646,13 @@

        Name

        -

        Profile

        - +

        Profile

        +
        ----++++ diff --git a/devel/api/push.html b/devel/api/push.html index 491634046..f537eded6 100644 --- a/devel/api/push.html +++ b/devel/api/push.html @@ -1,26 +1,26 @@ - + - + Push updates — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -155,14 +155,14 @@
        -

        Push updates

        +

        Push updates

        Warning

        The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

        -
        +
        +

        To enable real time information exchange between client and server, OctoPrint uses SockJS to push status updates, temperature changes etc to connected web interface instances.

        @@ -320,15 +320,15 @@
        -

        Data model

        +

        Data model

        -

        connected payload

        -

        Name

        +

        connected payload

        +
        ----++++ @@ -376,13 +376,13 @@

        Name

        -

        current and history payload

        - +

        current and history payload

        +
        ----++++ @@ -447,13 +447,13 @@

        Name

        -

        event payload

        - +

        event payload

        +
        ----++++ @@ -477,13 +477,13 @@

        Name

        -

        slicingProgress payload

        - +

        slicingProgress payload

        +
        ----++++ diff --git a/devel/api/server.html b/devel/api/server.html index 44a2614be..bd2d6d894 100644 --- a/devel/api/server.html +++ b/devel/api/server.html @@ -1,26 +1,26 @@ - + - + Server information — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,12 +146,12 @@
        -

        Server information

        +

        Server information

        -GET /api/server
        +GET /api/server
        -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        Retrieve information regarding server status. Returns a JSON object with two keys, version containing the server version and safemode containing one of settings, incomplete_startup or flag @@ -174,7 +174,7 @@

        -
        Status Codes
        +
        Status Codes:
        diff --git a/devel/api/settings.html b/devel/api/settings.html index c3039a203..02c75b1d6 100644 --- a/devel/api/settings.html +++ b/devel/api/settings.html @@ -1,26 +1,26 @@ - + - + Settings — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -152,8 +152,8 @@
        -

        Settings

        -
        +

        Settings

        +
        +
        -

        Retrieve current settings

        +

        Retrieve current settings

        -GET /api/settings
        +GET /api/settings

        Retrieves the current configuration of OctoPrint.

        Returns a 200 OK with the current settings as a JSON object in the response body.

        @@ -181,10 +181,10 @@
        -

        Save settings

        +

        Save settings

        -POST /api/settings
        +POST /api/settings

        Saves the provided settings in OctoPrint.

        Expects a JSON object with the settings to change as request body. This can be either a full settings tree, or only a partial tree containing only those fields that should @@ -222,10 +222,10 @@

        -

        Fetch template data

        +

        Fetch template data

        -GET /api/settings/templates
        +GET /api/settings/templates

        Fetch data (currently only the sorting order) of all registered template components in the system.

        Use this to get a full list of the identifiers of all UI components provided either by core OctoPrint or any currently active plugins.

        @@ -471,7 +471,7 @@ me an email to make sure I can give you a heads-up when something changes in an backwards incompatible way.

        -
        Status Codes
        +
        Status Codes:

        Name

        ---- diff --git a/devel/api/slicing.html b/devel/api/slicing.html index 2038a2808..f8c9a90e1 100644 --- a/devel/api/slicing.html +++ b/devel/api/slicing.html @@ -1,26 +1,26 @@ - + - + Slicing — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -162,14 +162,14 @@
        -

        Slicing

        +

        Slicing

        Warning

        The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

        -
        +
        +

        The Slicing API on one hand offers methods for managing slicing profiles stored within OctoPrint, on the other hand it will be extended in the future to also allow for multi extruder slicing (which currently is not possible with the slice command of the File operations API and other things.

        -

        List All Slicers and Slicing Profiles

        +

        List All Slicers and Slicing Profiles

        -GET /api/slicing
        +GET /api/slicing

        Returns a list of all available slicing profiles for all registered slicers in the system.

        Returns a 200 OK response with a Slicer list as the body upon successful completion.

        @@ -238,7 +238,7 @@
        -
        Status Codes
        +
        Status Codes:
        @@ -248,10 +248,10 @@
        -

        List Slicing Profiles of a Specific Slicer

        +

        List Slicing Profiles of a Specific Slicer

        -GET /api/slicing/(string: slicer)/profiles
        +GET /api/slicing/(string: slicer)/profiles

        Returns a list of all available slicing profiles for the requested slicer.

        Returns a 200 OK response with a Profile list as the body upon successful completion.

        @@ -282,12 +282,12 @@
        -
        Parameters
        +
        Parameters:
        • slicer – The identifying key of the slicer for which to list the available profiles.

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 404 Not Found – If the slicer was unknown to the system or not yet configured.

        • @@ -298,10 +298,10 @@
        -

        Retrieve Specific Profile

        +

        Retrieve Specific Profile

        -GET /api/slicing/(string: slicer)/profiles/(string: key)
        +GET /api/slicing/(string: slicer)/profiles/(string: key)

        Retrieves the specified profile from the system.

        Returns a 200 OK response with a full Profile as the body upon successful completion.

        @@ -331,13 +331,13 @@
        -
        Parameters
        +
        Parameters:
        • slicer – The identifying key of the slicer for which to list the available profiles.

        • name – The identifying key of the profile to retrieve

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 404 Not Found – If the slicer or the profile key was unknown to the system.

        • @@ -348,10 +348,10 @@
        -

        Add Slicing Profile

        +

        Add Slicing Profile

        -PUT /api/slicing/(string: slicer)/profiles/(string: key)
        +PUT /api/slicing/(string: slicer)/profiles/(string: key)

        Adds a new slicing profile for the given slicer to the system. If the profile identified by key already exists, it will be overwritten.

        Expects a Profile as body.

        @@ -386,13 +386,13 @@
        -
        Parameters
        +
        Parameters:
        • slicer – The identifying key of the slicer for which to add the profile

        • key – The identifying key of the new profile

        -
        Status Codes
        +
        Status Codes:
        -

        Update Slicing Profile

        +

        Update Slicing Profile

        -PATCH /api/slicing/(string: slicer)/profiles/(string: key)
        +PATCH /api/slicing/(string: slicer)/profiles/(string: key)

        Updates the slicing profile identified by key for the slicer slicer.

        Expects a profile update request as body.

        Returns a 201 Created and an abridged Profile in the body upon successful completion.

        Requires the SETTINGS permission.

        -
        Parameters
        +
        Parameters:
        • slicer – The identifying key of the slicer for which to update the profile

        • key – The identifying key of the profile to update

        -
        JSON Parameters
        +
        JSON Parameters:
        • data – New profile overrides to apply

        • displayName – New display name

        • @@ -427,7 +427,7 @@
        • default – Whether to make the profile default (true) or not (false) for the slicer

        -
        Status Codes
        +
        Status Codes:
        -

        Delete Slicing Profile

        +

        Delete Slicing Profile

        -DELETE /api/slicing/(string: slicer)/profiles/(string: key)
        +DELETE /api/slicing/(string: slicer)/profiles/(string: key)

        Delete the slicing profile identified by key for the slicer slicer. If the profile doesn’t exist, the request will succeed anyway.

        Requires the SETTINGS permission.

        -
        Parameters
        +
        Parameters:
        • slicer – The identifying key of the slicer for which to delete the profile

        • key – The identifying key of the profile to delete

        -
        Status Codes
        +
        Status Codes:
        -

        Data model

        +

        Data model

        -

        Slicer list

        -

        Field

        Notes

        +

        Slicer list

        +
        ----++++ @@ -490,13 +490,13 @@

        Name

        -

        Slicer

        - +

        Slicer

        +
        ----++++ @@ -536,13 +536,13 @@

        Name

        -

        Profile list

        - +

        Profile list

        +
        ----++++ @@ -561,13 +561,13 @@

        Name

        -

        Profile

        - +

        Profile

        +
        ----++++ @@ -614,13 +614,13 @@

        Name

        -

        Profile Update Request

        - +

        Profile Update Request

        +
        ----++++ diff --git a/devel/api/system.html b/devel/api/system.html index 8f614009b..333d3227e 100644 --- a/devel/api/system.html +++ b/devel/api/system.html @@ -1,26 +1,26 @@ - + - + System — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -157,16 +157,16 @@
        -

        System

        +

        System

        Note

        All system operations require the SYSTEM permission.

        -

        List all registered system commands

        +

        List all registered system commands

        -GET /api/system/commands
        +GET /api/system/commands

        Retrieves all configured system commands.

        A 200 OK with a List all response will be returned.

        @@ -209,7 +209,7 @@
        -
        Status Codes
        +
        Status Codes:
        @@ -219,10 +219,10 @@
        -

        List all registered system commands for a source

        +

        List all registered system commands for a source

        -GET /api/system/commands/(string: source)
        +GET /api/system/commands/(string: source)

        Retrieves the configured system commands for the specified source.

        The response will contain a list of command definitions.

        Example

        @@ -260,12 +260,12 @@
        -
        Parameters
        +
        Parameters:
        • source – The source for which to list commands, currently either core or custom

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 404 Not Found – If a source other than core or custom is specified.

        • @@ -276,10 +276,10 @@
        -

        Execute a registered system command

        +

        Execute a registered system command

        -POST /api/system/commands/(string: source)/(string: action)
        +POST /api/system/commands/(string: source)/(string: action)

        Execute the system command action defined in source.

        Example

        Restart OctoPrint via the core system command restart (which is available if the server @@ -293,13 +293,13 @@

        -
        Parameters
        +
        Parameters:
        • source – The source for which to list commands, currently either core or custom

        • action – The identifier of the command, action from its definition

        -
        Status Codes
        +
        Status Codes:
        • 204 No Content – No error

        • 400 Bad Request – If a divider is supposed to be executed or if the request is malformed otherwise

        • @@ -313,15 +313,15 @@
        -

        Data model

        +

        Data model

        -

        List all response

        -

        Name

        +

        List all response

        +
        ----++++ @@ -345,15 +345,15 @@

        Name

        -

        Client command definitions

        +

        Client command definitions

        A restricted form of the full command definition. For exposing via the API.

        - +
        ----++++ @@ -395,14 +395,14 @@

        Name

        -

        Command definition

        +

        Command definition

        The full command definition is not available via the API.

        - +
        ----++++ diff --git a/devel/api/timelapse.html b/devel/api/timelapse.html index 70dde7ee4..518f9003e 100644 --- a/devel/api/timelapse.html +++ b/devel/api/timelapse.html @@ -1,26 +1,26 @@ - + - + Timelapse — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -160,8 +160,8 @@
        -

        Timelapse

        -
        +

        Timelapse

        +
        +
        -

        Retrieve a list of timelapses and the current config

        +

        Retrieve a list of timelapses and the current config

        -GET /api/timelapse
        +GET /api/timelapse

        Retrieves a list of timelapses and the current config.

        Returns a timelapse list in the response body.

        Requires the TIMELAPSE_LIST permission.

        -
        Parameters
        +
        Parameters:
        • unrendered – If provided and true, also include unrendered timelapses

        @@ -208,16 +208,16 @@
        -

        Delete a timelapse

        +

        Delete a timelapse

        -DELETE /api/timelapse/(string: name)
        +DELETE /api/timelapse/(string: name)

        Delete the timelapse name.

        Returns a timelapse list in the response body with the updated information.

        Requires the TIMELAPSE_DELETE permission.

        -
        Parameters
        +
        Parameters:
        • unrendered – If provided and true, also include unrendered timelapses in the response

        @@ -227,15 +227,15 @@
        -

        Issue a command for an unrendered timelapse

        +

        Issue a command for an unrendered timelapse

        -POST /api/timelapse/unrendered/(string: name)
        +POST /api/timelapse/unrendered/(string: name)

        Current only supports to render the unrendered timelapse name via the render command.

        Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

        -
        JSON Parameters
        +
        JSON Parameters:
        • command – The command to issue, currently only render is supported

        @@ -245,16 +245,16 @@
        -

        Delete an unrendered timelapse

        +

        Delete an unrendered timelapse

        -DELETE /api/timelapse/unrendered/(string: name)
        +DELETE /api/timelapse/unrendered/(string: name)

        Delete the unrendered timelapse name.

        Returns a timelapse list in the response body.

        Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

        -
        Parameters
        +
        Parameters:
        • unrendered – If provided and true, also include unrendered timelapses in the response

        @@ -264,10 +264,10 @@
        -

        Change current timelapse config

        +

        Change current timelapse config

        -POST /api/timelapse
        +POST /api/timelapse

        Save a new timelapse configuration to use for the next print. Set the optional save flag in the configuration to true in order to make the new configuration persist across restarts.

        The configuration is expected as the request body.

        @@ -275,7 +275,7 @@ response body.

        Requires the TIMELAPSE_ADMIN permission.

        -
        Parameters
        +
        Parameters:
        • unrendered – If provided and true, also include unrendered timelapses in the response

        @@ -285,15 +285,15 @@
        -

        Data model

        +

        Data model

        -

        Timelapse list

        -

        Name

        +

        Timelapse list

        +
        ----++++ @@ -322,13 +322,13 @@

        Name

        -

        Rendered timelapse

        - +

        Rendered timelapse

        +
        ----++++ @@ -372,13 +372,13 @@

        Name

        -

        Unrendered timelapse

        - +

        Unrendered timelapse

        +
        ----++++ @@ -427,13 +427,13 @@

        Name

        -

        Timelapse configuration

        - +

        Timelapse configuration

        +
        ----++++ @@ -457,14 +457,14 @@

        Name

        Further fields are timelapse type specific, see below for details.

        -

        Z-change-triggered timelapse

        +

        Z-change-triggered timelapse

        For timelapse type zchange.

        - +
        ----++++ @@ -503,14 +503,14 @@

        Name

        -

        Time triggered timelapse

        +

        Time triggered timelapse

        For timelapse type timed.

        - +
        ----++++ diff --git a/devel/api/util.html b/devel/api/util.html index 1f3b96168..29646505a 100644 --- a/devel/api/util.html +++ b/devel/api/util.html @@ -1,26 +1,26 @@ - + - + Util — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -157,12 +157,12 @@
        -

        Util

        +

        Util

        -

        Various tests

        +

        Various tests

        -POST /api/util/test
        +POST /api/util/test

        Provides commands to test paths or URLs for correctness.

        Used by OctoPrint to validate paths or URLs that the user needs to enter in the settings.

        @@ -505,7 +505,7 @@
        -
        JSON Parameters
        +
        JSON Parameters:
        • command – The command to execute, currently either path or url

        • pathpath command only: the path to test

        • @@ -527,7 +527,7 @@
        • addressaddress command only: the address to test

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error occurred

        @@ -537,15 +537,15 @@
        -

        Data model

        +

        Data model

        -

        Path test result

        -

        Name

        +

        Path test result

        +
        ----++++ @@ -584,13 +584,13 @@

        Name

        -

        URL test result

        - +

        URL test result

        +
        ----++++ @@ -632,13 +632,13 @@

        Name

        -

        Server test result

        - +

        Server test result

        +
        ----++++ @@ -672,13 +672,13 @@

        Name

        -

        Resolution test result

        - +

        Resolution test result

        +
        ----++++ @@ -702,13 +702,13 @@

        Name

        -

        Address test result

        - +

        Address test result

        +
        ----++++ diff --git a/devel/api/version.html b/devel/api/version.html index 4400b64ee..6b97de719 100644 --- a/devel/api/version.html +++ b/devel/api/version.html @@ -1,26 +1,26 @@ - + - + Version information — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,10 +146,10 @@
        -

        Version information

        +

        Version information

        -GET /api/version
        +GET /api/version

        Retrieve information regarding server and API version. Returns a JSON object with three keys, api containing the API version, server containing the server version, text containing the server version including the prefix OctoPrint (to determine that this is indeed a genuine OctoPrint instance).

        @@ -171,7 +171,7 @@
        -
        Status Codes
        +
        Status Codes:
        diff --git a/devel/api/wizard.html b/devel/api/wizard.html index ff28034a9..97bf0b6b0 100644 --- a/devel/api/wizard.html +++ b/devel/api/wizard.html @@ -1,26 +1,26 @@ - + - + Wizard — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -154,12 +154,12 @@
        -

        Wizard

        +

        Wizard

        Note

        All wizard operations require either the ADMIN permission or the firstRun flag to be true.

        -
        +
        +
        -

        Retrieve additional data about registered wizards

        +

        Retrieve additional data about registered wizards

        -GET /setup/wizard
        +GET /setup/wizard

        Retrieves additional data about the registered wizards.

        Returns a 200 OK with an object mapping wizard identifiers to wizard data entries.

        -

        Finish wizards

        +

        Finish wizards

        -POST /setup/wizard
        +POST /setup/wizard

        Inform wizards that the wizard dialog has been finished.

        Expects a JSON request body containing a property handled which holds a list of wizard identifiers which were handled (not skipped) in the wizard dialog.

        @@ -197,7 +197,7 @@ supplying the information whether the wizard plugin’s identifier was within the list of handled wizards or not.

        -
        JSON Parameters
        +
        JSON Parameters:
        • handled – A list of handled wizards

        @@ -207,15 +207,15 @@
        -

        Data model

        +

        Data model

        -

        Wizard data entry

        -

        Name

        +

        Wizard data entry

        +
        ----++++ diff --git a/devel/bundledplugins/action_command_notification.html b/devel/bundledplugins/action_command_notification.html index b7a4d35fd..0547a10c3 100644 --- a/devel/bundledplugins/action_command_notification.html +++ b/devel/bundledplugins/action_command_notification.html @@ -1,26 +1,26 @@ - + - + Action Command Notification support — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -148,9 +148,9 @@
        -

        Action Command Notification support

        +

        Action Command Notification support

        -

        New in version 1.4.1.

        +

        Added in version 1.4.1.

        The OctoPrint Action Command Notification Support Plugin comes bundled with OctoPrint.

        It allows firmware to trigger notifications users with the PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW permission @@ -160,11 +160,11 @@

        Simple notification example
        -

        Fig. 5 A simple notification example triggered by the firmware

        +

        Fig. 5 A simple notification example triggered by the firmware

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -175,21 +175,21 @@

          You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

        -

        Supported action commands

        +

        Supported action commands

        notification <message>

        Displays the notification <message>

        -

        Example communication with the firmware

        +

        Example communication with the firmware

        To display the above notification the firmware sent this action command:

        //action:notification Hello World!
         
        -

        Source code

        +

        Source code

        The source of the Action Command Prompt Notification plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_notification.

        diff --git a/devel/bundledplugins/action_command_prompt.html b/devel/bundledplugins/action_command_prompt.html index 773de0ae0..8f2bdaa63 100644 --- a/devel/bundledplugins/action_command_prompt.html +++ b/devel/bundledplugins/action_command_prompt.html @@ -1,26 +1,26 @@ - + - + Action Command Prompt support — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -148,9 +148,9 @@
        -

        Action Command Prompt support

        +

        Action Command Prompt support

        -

        New in version 1.3.9.

        +

        Added in version 1.3.9.

        The OctoPrint Action Command Prompt Support Plugin comes bundled with OctoPrint.

        It allows firmware to trigger dialog prompts for logged in users using action commands, e.g. to wait @@ -161,11 +161,11 @@

        Simple prompt example
        -

        Fig. 6 A simple dialog example triggered by the firmware

        +

        Fig. 6 A simple dialog example triggered by the firmware

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -181,7 +181,7 @@

          You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

        -

        Supported action commands

        +

        Supported action commands

        prompt_begin <message>

        Starts the definition of a prompt dialog. <message> is the message to display to the user. Will be ignored if a dialog is already defined.

        @@ -199,7 +199,7 @@
        -

        Example communication with the firmware

        +

        Example communication with the firmware

        To display the above dialog the firmware sent these action commands:

        //action:prompt_begin Filament unloaded, swap then proceed
         //action:prompt_choice Filament swapped
        @@ -219,13 +219,13 @@
         
        Another prompt example
        -

        Fig. 7 Another dialog example triggered by the firmware

        +

        Fig. 7 Another dialog example triggered by the firmware

        If the user selects “Abort print”, OctoPrint will send 2 as selected choice.

        -

        Source code

        +

        Source code

        The source of the Action Command Prompt Support plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_prompt.

        diff --git a/devel/bundledplugins/announcements.html b/devel/bundledplugins/announcements.html index 701d65e71..fe1e49d7d 100644 --- a/devel/bundledplugins/announcements.html +++ b/devel/bundledplugins/announcements.html @@ -1,26 +1,26 @@ - + - + Announcement Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
        -

        Announcement Plugin

        +

        Announcement Plugin

        -

        New in version 1.2.11.

        +

        Added in version 1.2.11.

        The OctoPrint Announcement Plugin comes bundled with OctoPrint.

        It displays announcements fetched from OctoPrint’s websites, such as important updates, release announcements, new @@ -157,23 +157,23 @@

        Example notification
        -

        Fig. 8 An example notification from the Announcement Plugin.

        +

        Fig. 8 An example notification from the Announcement Plugin.

        Announcement reader
        -

        Fig. 9 The Announcement Plugin’s reader dialog.

        +

        Fig. 9 The Announcement Plugin’s reader dialog.

        Announcement settings
        -

        Fig. 10 The Announcement Plugin’s settings dialog.

        +

        Fig. 10 The Announcement Plugin’s settings dialog.

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin allows enabling and disabling the preconfigured announcement channels via its settings dialog.

        On top of that it’s possible to add additional announcement channels (as RSS or Atom feed URLs) or change the configuration of the existing channels through config.yaml.

        @@ -200,7 +200,7 @@
        -

        Source code

        +

        Source code

        The source of the Announcement plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/announcements.

        diff --git a/devel/bundledplugins/appkeys.html b/devel/bundledplugins/appkeys.html index 916ff73c1..1f6236f46 100644 --- a/devel/bundledplugins/appkeys.html +++ b/devel/bundledplugins/appkeys.html @@ -1,26 +1,26 @@ - + - + Application Keys Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -181,9 +181,9 @@
        -

        Application Keys Plugin

        +

        Application Keys Plugin

        -

        New in version 1.3.10.

        +

        Added in version 1.3.10.

        The OctoPrint Application Keys Plugin comes bundled with OctoPrint.

        It implements a workflow for third party apps or clients to obtain an application specific API key from OctoPrint to interact with it @@ -192,23 +192,23 @@

        Confirmation
        -

        Fig. 11 The plugin’s confirmation generated for a new application key request.

        +

        Fig. 11 The plugin’s confirmation generated for a new application key request.

        Key management via user settings
        -

        Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

        +

        Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

        Global key management via settings
        -

        Fig. 13 Administrators can manage all application specific API keys registered to any user.

        +

        Fig. 13 Administrators can manage all application specific API keys registered to any user.

        -

        Workflow

        +

        Workflow

        The workflow to receive an API key for a third party client/an app via the Application Keys Plugin should consist of the following steps:

        @@ -290,9 +290,9 @@ end

        -

        Workflow with redirect to auth dialog

        +

        Workflow with redirect to auth dialog

        -

        New in version 1.8.0.

        +

        Added in version 1.8.0.

        Instead of asking the user to open the full blown OctoPrint interface to confirm the request, since OctoPrint 1.8.0 there also exists the alternative of redirecting the user to a @@ -380,17 +380,17 @@ end

        -

        API

        +

        API

        -

        Probe for workflow support

        +

        Probe for workflow support

        -GET /plugin/appkeys/probe
        +GET /plugin/appkeys/probe

        Probes for support of the workflow.

        Normally returns an HTTP 204 No Content, indicating workflow availability. If a different status code is returned (usually an HTTP 404 Not Found), the plugin is disabled or not installed. Fall back to manual api key exchange.

        -
        Status Codes
        +
        Status Codes:
        @@ -400,10 +400,10 @@
        -

        Start authorization process

        +

        Start authorization process

        -POST /plugin/appkeys/request
        +POST /plugin/appkeys/request

        Starts the authorization process.

        Expects a Authorization request as request body.

        The app parameter should be a human readable identifier to use @@ -417,13 +417,13 @@

        Returns a Authorization response and HTTP 201 Created with the Location header set to the endpoint to poll for a decision.

        -
        JSON Parameters
        +
        JSON Parameters:
        • app – application identifier to use for the request, case insensitive

        • user – optional user id to restrict the decision to the specified user

        -
        Status Codes
        +
        Status Codes:
        • 201 Created – authorization process started, polling URL to query can be found in Location header

        @@ -433,10 +433,10 @@
        -

        Poll for decision on existing request

        +

        Poll for decision on existing request

        -GET /plugin/appkeys/request/<str:app_token>
        +GET /plugin/appkeys/request/<str:app_token>

        Endpoint generated per authorization request to poll for the result.

        Returns an HTTP 202 Accepted while no decision has been made yet, an HTTP 200 OK and a Key response if access has been granted and an @@ -447,7 +447,7 @@ for more than 5s.

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – access granted, API key in response body

        • 202 Accepted – no decision has been made yet, continue polling

        • @@ -459,21 +459,21 @@
        -

        Decide on existing request

        +

        Decide on existing request

        -POST /plugin/appkeys/decision/<str:user_token>
        +POST /plugin/appkeys/decision/<str:user_token>

        Endpoint to decide on the authorization request.

        Expects a Decision request as request body.

        Returns an HTTP 204 No Content on success.

        Requires the PLUGIN_APPKEYS_GRANT permissions and a recent credentials check.

        -
        JSON Parameters
        +
        JSON Parameters:
        • decision – boolean value to indicate whether to confirm (True) or deny (False) access

        -
        Status Codes
        +
        Status Codes:
        @@ -483,10 +483,10 @@
        -

        Fetch list of existing application keys

        +

        Fetch list of existing application keys

        -GET /api/plugin/appkeys
        +GET /api/plugin/appkeys

        Fetches a list of existing application keys and pending requests registered in the system for the current user.

        If the additional optional parameter all is provided and the user has the PLUGIN_APPKEYS_ADMIN permission, fetches a list of all* application keys and pending requests registered in the system for any user.

        @@ -496,7 +496,7 @@

        Returns a 200 OK with a List response in the body upon success.

        -
        Query Parameters
        +
        Query Parameters:
        • all – Fetch all application keys and pending requests from all users. Requires the PLUGIN_APPKEYS_ADMIN permission.

        @@ -506,10 +506,10 @@
        -

        Issue an application key command

        +

        Issue an application key command

        -POST /api/plugin/appkeys
        +POST /api/plugin/appkeys

        Application key commands allow revoking existing application keys and manually generating new ones. The available commands are:

        @@ -586,7 +586,7 @@
        -
        JSON Parameters
        +
        JSON Parameters:
        • command (string) – The command to issue, either revoke or generate

        • app (string) – revoke & generate commands: The application identifier of the key to revoke or generate.

        • @@ -596,7 +596,7 @@ as of OctoPrint 1.10.0. Use app and optionally user instead.

        -
        Status Codes
        +
        Status Codes:
        • 200 OK – Key generation successful

        • 204 No Content – No error during key revocation

        • @@ -609,15 +609,15 @@
          -

          Data model

          +

          Data model

          -

          Authorization request

          -

        Name

        +

        Authorization request

        +
        ----++++ @@ -641,13 +641,13 @@

        Name

        -

        Authorization response

        - +

        Authorization response

        +
        ----++++ @@ -672,13 +672,13 @@

        Name

        -

        Key response

        - +

        Key response

        +
        ----++++ @@ -697,13 +697,13 @@

        Name

        -

        Decision request

        - +

        Decision request

        +
        ----++++ @@ -722,13 +722,13 @@

        Name

        -

        List response

        - +

        List response

        +
        ----++++ @@ -752,13 +752,13 @@

        Name

        -

        Key list entry

        - +

        Key list entry

        +
        ----++++ @@ -787,13 +787,13 @@

        Name

        -

        Pending list entry

        - +

        Pending list entry

        +
        ----++++ @@ -823,22 +823,22 @@
        -

        JavaScript Client Library

        +

        JavaScript Client Library

        -OctoPrintClient.plugins.appkeys.getKey(app, user, opts)
        +OctoPrintClient.plugins.appkeys.getKey(app, user, opts)

        Retrieves the key information the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

        See Fetch list of existing application keys for more details.

        -
        Arguments
        +
        Arguments:
        • app (string()) – Application identifier

        • user (string()) – Optional user identifier

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -846,16 +846,16 @@
        -OctoPrintClient.plugins.appkeys.getKeys(opts)
        +OctoPrintClient.plugins.appkeys.getKeys(opts)

        Retrieves registered keys and pending requests for the current user.

        See Fetch list of existing application keys for more details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -863,17 +863,17 @@
        -OctoPrintClient.plugins.appkeys.getAllKeys(opts)
        +OctoPrintClient.plugins.appkeys.getAllKeys(opts)

        Retrieves registered keys and pending requests for all users.

        Needs the PLUGIN_APPKEYS_ADMIN permission.

        See Fetch list of existing application keys for more details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -881,17 +881,17 @@
        -OctoPrintClient.plugins.appkeys.generateKey(app, opts)
        +OctoPrintClient.plugins.appkeys.generateKey(app, opts)

        Generates a key for the given app and the current user.

        See Issue an application key command for details.

        -
        Arguments
        +
        Arguments:
        • app (string()) – Application identifier

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -899,7 +899,7 @@
        -OctoPrintClient.plugins.appkeys.revokeKey(key, opts)
        +OctoPrintClient.plugins.appkeys.revokeKey(key, opts)

        Revokes the given key. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

        See Issue an application key command for details.

        @@ -907,13 +907,13 @@

        Deprecated since version 1.10.0: revokeKey has been deprecated. Use revokeKeyForApp instead.

        -
        Arguments
        +
        Arguments:
        • key (string()) – Key to revoke

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -921,19 +921,19 @@
        -OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)
        +OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)

        Revokes the key for the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

        See Issue an application key command for details.

        -
        Arguments
        +
        Arguments:
        • app (string()) – Application identifier

        • user (string()) – Optional user identifier

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -941,18 +941,18 @@
        -OctoPrintClient.plugins.appkeys.decide(token, decision, opts)
        +OctoPrintClient.plugins.appkeys.decide(token, decision, opts)

        Decides on an existing authorization request.

        See Decide on existing request for more details.

        -
        Arguments
        +
        Arguments:
        • token (string()) – User token for which to make the decision, as pushed to the client via the socket.

        • decision (boolean()) – Whether to grant access (true) or not (false).

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -960,16 +960,16 @@
        -OctoPrintClient.plugins.appkeys.probe(opts)
        +OctoPrintClient.plugins.appkeys.probe(opts)

        Probes for workflow support.

        See Probe for workflow support for more details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -977,16 +977,16 @@
        -OctoPrintClient.plugins.appkeys.request(app, opts)
        +OctoPrintClient.plugins.appkeys.request(app, opts)

        Starts a new authorization request for the provided app identifier.

        See Start authorization process for more details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -994,16 +994,16 @@
        -OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)
        +OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)

        Starts a new authorization request for the provided app and user identifiers.

        See Start authorization process for more details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -1011,16 +1011,16 @@
        -OctoPrintClient.plugins.appkeys.checkDecision(token, opts)
        +OctoPrintClient.plugins.appkeys.checkDecision(token, opts)

        Polls for a decision on an existing authorization request identified by token.

        See Poll for decision on existing request for more details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -1028,7 +1028,7 @@
        -OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)
        +OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)

        Convenience function that probes for support, issues a request and then automatically starts polling for a decision on the returned polling endpoint every 1s, until either a positive or negative decision is returned. On success the returned promise is resolved with the generated API key as argument. If anything goes wrong or there is no support @@ -1044,14 +1044,14 @@

        -
        Arguments
        +
        Arguments:
        • app (string()) – Application identifier

        • user (string()) – Optional user identifier

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -1059,7 +1059,7 @@
        -

        Source code

        +

        Source code

        The source of the Application Keys plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/appkeys.

        diff --git a/devel/bundledplugins/backup.html b/devel/bundledplugins/backup.html index f48cbcfe3..b064409da 100644 --- a/devel/bundledplugins/backup.html +++ b/devel/bundledplugins/backup.html @@ -1,26 +1,26 @@ - + - + Backup Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -161,26 +161,26 @@
        -

        Backup Plugin

        +

        Backup Plugin

        -

        New in version 1.3.10.

        +

        Added in version 1.3.10.

        The OctoPrint Backup Plugin comes bundled with OctoPrint (starting with 1.3.10).

        -

        It allows the creation and restoration 4 of backups of OctoPrint’s settings, data and installed plugins 5 -(but doesn’t restore the same plugins versions 6).

        +

        It allows the creation and restoration [4] of backups of OctoPrint’s settings, data and installed plugins [5] +(but doesn’t restore the same plugins versions [6]).

        This allows easy migration to newly setup instances as well as making regular backups to prevent data loss.

        OctoPrint Backup Plugin
        -

        Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

        +

        Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

        As long as plugins adhere to the standard of storing their data and settings in OctoPrint’s plugin data folders, their data will be part of the backup. Note that the backups made by the Backup Plugin will not be part of any backups - you’ll need to persist the resulting zip files yourself!

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -193,7 +193,7 @@
        -

        Command line usage

        +

        Command line usage

        The Backup Plugin implements a command line interface that allows creation and restoration of backups. It adds two new commands, backup:backup and backup:restore.

        $ octoprint plugins backup:backup --help
        @@ -225,7 +225,7 @@
         
        -

        Events

        +

        Events

        Events will not be triggered by CLI operations.

        plugin_backup_backup_created

        A new backup was created. On the push socket only available with a valid login session with Backup Access @@ -239,20 +239,20 @@

        -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        -

        Hooks

        +

        Hooks

        -

        octoprint.plugin.backup.additional_excludes

        +

        octoprint.plugin.backup.additional_excludes

        -additional_excludes_hook(excludes, *args, **kwargs)
        +additional_excludes_hook(excludes, *args, **kwargs)
        -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        Use this to provide additional paths on your plugin’s data folder to exclude from the backup. Your handler also get a list of currently excluded sub paths in the base folder, so you can react to them. E.g. exclude things @@ -309,13 +309,13 @@

        -
        Parameters
        +
        Parameters:

        list (excludes) – A list of paths already flagged as excluded in the backup

        -
        Returns
        +
        Returns:

        A list of paths to exclude, relative to your plugin’s data folder

        -
        Return type
        +
        Return type:

        list

        @@ -323,29 +323,29 @@
        -

        octoprint.plugin.backup.before_backup

        +

        octoprint.plugin.backup.before_backup

        -before_backup_hook(*args, **kwargs)
        +before_backup_hook(*args, **kwargs)
        -

        New in version 1.9.0.

        +

        Added in version 1.9.0.

        Use this to perform actions right before a backup is created.

        -

        octoprint.plugin.backup.after_backup

        +

        octoprint.plugin.backup.after_backup

        -after_backup_hook(error=False, *args, **kwargs)
        +after_backup_hook(error=False, *args, **kwargs)
        -

        New in version 1.9.0.

        +

        Added in version 1.9.0.

        Use this to perform actions right after a backup was created or backup creation failed. The error parameter will be set to True if the backup creation failed.

        -
        Parameters
        +
        Parameters:

        bool (error) – Whether the backup creation failed or not

        @@ -353,29 +353,29 @@
        -

        octoprint.plugin.backup.before_restore

        +

        octoprint.plugin.backup.before_restore

        -before_restore_hook(*args, **kwargs)
        +before_restore_hook(*args, **kwargs)
        -

        New in version 1.9.0.

        +

        Added in version 1.9.0.

        Use this to perform actions right before a backup is restored.

        -

        octoprint.plugin.backup.after_restore

        +

        octoprint.plugin.backup.after_restore

        -after_restore_hook(error=False, *args, **kwargs)
        +after_restore_hook(error=False, *args, **kwargs)
        -

        New in version 1.9.0.

        +

        Added in version 1.9.0.

        Use this to perform actions right after a backup was restored or backup restoration failed. The error parameter will be set to True if the backup restoration failed.

        -
        Parameters
        +
        Parameters:

        bool (error) – Whether the backup restoration failed or not

        @@ -384,16 +384,16 @@
        -

        Helpers

        +

        Helpers

        The Backup plugin exports two helpers that can be used by other plugins or internal methods from within OctoPrint, without going via the API.

        -

        create_backup

        +

        create_backup

        -octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
        +octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
        -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        Create a backup from a plugin or other internal call

        This helper is exported as create_backup and can be used from the plugin @@ -410,7 +410,7 @@

        By using the if helpers [...] clause, plugins can fall back to other methods when they are running under versions where these helpers did not exist.

        -
        Parameters
        +
        Parameters:
        • exclude (list) – Names of data folders to exclude, defaults to None

        • filename (str) – Name of backup to be created, if None (default) the backup @@ -422,12 +422,12 @@

        -

        delete_backup

        +

        delete_backup

        -octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
        +octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
        -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        Delete the specified backup from a plugin or other internal call

        This helper is exported as delete_backup and can be used through the plugin @@ -450,7 +450,7 @@ for example the name from the events or other helpers.

        -
        Parameters
        +
        Parameters:

        filename (str) – The name of the backup to delete

        @@ -459,24 +459,27 @@
        -

        Source code

        +

        Source code

        The source of the Backup plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/backup.

        -
        -
        4
        -

        Note that restore is currently unavailable on OctoPrint servers running on Windows. Additionally they may be +

        -
        5
        -

        Note that only those plugins that are available on OctoPrint’s official plugin repository + +

        -
        6
        -

        Note that the restore process will install the latest possible versions of the plugins instead of the version that was installed at backup + +

        -
        + +
        diff --git a/devel/bundledplugins/discovery.html b/devel/bundledplugins/discovery.html index c6c4a739d..04e3c4e27 100644 --- a/devel/bundledplugins/discovery.html +++ b/devel/bundledplugins/discovery.html @@ -1,26 +1,26 @@ - + - + Discovery Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -155,9 +155,9 @@
        -

        Discovery Plugin

        +

        Discovery Plugin

        -

        New in version 1.2.0.

        +

        Added in version 1.2.0.

        The OctoPrint Discovery Plugin comes bundled with OctoPrint.

        It allows discovery of the OctoPrint instances via SSDP/UPNP and ZeroConf @@ -174,11 +174,11 @@

        OctoPrint instances in Windows Explorer
        -

        Fig. 15 Various discovered OctoPrint instances in Windows Explorer

        +

        Fig. 15 Various discovered OctoPrint instances in Windows Explorer

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -216,7 +216,7 @@
        -

        Further ZeroConf Services

        +

        Further ZeroConf Services

        The configuration also allows specifying additional ZeroConf service OctoPrint should announce itself as. Each entry supports the following fields:

        @@ -232,7 +232,7 @@
        -

        Example

        +

        Example

        The following snippet is a valid configuration example for the discovery plugin in OctoPrint’s config.yaml:

        plugins:
        @@ -255,16 +255,16 @@
         
        -

        Announced Services

        +

        Announced Services

        -

        ZeroConf Service _http._tcp

        +

        ZeroConf Service _http._tcp

        OctoPrint will announce itself on the network via ZeroConf as service _http._tcp, with the TXT record containing the standard fields.

        See also this documentation of _http._tcp TXT records for more information.

        -

        ZeroConf Service _octoprint._tcp

        +

        ZeroConf Service _octoprint._tcp

        OctoPrint will announce itself on the network via ZeroConf as service _octoprint._tcp. The TXT record may contain the following fields:

        @@ -288,7 +288,7 @@
        -

        Source code

        +

        Source code

        The source of the Discovery plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/discovery.

        diff --git a/devel/bundledplugins/errortracking.html b/devel/bundledplugins/errortracking.html index 7f5622d2b..b6ce6affa 100644 --- a/devel/bundledplugins/errortracking.html +++ b/devel/bundledplugins/errortracking.html @@ -1,26 +1,26 @@ - + - + Error Tracking Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
        -

        Error Tracking Plugin

        +

        Error Tracking Plugin

        -

        New in version 1.3.11.

        +

        Added in version 1.3.11.

        The Error Tracking plugin will cause any logged exceptions in the server and the browser interface to be sent to OctoPrint’s Sentry instance.

        @@ -162,7 +162,7 @@ and their Privacy Policy.

        The Error Tracking plugin has been bundled with OctoPrint since version 1.3.11.

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -174,7 +174,7 @@
        -

        Source Code

        +

        Source Code

        The source of the Error Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/errortracking.

        diff --git a/devel/bundledplugins/file_check.html b/devel/bundledplugins/file_check.html index cf066507b..6f9b7824d 100644 --- a/devel/bundledplugins/file_check.html +++ b/devel/bundledplugins/file_check.html @@ -1,26 +1,26 @@ - + - + File Check — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -142,9 +142,9 @@
        -

        File Check

        +

        File Check

        -

        New in version 1.4.1.

        +

        Added in version 1.4.1.

        The file check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

        diff --git a/devel/bundledplugins/firmware_check.html b/devel/bundledplugins/firmware_check.html index a47487406..20d62301c 100644 --- a/devel/bundledplugins/firmware_check.html +++ b/devel/bundledplugins/firmware_check.html @@ -1,26 +1,26 @@ - + - + Firmware Check — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -142,9 +142,9 @@
        -

        Firmware Check

        +

        Firmware Check

        -

        New in version 1.3.7.

        +

        Added in version 1.3.7.

        The firmware check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

        diff --git a/devel/bundledplugins/gcodeviewer.html b/devel/bundledplugins/gcodeviewer.html index fb801df3f..26b4e435f 100644 --- a/devel/bundledplugins/gcodeviewer.html +++ b/devel/bundledplugins/gcodeviewer.html @@ -1,26 +1,26 @@ - + - + GCode Viewer Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
        -

        GCode Viewer Plugin

        +

        GCode Viewer Plugin

        Changed in version 1.4.1.

        @@ -154,13 +154,13 @@
        OctoPrint GCode Viewer Plugin
        -

        Fig. 16 An example of the GCode Viewer in action.

        +

        Fig. 16 An example of the GCode Viewer in action.

        The viewer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has been extracted into its own bundled plugin.

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -172,7 +172,7 @@
        -

        Source Code

        +

        Source Code

        The source of the GCode Viewer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/gcodeviewer.

        diff --git a/devel/bundledplugins/index.html b/devel/bundledplugins/index.html index def2ee20c..66a47d7b8 100644 --- a/devel/bundledplugins/index.html +++ b/devel/bundledplugins/index.html @@ -1,26 +1,26 @@ - + - + Bundled Plugins — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -140,7 +140,7 @@
        -

        Bundled Plugins

        +

        Bundled Plugins

        • Action Command Notification support
            diff --git a/devel/bundledplugins/logging.html b/devel/bundledplugins/logging.html index b2310d21a..fd69252dc 100644 --- a/devel/bundledplugins/logging.html +++ b/devel/bundledplugins/logging.html @@ -1,26 +1,26 @@ - + - + Logging — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -158,29 +158,29 @@
            -

            Logging

            +

            Logging

            -

            New in version 1.3.7.

            +

            Added in version 1.3.7.

            The OctoPrint Logging plugin implements the log management functionality that was formerly part of the core application and adds features to configure logging levels for sub modules through the included settings dialog.

            Logging plugin
            -

            Fig. 17 The settings dialog of the Logging plugin

            +

            Fig. 17 The settings dialog of the Logging plugin

            -

            API

            +

            API

            Note

            All log file management operations require admin rights.

            -

            Retrieve a list of available log files

            +

            Retrieve a list of available log files

            -GET /plugin/logging/logs
            +GET /plugin/logging/logs

            Retrieve information regarding all log files currently available and regarding the disk space still available in the system on the location the log files are being stored.

            Returns a Logfile Retrieve response.

            @@ -228,7 +228,7 @@
        -
        Status Codes
        +
        Status Codes:
        • 200 OK – No error

        • 403 Forbidden – If the given API token did not have admin rights associated with it

        • @@ -239,10 +239,10 @@
        -

        Delete a specific logfile

        +

        Delete a specific logfile

        -DELETE /plugin/logging/logs/(path: filename)
        +DELETE /plugin/logging/logs/(path: filename)

        Delete the selected log file with name filename.

        Returns a 204 No Content after successful deletion.

        Example Request

        @@ -252,12 +252,12 @@
        -
        Parameters
        +
        Parameters:
        • filename – The filename of the log file to delete

        -
        Status Codes
        +
        Status Codes:
        • 204 No Content – No error

        • 403 Forbidden – If the given API token did not have admin rights associated with it

        • @@ -269,15 +269,15 @@
        -

        Data model

        +

        Data model

        -

        Logfile Retrieve Response

        -

        Name

        +

        Logfile Retrieve Response

        +
        ----++++ @@ -301,13 +301,13 @@

        Name

        -

        File information

        - +

        File information

        +
        ----++++ @@ -341,13 +341,13 @@

        Name

        -

        References

        - +

        References

        +
        ----++++ @@ -373,10 +373,10 @@
        -

        JS Client Library

        +

        JS Client Library

        -

        OctoPrintClient.plugins.logging

        +

        OctoPrintClient.plugins.logging

        Note

        All methods here require that the used API token or the existing browser session @@ -384,16 +384,16 @@

        -OctoPrintClient.plugins.logging.listLogs(opts)
        +OctoPrintClient.plugins.logging.listLogs(opts)

        Retrieves a list of log files.

        See Retrieve a list of available log files for details.

        -
        Arguments
        +
        Arguments:
        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -401,17 +401,17 @@

        -OctoPrintClient.plugins.logging.deleteLog(path, opts)
        +OctoPrintClient.plugins.logging.deleteLog(path, opts)

        Deletes the specified log path.

        See Delete a specific log file for details.

        -
        Arguments
        +
        Arguments:
        • path (string()) – The path to the log file to delete

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -419,17 +419,17 @@

        -OctoPrintClient.plugins.logging.downloadLog(path, opts)
        +OctoPrintClient.plugins.logging.downloadLog(path, opts)

        Downloads the specified log file.

        See OctoPrint.download() for more details on the underlying library download mechanism.

        -
        Arguments
        +
        Arguments:
        • path (string()) – The path to the log file to download

        • opts (object()) – Additional options for the request

        -
        Returns Promise
        +
        Returns Promise:

        A jQuery Promise for the request’s response

        @@ -437,7 +437,7 @@

        -

        Source Code

        +

        Source Code

        The source of the Logging plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/logging.

        diff --git a/devel/bundledplugins/pluginmanager.html b/devel/bundledplugins/pluginmanager.html index 20c216f5e..c98c262ec 100644 --- a/devel/bundledplugins/pluginmanager.html +++ b/devel/bundledplugins/pluginmanager.html @@ -1,26 +1,26 @@ - + - + Plugin Manager — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -151,9 +151,9 @@
        -

        Plugin Manager

        +

        Plugin Manager

        -

        New in version 1.2.0.

        +

        Added in version 1.2.0.

        The OctoPrint Plugin Manager comes bundled with OctoPrint.

        It allows management of installed plugins (listing, enabling, disabling @@ -183,23 +183,23 @@

        Plugin Manager
        -

        Fig. 18 The main dialog of the Plugin Manager

        +

        Fig. 18 The main dialog of the Plugin Manager

        Installation dialog
        -

        Fig. 19 Dialog for installing new plugins

        +

        Fig. 19 Dialog for installing new plugins

        Filter options for the repository browser
        -

        Fig. 20 Filter options for the repository browser

        +

        Fig. 20 Filter options for the repository browser

        -

        Configuring the Plugin

        +

        Configuring the Plugin

        The Plugin Manager plugin only has a handful of configuration settings which normally won’t have to be touched.

        You can modify them either through the plugin’s configuration dialog that @@ -244,7 +244,7 @@

        -

        Events

        +

        Events

        plugin_pluginmanager_install_plugin

        A plugin was installed.

        Payload:

        @@ -287,12 +287,12 @@
        -

        Hooks

        +

        Hooks

        -

        octoprint.plugin.pluginmanager.reconnect_hooks

        +

        octoprint.plugin.pluginmanager.reconnect_hooks

        -reconnect_hooks_hook(*args, **kwargs)
        +reconnect_hooks_hook(*args, **kwargs)

        Returns additional hooks defined by the plugin for which the plugin manager should display the “You should reconnect to your printer” message on plugin install/uninstall/enabling/disabling.

        @@ -312,7 +312,7 @@
        -

        Source Code

        +

        Source Code

        The source of the Plugin Manager is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/pluginmanager.

        diff --git a/devel/bundledplugins/softwareupdate.html b/devel/bundledplugins/softwareupdate.html index c00cdfecc..09d51ccc0 100644 --- a/devel/bundledplugins/softwareupdate.html +++ b/devel/bundledplugins/softwareupdate.html @@ -1,26 +1,26 @@ - + - + Software Update Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -166,16 +166,16 @@
        -

        Software Update Plugin

        +

        Software Update Plugin

        -

        New in version 1.2.0.

        +

        Added in version 1.2.0.

        The Software Update Plugin allows receiving notifications about new releases of OctoPrint or installed plugins which registered with it and – if properly configured – also applying the found updates.

        It comes bundled with OctoPrint.

        -

        First Steps

        +

        First Steps

        Out of the box the Software Update Plugin will be able to notify you of any updates that might be available for your OctoPrint installation or any plugins that registered themselves with it. In order for automatic restarts after updates @@ -188,7 +188,7 @@

        Software Update plugin configuration dialog
        -

        Fig. 21 The Software Update plugin configuration dialog

        +

        Fig. 21 The Software Update plugin configuration dialog

        There you can adjust the following settings:

        @@ -217,7 +217,7 @@

        Restart commands for OctoPrint and the whole server can be configured under Settings > Server.

        -

        Command line usage

        +

        Command line usage

        The functionality of the Software Update Plugin is also available on OctoPrint’s command line interface under the plugins sub command. It’s possible to check for updates via octoprint plugins softwareupdate:check and to apply available updates via octoprint plugins softwareupdate:update. Please see the corresponding @@ -272,7 +272,7 @@

        -

        Configuring the Plugin

        +

        Configuring the Plugin

        plugins:
           softwareupdate:
             # configured version check and update methods
        @@ -331,7 +331,7 @@
         
        -

        Version checks

        +

        Version checks

        Version check types are configured through the type parameter. The following types are currently recognized:

        @@ -353,7 +353,7 @@ will be matched.

        -

        New in version 1.2.16.

        +

        Added in version 1.2.16.

      • stable_branch: Stable channel definition, optional. Structure:

        @@ -366,7 +366,7 @@ will be matched.

      • -

        New in version 1.2.16.

        +

        Added in version 1.2.16.

      • prerelease_channel: Release channel to limit updates to. If set only @@ -411,7 +411,7 @@ a new app password. App passwords are user specific on Bitbucket.

      • -

        New in version 1.3.5.

        +

        Added in version 1.3.5.

      • git_commit: Checks a local git repository for new commits on its @@ -427,7 +427,7 @@

      • package: (mandatory) Name of the package which to check.

      • -

        New in version 1.4.0.

        +

        Added in version 1.4.0.

      • httpheader: Checks an HTTP header on a defined URL for changes. This can be used for easy checks @@ -442,7 +442,7 @@ will be used. If set to an empty string, no prefix will be added.

      • -

        New in version 1.4.1.

        +

        Added in version 1.4.1.

      • jsondata: Checks the provided JSON endpoint for changes. The JSON endpoint must return an object with the @@ -452,7 +452,7 @@

      • jsondata: (mandatory) URL from which to fetch the JSON data

      • -

        New in version 1.4.1.

        +

        Added in version 1.4.1.

      • command_line: Uses a provided script to determine whether an update @@ -480,7 +480,7 @@

      • current_version: Version to report for both local and remote version.

      • -

        New in version 1.3.7.

        +

        Added in version 1.3.7.

      • never_current: Always reports that an update is necessary. Useful for debugging @@ -490,14 +490,14 @@

      • remote_version: Remote version to offer update to. Defaults to 1.0.1.

      • -

        New in version 1.3.7.

        +

        Added in version 1.3.7.

        -

        Update methods

        +

        Update methods

        Update methods are specified via the method parameter. Some update methods are assigned implicitly through the presence of their mandatory configuration parameters. The following methods are currently supported:

        @@ -551,7 +551,7 @@ a countdown in the meantime. Useful for debugging software update mechanisms during development.

        -

        New in version 1.3.7.

        +

        Added in version 1.3.7.

        @@ -581,7 +581,7 @@
        -

        Common configuration patterns

        +

        Common configuration patterns

        Example for a setup that allows “bleeding edge” updates of OctoPrint under OctoPi (the update_script gets configured correctly automatically by the plugin itself):

        @@ -711,9 +711,9 @@ be cached by Github for a bit, so an update will not be immediately picked up.

        -

        Global credentials

        +

        Global credentials

        -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        Starting with OctoPrint 1.5.0, the Software Update Plugin supports supplying a GitHub API token to use for the github_release and github_commit version check types, @@ -730,7 +730,7 @@

        -

        Events

        +

        Events

        plugin_softwareupdate_update_succeeded

        An update succeeded.

        Payload:

        @@ -755,12 +755,12 @@
        -

        Hooks

        +

        Hooks

        -

        octoprint.plugin.softwareupdate.check_config

        +

        octoprint.plugin.softwareupdate.check_config

        -update_config_hook(*args, **kwargs)
        +update_config_hook(*args, **kwargs)

        Returns additional check configurations for the Software Update plugin.

        Handlers should return a Python dict containing one entry per check. Usually this will probably only be the check configuration for the plugin providing @@ -799,10 +799,10 @@

        -
        Returns
        +
        Returns:

        A dictionary of check configurations as described above

        -
        Return type
        +
        Return type:

        dict

        @@ -811,28 +811,28 @@
        -

        Helpers

        +

        Helpers

        -

        version_checks

        +

        version_checks

        version_checks module of the Software Update plugin, allows reusing the bundled version check variants from plugins (e.g. wrapped in a python_checker).

        -

        updaters

        +

        updaters

        updaters module of the Software Update plugin, allows reusing the bundled updater variants from plugins (e.g. wrapped in a python_updater).

        -

        exceptions

        +

        exceptions

        exceptions module of the Software Update plugin.

        -

        util

        +

        util

        util module of the Software Update plugin.

        -

        Source Code

        +

        Source Code

        The source of the Software Update plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/softwareupdate.

        diff --git a/devel/bundledplugins/tracking.html b/devel/bundledplugins/tracking.html index ab0253bc2..0372d11a9 100644 --- a/devel/bundledplugins/tracking.html +++ b/devel/bundledplugins/tracking.html @@ -1,26 +1,26 @@ - + - + Anonymous Usage Tracking Plugin — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
        -

        Anonymous Usage Tracking Plugin

        +

        Anonymous Usage Tracking Plugin

        -

        New in version 1.3.10.

        +

        Added in version 1.3.10.

        The Anonymous Usage Tracking plugin provides valuable insights into how many instances running what versions of OctoPrint are out there, whether they are successfully completing print jobs and various other metrics.

        @@ -158,7 +158,7 @@ and also the Privacy Policy at tracking.octoprint.org.

        The Anonymous Usage Tracking plugin has been bundled with OctoPrint since version 1.3.10.

        -

        Configuring the plugin

        +

        Configuring the plugin

        The plugin supports the following configuration keys:

          @@ -190,7 +190,7 @@
        -

        Source Code

        +

        Source Code

        The source of the Anonymous Usage Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/tracking.

        diff --git a/devel/bundledplugins/virtual_printer.html b/devel/bundledplugins/virtual_printer.html index 0c711cddd..505015a90 100644 --- a/devel/bundledplugins/virtual_printer.html +++ b/devel/bundledplugins/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Virtual Printer — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
        -

        Virtual Printer

        +

        Virtual Printer

        Changed in version 1.4.1.

        @@ -156,11 +156,11 @@

        The virtual printer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has finally been fully extracted into its own bundled plugin.

        -

        Configuring the plugin

        +

        Configuring the plugin

        Please refer to the development documentation.

        -

        Source Code

        +

        Source Code

        The source of the Virtual Printer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/virtual_printer.

        diff --git a/devel/configuration/cli.html b/devel/configuration/cli.html index ee09b273f..8248a118b 100644 --- a/devel/configuration/cli.html +++ b/devel/configuration/cli.html @@ -1,26 +1,26 @@ - + - + CLI — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -131,9 +131,9 @@
        -

        CLI

        +

        CLI

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        OctoPrint provides a basic command line interface for manipulation of config.yaml:

        $ octoprint config --help
        diff --git a/devel/configuration/config_yaml.html b/devel/configuration/config_yaml.html
        index 58ccac04b..de47c88c3 100644
        --- a/devel/configuration/config_yaml.html
        +++ b/devel/configuration/config_yaml.html
        @@ -1,26 +1,26 @@
         
        -
        +
         
        -  
        +  
         
           
           config.yaml — OctoPrint devel documentation
        -      
        -      
        -      
        +      
        +      
        +      
         
           
           
           
        -        
        -        
        -        
        -        
        -        
        -        
        -        
        +        
        +        
        +        
        +        
        +        
        +        
        +        
                 
             
             
        @@ -154,7 +154,7 @@
                    
        -

        config.yaml

        +

        config.yaml

        If not specified via the command line, the main configuration file config.yaml for OctoPrint is expected in its settings folder, which unless defined differently via the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS. If the file is not there, @@ -162,7 +162,7 @@ settings.

        Note that many of these settings are available from the “Settings” menu in OctoPrint itself. They can also be configured via config command line interface.

        -
        +
        +
        -

        Access Control

        +

        Access Control

        Use the following settings to enable access control:

        accessControl:
           # The user manager implementation to use for accessing user information. Currently only a filebased
        @@ -251,7 +251,7 @@
         
        -

        API

        +

        API

        Settings for the REST API:

        api:
           # Whether to enable the API
        @@ -273,7 +273,7 @@
         
        -

        Appearance

        +

        Appearance

        Use the following settings to tweak OctoPrint’s appearance a bit to better distinguish multiple instances/printers appearance or to modify the order and presence of the various UI components:

        appearance:
        @@ -422,7 +422,7 @@
         
        -

        Controls

        +

        Controls

        Use the controls section to add custom controls to the “Controls” tab within OctoPrint.

        controls:
        @@ -443,7 +443,7 @@
         
        -

        Development settings

        +

        Development settings

        The following settings are only relevant to you if you want to do OctoPrint development:

        # Settings only relevant for development
         devel:
        @@ -485,7 +485,7 @@
         
        -

        Estimation

        +

        Estimation

        The following settings provide parameters for estimators within OctoPrint. Currently only the estimation of the left print time during an active job utilizes this section.

        estimation:
        @@ -517,7 +517,7 @@
         
        -

        Events

        +

        Events

        Use the following settings to add shell/gcode commands to be executed on certain events:

        events:
           subscriptions:
        @@ -554,7 +554,7 @@
         
        -

        Feature

        +

        Feature

        Use the following settings to enable or disable OctoPrint features:

        feature:
         
        @@ -597,7 +597,7 @@
         
        -

        Folder

        +

        Folder

        Use the following settings to set custom paths for folders used by OctoPrint:

        folder:
           # Absolute path where to store gcode uploads. Defaults to the uploads folder in the OctoPrint settings folder
        @@ -639,7 +639,7 @@
         
        -

        GCODE Analysis

        +

        GCODE Analysis

        Settings pertaining to the server side GCODE analysis implementation.

        gcodeAnalysis:
           # Maximum number of extruders to support/to sanity check for
        @@ -655,7 +655,7 @@
         
        -

        GCODE Viewer

        +

        GCODE Viewer

        Settings pertaining to the built in GCODE Viewer.

        gcodeViewer:
           # Whether to enable the GCODE viewer in the UI
        @@ -672,7 +672,7 @@
         
        -

        Plugin settings

        +

        Plugin settings

        The plugins section is where plugins can store their specific settings. It is also where the installed but disabled plugins are tracked:

        # Settings for plugins
        @@ -703,7 +703,7 @@
         
        -

        Printer Profiles

        +

        Printer Profiles

        Defaults settings for printer profiles.

        # Settings for printer profiles
         printerProfiles:
        @@ -718,7 +718,7 @@
         
        -

        Scripts

        +

        Scripts

        Default scripts and snippets. You’d usually not edit the config.yaml file to adjust those but instead create the corresponding files in ~/.octoprint/scripts/. See GCODE Script.

        # Configured scripts
        @@ -752,7 +752,7 @@
         
        -

        Serial

        +

        Serial

        Use the following settings to configure the serial connection to the printer:

        serial:
           # Use the following option to define the default serial port, defaults to unset (= AUTO)
        @@ -962,7 +962,7 @@
         
        -

        Server

        +

        Server

        Use the following settings to configure the server:

        server:
           # Use this option to define the host to which to bind the server, defaults to "0.0.0.0" (= all
        @@ -1184,7 +1184,7 @@
         
        -

        Slicing

        +

        Slicing

        Settings for the built-in slicing support:

        # Slicing settings
         slicing:
        @@ -1202,7 +1202,7 @@
         
        -

        System

        +

        System

        Use the following settings to add custom system commands to the “System” dropdown within OctoPrint’s top bar.

        Commands consist of a name shown to the user, an action identifier used by the code and the actual command including any argument needed for its execution. @@ -1228,7 +1228,7 @@

        -

        Temperature

        +

        Temperature

        Use the following settings to configure temperature profiles which will be displayed in the temperature tab:

        temperature:
           profiles:
        @@ -1242,7 +1242,7 @@
         
        -

        Terminal Filters

        +

        Terminal Filters

        Use the following settings to define a set of terminal filters to display in the terminal tab for filtering certain lines from the display terminal log.

        Use Javascript regular expressions:

        @@ -1260,7 +1260,7 @@
        -

        Webcam

        +

        Webcam

        Use the following settings to configure webcam support:

        webcam:
           # Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer.
        diff --git a/devel/configuration/index.html b/devel/configuration/index.html
        index 7017767a3..e907c4ef5 100644
        --- a/devel/configuration/index.html
        +++ b/devel/configuration/index.html
        @@ -1,26 +1,26 @@
         
        -
        +
         
        -  
        +  
         
           
           Configuration — OctoPrint devel documentation
        -      
        -      
        -      
        +      
        +      
        +      
         
           
           
           
        -        
        -        
        -        
        -        
        -        
        -        
        -        
        +        
        +        
        +        
        +        
        +        
        +        
        +        
                 
             
             
        @@ -129,7 +129,7 @@
                    
        -

        Configuration

        +

        Configuration

        • A YAML Primer
            diff --git a/devel/configuration/logging_yaml.html b/devel/configuration/logging_yaml.html index 60a5e988b..443748d29 100644 --- a/devel/configuration/logging_yaml.html +++ b/devel/configuration/logging_yaml.html @@ -1,26 +1,26 @@ - + - + logging.yaml — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -136,7 +136,7 @@
            -

            logging.yaml

            +

            logging.yaml

            The logging configuration file logging.yaml for OctoPrint is expected in its settings folder, which unless defined differently on the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS.

            @@ -144,7 +144,7 @@ in debugging issues you are experiencing, or to change the configuration of the logging handlers themselves, e.g. in order to change size after which to rollover the serial.log.

            -

            Changing log levels

            +

            Changing log levels

            If you need to change the default logging level within OctoPrint, create the file with a text editor of your choice (it’s usually not there). The general format is this:

            loggers:
            @@ -177,7 +177,7 @@ 

            Changing log levels -

            Changing logging handlers

            +

            Changing logging handlers

            You can also change the configuration of the logging handlers themselves, e.g. in order to make the serial.log larger for debugging long running communications or to change the behaviour of the octoprint.log.

            You can find the default configurations of the file handler used for the octoprint.log, the serialFile handler @@ -218,7 +218,7 @@

            Changing logging handlerslogging.handlers.

            -

            Changing logging formatters

            +

            Changing logging formatters

            The logging formatters can be defined via logging.yaml as well. The simple formatter as referenced above is expressed in YAML as follows:

            formatters:
            diff --git a/devel/configuration/yaml.html b/devel/configuration/yaml.html
            index 1eb7c8087..400ef57c4 100644
            --- a/devel/configuration/yaml.html
            +++ b/devel/configuration/yaml.html
            @@ -1,26 +1,26 @@
             
            -
            +
             
            -  
            +  
             
               
               A YAML Primer — OctoPrint devel documentation
            -      
            -      
            -      
            +      
            +      
            +      
             
               
               
               
            -        
            -        
            -        
            -        
            -        
            -        
            -        
            +        
            +        
            +        
            +        
            +        
            +        
            +        
                     
                 
                 
            @@ -141,14 +141,14 @@
                        
            -

            A YAML Primer

            +

            A YAML Primer

            Most of OctoPrint’s configuration is done under the hood through YAML files, which is why it makes sense to shed some light on the basics of this data serialization format.

            YAML is a text based format which excels at representing the most common of data structures in an easy and very human readable way, which is why it was chosen for OctoPrint’s configuration files. A text editor is all you need in order to write YAML configuration files.

            -

            Basic Rules

            +

            Basic Rules

            First of all some basic things to know about working with YAML files:

              @@ -161,11 +161,11 @@
            -

            Interesting data types

            +

            Interesting data types

            You will probably only come across the three most basic types of data within OctoPrint’s YAML files: scalars (such as strings, integers, …), lists and associated arrays (aka key-value-pairs, aka maps, aka dictionaries).

            -

            Scalars

            +

            Scalars

            Scalars are the most basic of all data types and are simple string, integer, float or boolean values.

            For most scalars you don’t need any quotes at all, but if you need to define some piece of data which contains characters that could be mistaken with YAML syntax you need to quote it in either double " or single ' quotes for the @@ -180,7 +180,7 @@ completely empty line in order for force a line break, the data will not be actually wrapped across multiple lines just because you spread its representation across multiple lines.

            -

            int

            +

            int

            23
             
             42
            @@ -188,7 +188,7 @@
             
            -

            float

            +

            float

            23.5
             
             100.0
            @@ -196,7 +196,7 @@
             
            -

            boolean

            +

            boolean

            true
             
             false
            @@ -212,7 +212,7 @@
             
            -

            string

            +

            string

            a string
             
             "some quoted string with a : colon and a { bracket and a quote \" and a backslash \\ - phew"
            @@ -244,7 +244,7 @@
             
            -

            Lists

            +

            Lists

            Lists allow to “collect” a number of similar things into one data structure. They are created by prefixing one or more consecutive lines with a -:

            - item 1
            @@ -256,7 +256,7 @@
             

            Take special care to have all of your list items at the same indentation level!

            -

            Dictionaries

            +

            Dictionaries

            Dictionaries (aka associative arrays aka maps) allow organizing the data in key value pairs, with the key and the value being separated through a colon ::

            key: value
            @@ -266,7 +266,7 @@
             
            -

            Examples

            +

            Examples

            Based on the three types explained above, quite complex data structures are possible (whitespace made visible to help track indentation):

            general:
            diff --git a/devel/development/branches.html b/devel/development/branches.html
            index 243479a3f..615af80a0 100644
            --- a/devel/development/branches.html
            +++ b/devel/development/branches.html
            @@ -1,26 +1,26 @@
             
            -
            +
             
            -  
            +  
             
               
               OctoPrint’s branching model — OctoPrint devel documentation
            -      
            -      
            -      
            +      
            +      
            +      
             
               
               
               
            -        
            -        
            -        
            -        
            -        
            -        
            -        
            +        
            +        
            +        
            +        
            +        
            +        
            +        
                     
                 
                 
            @@ -132,7 +132,7 @@
                        
            -

            OctoPrint’s branching model

            +

            OctoPrint’s branching model

            There are three main branches in OctoPrint:

            master

            The master branch always contains the current stable release plus any changes diff --git a/devel/development/environment.html b/devel/development/environment.html index d7b85f1ac..7478bff1e 100644 --- a/devel/development/environment.html +++ b/devel/development/environment.html @@ -1,26 +1,26 @@ - + - + Setting up a Development environment — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -145,9 +145,9 @@

            -

            Setting up a Development environment

            +

            Setting up a Development environment

            -

            Obtaining, building and running the source

            +

            Obtaining, building and running the source

            This describes the general, platform agnostic steps in obtaining, building and running. OS specific instructions can be found below.

            @@ -224,7 +224,7 @@
        -

        Linux

        +

        Linux

        This assumes you’ll host your OctoPrint development checkout at ~/devel/OctoPrint. If you want to use a different location, please substitute accordingly.

        First make sure you have python 3 including its header files, pip, setuptools, virtualenv, git and some build requirements @@ -258,7 +258,7 @@

        -

        Windows

        +

        Windows

        This assumes you’ll host your OctoPrint development checkout at C:\Devel\OctoPrint. If you want to use a different location, please substitute accordingly.

        First download & install:

        @@ -295,7 +295,7 @@
        -

        Mac OS X

        +

        Mac OS X

        Note

        This guide is based on the Setup Guide for Mac OS X on OctoPrint’s Community Forum. @@ -373,7 +373,7 @@

        -

        IDE Setup

        +

        IDE Setup

        Todo

        Using another IDE than the ones below? Please send a @@ -381,7 +381,7 @@ steps into this guide!

        -

        Visual Studio Code (vscode)

        +

        Visual Studio Code (vscode)

        • Install Visual Studio Code from code.visualstudio.com

        • @@ -480,7 +480,7 @@

          Visual Studio Code (vscode) -

          PyCharm

          +

          PyCharm

          This is possibly outdated as I have switched to VisualStudio Code and might not work with current PyCharm versions.

            diff --git a/devel/development/index.html b/devel/development/index.html index 974a08d72..99dd4a1d3 100644 --- a/devel/development/index.html +++ b/devel/development/index.html @@ -1,26 +1,26 @@ - + - + Development — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -130,7 +130,7 @@
            -

            Development

            +

            Development

            • OctoPrint’s versioning strategy
            • diff --git a/devel/development/request-profiling.html b/devel/development/request-profiling.html index aa84c8ee6..5295b625b 100644 --- a/devel/development/request-profiling.html +++ b/devel/development/request-profiling.html @@ -1,26 +1,26 @@ - + - + Profiling requests — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
              -

              Profiling requests

              +

              Profiling requests

              Once you have a development environment set up, you will need to launch OctoPrint using serve --debug as parameters.

              At this point, you are able to make the exact same requests as before. To @@ -144,7 +144,7 @@ an html document with the profiling results instead of the contents of the response.

              -

              Errors

              +

              Errors

              If you receive a 500: Internal Server Error and a ModuleNotFoundError: No module named 'pyinstrument' in the console, you didn’t install development dependencies. Do that now using pip install -e '.[develop]'.

              diff --git a/devel/development/versioning.html b/devel/development/versioning.html index 455bd951f..9a3e37581 100644 --- a/devel/development/versioning.html +++ b/devel/development/versioning.html @@ -1,26 +1,26 @@ - + - + OctoPrint’s versioning strategy — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -132,10 +132,10 @@
              -

              OctoPrint’s versioning strategy

              +

              OctoPrint’s versioning strategy

              OctoPrint’s version numbers follow PEP440, with a version format of MAJOR.MINOR.PATCH following the contract of semantic versioning.

              -

              The PATCH version number will increase in case of hotfix releases 1. +

              The PATCH version number will increase in case of hotfix releases [1]. Releases that only change the patch number indicate that they only contain bug fixes, and usually only hotfixes at that. Example: 1.5.0 to 1.5.1.

              The MINOR version number increases with releases that add new functionality while maintaining @@ -148,14 +148,15 @@ allow for an exact determination of the active code base (e.g. 1.2.9.dev68+g46c7a9c). Additionally, instances with active uncommitted changes will contain .dirty in the local version identifier.

              Footnotes

              -
              -
              1
              -

              Up until 1.4.2, the PATCH version segment was the one increasing most often +

              -
              + +
              diff --git a/devel/development/virtual_printer.html b/devel/development/virtual_printer.html index 27838e2f1..981aadc12 100644 --- a/devel/development/virtual_printer.html +++ b/devel/development/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Setting up the virtual printer for debugging — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -138,16 +138,16 @@
              -

              Setting up the virtual printer for debugging

              +

              Setting up the virtual printer for debugging

              OctoPrint includes, by default, a virtual printer plugin. This plugin allows you to debug OctoPrint’s serial communication without connecting to an actual printer. Furthermore, it is possible to create certain edge conditions that may be hard to reproduce with a real printer.

              -

              Enabling the virtual printer

              +

              Enabling the virtual printer

              The virtual printer can be enabled through its Settings pane.

              -

              Virtual printer configuration options

              +

              Virtual printer configuration options

              There many configuration options via config.yaml for the virtual printer that allow you to fine-tune its behavior:

              plugins:
               
              @@ -377,12 +377,12 @@
               
              -

              Log file

              +

              Log file

              Once activated, the virtual printer will log all serial communication in the plugin_virtual_printer_serial.log file that can be found in the OctoPrint logs folder.

              -

              Debug commands

              +

              Debug commands

              You can simulate certain conditions and communications through the terminal tab in OctoPrint’s interface.

              All commands start with !!DEBUG: and are followed by the command you want to execute. For instance, sending !!DEBUG:action_disconnect will disconnect the printer. Sending !!DEBUG without command will show a help diff --git a/devel/events/index.html b/devel/events/index.html index 94b86834f..e6bb0ff2e 100644 --- a/devel/events/index.html +++ b/devel/events/index.html @@ -1,26 +1,26 @@ - + - + Events — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -142,8 +142,8 @@

              -

              Events

              -
              +

              Events

              +
            -
            +
            -

            Configuration

            +

            Configuration

            Event hooks are configured via OctoPrint’s configuration file config.yaml. There they are contained in a subscriptions list located directly under the events node. The command node accepts either a single string or a list of strings so that multiple commands can be executed in one go. Each hook carries an additional node type that @@ -181,7 +181,7 @@

            All event hooks can be disabled completely by setting event > enabled to false. You can also disable individual hooks by setting the (optional) node enabled to false, see the example below.

            -

            Example

            +

            Example

            events:
               enabled: True
               subscriptions:
            @@ -218,7 +218,7 @@ 

            Example -

            Placeholders

            +

            Placeholders

            You can use the following generic placeholders in your event hooks:

            -

            Available Events

            +

            Available Events

            Note

            Plugins may add additional events via the octoprint.events.register_custom_events hook.

            -

            Server

            +

            Server

            Startup

            The server has started.

            @@ -285,7 +285,7 @@

            Example -

            New in version 1.4.0.

            +

            Added in version 1.4.0.

            ClientClosed

            A client has disconnected from the push socket.

            @@ -307,7 +307,7 @@

            Example -

            New in version 1.4.0.

            +

            Added in version 1.4.0.

          UserLoggedOut
          @@ -320,7 +320,7 @@

          Example -

          New in version 1.4.0.

          +

          Added in version 1.4.0.

        ConnectivityChanged
        @@ -334,19 +334,19 @@

        Example -

        New in version 1.3.5.

        +

        Added in version 1.3.5.

        -

        Printer communication

        +

        Printer communication

        Connecting

        The server is attempting to connect to the printer.

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        Connected

        The server has connected to the printer.

        @@ -364,7 +364,7 @@

        Example -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        Disconnected

        The server has disconnected from the printer

        @@ -404,13 +404,13 @@

        Example -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        -

        File handling

        +

        File handling

        Upload

        A file has been uploaded through the REST API.

        @@ -458,7 +458,7 @@

        Example -

        New in version 1.3.3.

        +

        Added in version 1.3.3.

        FileRemoved
        @@ -480,7 +480,7 @@

        Example -

        New in version 1.3.3.

        +

        Added in version 1.3.3.

        FileMoved
        @@ -505,7 +505,7 @@

        Example -

        New in version 1.8.0.

        +

        Added in version 1.8.0.

        FolderAdded
        @@ -525,7 +525,7 @@

        Example -

        New in version 1.3.3.

        +

        Added in version 1.3.3.

        FolderRemoved
        @@ -544,7 +544,7 @@

        Example -

        New in version 1.3.3.

        +

        Added in version 1.3.3.

        FolderMoved
        @@ -565,7 +565,7 @@

        Example -

        New in version 1.8.0.

        +

        Added in version 1.8.0.

        UpdatedFiles

        A file list was modified.

        @@ -687,7 +687,7 @@

        Example -

        Printing

        +

        Printing

        PrintStarted

        A print has started.

        Payload:

        @@ -775,7 +775,7 @@

        Example -

        New in version 1.3.7.

        +

        Added in version 1.3.7.

        PrintCancelled

        The print has been cancelled.

        @@ -889,7 +889,7 @@

        Example -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        GcodeScript${ScriptName}Finished

        A custom GCODE script has finished running.

        @@ -905,7 +905,7 @@

        Example -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        ChartMarked

        A time-based marking has been made on the UI’s temperature chart.

        @@ -922,13 +922,13 @@

        Example -

        New in version 1.9.0.

        +

        Added in version 1.9.0.

        -

        GCODE processing

        +

        GCODE processing

        PowerOn

        An M80 was sent to the printer through OctoPrint (not triggered when printing from SD!)

        @@ -956,7 +956,7 @@

        ExampleM600, M701 or M702 was sent to the printer through OctoPrint (not triggered when printing from SD!)

        -

        New in version 1.7.0.

        +

        Added in version 1.7.0.

        PositionUpdate

        The response to an M114 was received by OctoPrint. The payload contains the current position information @@ -974,7 +974,7 @@

        Example -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        ToolChange

        A tool change command was sent to the printer. The payload contains the former current tool index and the @@ -987,7 +987,7 @@

        Example -

        New in version 1.3.5.

        +

        Added in version 1.3.5.

        CommandSuppressed

        A command was suppressed by OctoPrint due to according configuration and will not be @@ -1003,7 +1003,7 @@

        Example -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        InvalidToolReported

        The firmware reported a tool as invalid upon trying to select it. It has thus been marked @@ -1017,13 +1017,13 @@

        Example -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        -

        Timelapses

        +

        Timelapses

        CaptureStart

        A timelapse frame has started to be captured.

        Payload:

        @@ -1050,7 +1050,7 @@

        Example -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        MovieRendering

        The timelapse movie has started rendering.

        @@ -1090,7 +1090,7 @@

        Example -

        Slicing

        +

        Slicing

        SlicingStarted

        The slicing of a file has started.

        Payload:

        @@ -1155,7 +1155,7 @@

        Example -

        New in version 1.2.12.

        +

        Added in version 1.2.12.

        SlicingProfileModified
        @@ -1169,7 +1169,7 @@

        Example -

        New in version 1.2.12.

        +

        Added in version 1.2.12.

        SlicingProfileDeleted
        @@ -1183,25 +1183,25 @@

        Example -

        New in version 1.2.12.

        +

        Added in version 1.2.12.

        -

        Settings

        +

        Settings

        SettingsUpdated

        The settings were updated via the REST API.

        This event may also be triggered if calling code of octoprint.settings.Settings.save or octoprint.plugin.PluginSettings.save sets the trigger_event parameter to True.

        -

        New in version 1.2.0.

        +

        Added in version 1.2.0.

        -

        Printer Profile

        +

        Printer Profile

        PrinterProfileModified

        A printer profile was modified.

        Payload:

        @@ -1211,7 +1211,7 @@

        Example -

        New in version 1.3.12.

        +

        Added in version 1.3.12.

        diff --git a/devel/features/accesscontrol.html b/devel/features/accesscontrol.html index 61bbc6fbd..634a846ed 100644 --- a/devel/features/accesscontrol.html +++ b/devel/features/accesscontrol.html @@ -1,26 +1,26 @@ - + - + Access Control — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -148,7 +148,7 @@
        -

        Access Control

        +

        Access Control

        Changed in version 1.5.0.

        @@ -203,7 +203,7 @@ control enabled.

        -

        Autologin

        +

        Autologin

        While access control cannot be disabled as of OctoPrint 1.5+, the Autologin feature can be used to bypass authentication for hosts on the network(s) that you trust.

        Starting with OctoPrint 1.5.0, OctoPrint makes enabled access control mandatory. This @@ -229,7 +229,7 @@ benchies, that’s on you.

        -

        Gather configuration information

        +

        Gather configuration information

        You can configure Autologin via a plugin (the easy way), or manually (the hard way), but in either case you will need to specify which user should be automatically logged in, and which hosts are permitted access this way.

        @@ -252,16 +252,16 @@ 255.255.255.0. Your address range is 192.168.23.42/255.255.255.0.

        -

        The easy way: Using the OctoPrint-AutoLoginConfig plugin

        +

        The easy way: Using the OctoPrint-AutoLoginConfig plugin

        The easiest way to configure AutoLogin is to install the OctoPrint-AutoLoginConfig plugin via the plugin manager.

        Open its settings and follow the instructions on the screen.

        -

        The hard way: Manual editing of config.yaml

        +

        The hard way: Manual editing of config.yaml

        -

        Preparation

        +

        Preparation

        First of all, read the YAML primer. You will have to edit OctoPrint’s main configuration file, and thus should make sure you understand at least roughly how things work and that you should keep your @@ -272,7 +272,7 @@

        Preparation -

        Configuration

        +

        Configuration

        Ready? Let’s do some editing then. I’ll outline what to do and where first, and then further down there’s also a dedicated list of steps for OctoPi specifically.

          @@ -314,7 +314,7 @@

          Configuration -

          OctoPi specific steps

          +

          OctoPi specific steps

          If you are running OctoPi you will have to SSH into your Raspberry Pi. Then issue the following commands:

            @@ -330,7 +330,7 @@

            OctoPi specific steps

        -

        If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

        +

        If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

        Warning

        You probably shouldn’t do this, EVER. There are usually other options. Don’t even @@ -349,16 +349,16 @@

        If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal

        -

        Available Extension Hooks

        +

        Available Extension Hooks

        There are two hooks for plugins to utilize in order to add new configurable permissions into the system and/or adjust the styling of the login dialog.

        -

        octoprint.access.permissions

        +

        octoprint.access.permissions

        See here.

        -

        octoprint.theming.login

        +

        octoprint.theming.login

        See here.

        diff --git a/devel/features/action_commands.html b/devel/features/action_commands.html index 7244c161f..c1dc97ef5 100644 --- a/devel/features/action_commands.html +++ b/devel/features/action_commands.html @@ -1,26 +1,26 @@ - + - + Action Commands — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -134,7 +134,7 @@
        -

        Action Commands

        +

        Action Commands

        Action commands are a feature defined for the GCODE based RepRap communication protocol. To quote from the GCODE node of the RepRap wiki:

        @@ -151,7 +151,7 @@
        start

        When this command is received from the printer, a job is currently selected and not active, OctoPrint will start it just like if the “Start”/”Restart” button had been clicked.

        -

        New in version 1.5.0.

        +

        Added in version 1.5.0.

        cancel

        When this command is received from the printer, OctoPrint will cancel a current print job just like if the @@ -179,21 +179,21 @@ set the corresponding internal state flags and send a file list request. This command is only recognized if SD support is enabled in OctoPrint.

        -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        sd_ejected

        When this command is received from the printer, OctoPrint will assume the SD card has been removed from the printer and clear the corresponding internal state flags. This command is only recognized if SD support is enabled in OctoPrint.

        -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        sd_updated

        When this command is received from the printer, OctoPrint will assume something on the SD card in the printer has changed and trigger a file list request. This command is only recognized if SD support is enabled in OctoPrint.

        -

        New in version 1.6.0.

        +

        Added in version 1.6.0.

        shutdown

        When this command is received from the printer, support for it is enabled in its settings @@ -202,7 +202,7 @@ firmware or manipulated GCODE, but can be enabled in the OctoPrint settings via Serial Connection > Firmware & Protocol > Action Commands if so desired by the user.

        -

        New in version 1.8.0.

        +

        Added in version 1.8.0.

        diff --git a/devel/features/atcommands.html b/devel/features/atcommands.html index a3f496259..c657d68b8 100644 --- a/devel/features/atcommands.html +++ b/devel/features/atcommands.html @@ -1,26 +1,26 @@ - + - + @ Commands — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -134,9 +134,9 @@
        -

        @ Commands

        +

        @ Commands

        -

        New in version 1.3.7.

        +

        Added in version 1.3.7.

        @ commands (also known as host commands elsewhere) are special commands you may include in GCODE files streamed through OctoPrint to your printer or send as part of GCODE scripts, through the Terminal Tab, the API or plugins. diff --git a/devel/features/custom_controls.html b/devel/features/custom_controls.html index 9c17374bc..db24a9e5c 100644 --- a/devel/features/custom_controls.html +++ b/devel/features/custom_controls.html @@ -1,26 +1,26 @@ - + - + Custom Controls — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -145,8 +145,8 @@

        -

        Custom Controls

        -
        +

        Custom Controls

        +
        +

        OctoPrint allows you to add custom controls to the “Control” tab of its interface. Control types reach from simple buttons which trigger sending of one or more lines of GCODE to the printer over more complex controls allowing parameterization of these commands with values entered by the user to full blown GCODE script templates backed by Jinja2.

        -

        Custom controls are configured within config.yaml 1 in a controls section which +

        Custom controls are configured within config.yaml [1] in a controls section which basically represents a hierarchical structure of all configured custom controls of various types.

        Note

        @@ -241,7 +241,7 @@
        The rendered output created through the example configuration
        -

        Fig. 1 The rendered output created through the example configuration

        +

        Fig. 1 The rendered output created through the example configuration

        As you can see you have two basic types of control definitions here: controls that actually do something (providing a @@ -256,14 +256,14 @@ file.

        -

        Types

        +

        Types

        Let’s take a closer look at the possible attributes that are available for both basic types.

        -

        Containers

        -

        Name

        +

        Containers

        +
        --++ @@ -283,11 +283,11 @@

        Attribute

        -

        Controls

        - +

        Controls

        +
        --++ @@ -413,17 +413,17 @@
        An example confirmation dialog
        -

        Fig. 2 An example confirmation dialog

        +

        Fig. 2 An example confirmation dialog

        -

        Examples

        +

        Examples

        -

        Parameterized GCODE Script

        +

        Parameterized GCODE Script

        -
        Listing 1 Control definition in ~/.octoprint/config.yaml
        +
        Listing 1 Control definition in ~/.octoprint/config.yaml
        name: Dance
         script: custom/dance.gco
         input:
        @@ -438,7 +438,7 @@
         
        -
        Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
        +
        Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
        {% set center_x = printer_profile.volume.width / 2 %}
         {% set center_y = printer_profile.volume.depth / 2 %}
         {% set speed_x = printer_profile.axes.x.speed %}
        @@ -472,12 +472,13 @@
         

        Note the usage of the parameters.repetitions template variable in the GCODE script template, which will contain the value selected by the user for the “Go arounds” slider.

        Footnotes

        -
        -
        1
        -

        For Linux that will be ~/.octoprint/config.yaml, for Windows it will be %APPDATA%/OctoPrint/config.yaml and for +

        -
        + +
        diff --git a/devel/features/gcode_scripts.html b/devel/features/gcode_scripts.html index 5cd109380..9ab103872 100644 --- a/devel/features/gcode_scripts.html +++ b/devel/features/gcode_scripts.html @@ -1,26 +1,26 @@ - + - + GCODE Scripts — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -145,8 +145,8 @@
        -

        GCODE Scripts

        -
        +

        GCODE Scripts

        +
        +

        OctoPrint allows you to define custom GCODE scripts to be executed on specified occasions, e.g. when a print starts, when OctoPrint connects to a printer, or when a button defined as a custom control is clicked.

        @@ -177,7 +177,7 @@ as described below.

        You can find the docs on the Jinja templating engine as used in OctoPrint here.

        -

        Predefined Scripts

        +

        Predefined Scripts

        The following GCODE scripts are sent by OctoPrint automatically:

          @@ -202,20 +202,20 @@
        -

        Events

        +

        Events

        Every GCODE script that is executed will emit two events. The event name will start with ‘GcodeScript’ followed by the capitalized name of the script. When afterPrintDone has started the event will be GcodeScriptAfterPrintDoneRunning and once it has completed the last event will be GcodeScriptAfterPrintDoneFinished. You can find more details in the Events documentation.

        -

        Snippets

        +

        Snippets

        For making small GCODE snippets reusable in a template (e.g. for disabling all hotends) there’s an additional Jinja template command {% snippet '<snippet name>' %} available which allows including snippets stored under scripts/gcode/snippets in OctoPrint’s configuration directory. They fully support the whole spectrum of the Jinja2 templating language (that includes including other snippets).

        -

        Context

        +

        Context

        All GCODE scripts have access to the following template variables through the template context:

          @@ -307,10 +307,10 @@
        -

        Bundled Scripts

        +

        Bundled Scripts

        Out of the box, OctoPrint defaults to the following script setup for afterPrintCancelled:

        -
        Listing 3 Default afterPrintCancelled script
        +
        Listing 3 Default afterPrintCancelled script
        ; disable motors
         M84
         
        @@ -325,7 +325,7 @@
         

        The disable_hotends snippet is defined as follows:

        -
        Listing 4 Default disable_hotends snippet
        +
        Listing 4 Default disable_hotends snippet
        {% if printer_profile.extruder.sharedNozzle %}
         M104 T0 S0
         {% else %}
        @@ -338,7 +338,7 @@
         

        The disable_bed snippet is defined as follows:

        -
        Listing 5 Default disable_bed snippet
        +
        Listing 5 Default disable_bed snippet
        {% if printer_profile.heatedBed %}
         M140 S0
         {% endif %}
        @@ -351,16 +351,16 @@
         to 0 if a heated bed is configured.

        -

        Examples

        +

        Examples

        -

        More nifty pause and resume

        +

        More nifty pause and resume

        If you do not have a multi-extruder setup, aren’t printing from SD and have “Log position on pause” enabled under Settings > Serial Connection > Behaviour > Pausing, the following afterPrintPaused and beforePrintResumed scripts might be interesting for you. With something like them in place, OctoPrint will move your print head out of the way to a safe rest position (here G1 X0 Y0, you might want to adjust that) on pause and move it back to the persisted pause position on resume, making sure to also reset the extruder and feedrate.

        -
        Listing 6 afterPrintPaused script
        +
        Listing 6 afterPrintPaused script
        ; (optional) disable stepper inactivity timeout - uncomment if you printer disables steppers during pause and supports this command
         ;M18 S0
         
        @@ -383,7 +383,7 @@
         
        -
        Listing 7 beforePrintResumed script
        +
        Listing 7 beforePrintResumed script
        {% if pause_position.x is not none %}
         ; relative extruder
         M83
        diff --git a/devel/features/index.html b/devel/features/index.html
        index ef68cfa83..8bf1512c4 100644
        --- a/devel/features/index.html
        +++ b/devel/features/index.html
        @@ -1,26 +1,26 @@
         
        -
        +
         
        -  
        +  
         
           
           Features — OctoPrint devel documentation
        -      
        -      
        -      
        +      
        +      
        +      
         
           
           
           
        -        
        -        
        -        
        -        
        -        
        -        
        -        
        +        
        +        
        +        
        +        
        +        
        +        
        +        
                 
             
             
        @@ -132,7 +132,7 @@
                    
        -

        Features

        +

        Features

        Note

        This feature list is not exhaustive. This part of OctoPrint’s documentation is sadly far from finished still.

        diff --git a/devel/features/plugins.html b/devel/features/plugins.html index 344544d21..8f42a61a5 100644 --- a/devel/features/plugins.html +++ b/devel/features/plugins.html @@ -1,26 +1,26 @@ - + - + Plugins — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -142,9 +142,9 @@
        -

        Plugins

        +

        Plugins

        -

        New in version 1.2.0.

        +

        Added in version 1.2.0.

        Starting with OctoPrint 1.2.0, there’s now a plugin system in place which allows to individually extend OctoPrint’s functionality.

        @@ -161,21 +161,21 @@ read more on how to enable that here.

        -

        Finding Plugins

        +

        Finding Plugins

        The official OctoPrint Plugin Repository can be found at plugins.octoprint.org.

        Some plugins may also be found in the list provided in the OctoPrint wiki and on the OctoPrint organization Github page.

        -

        Installing Plugins

        +

        Installing Plugins

        Plugins can be installed through the bundled Plugin Manager, which allows installing plugins available in the OctoPrint Plugin Repository, from a web address or from an uploaded file archive.

        Please refer to the documentation of the plugin for additional installations instructions.

        -

        Manual Installation

        +

        Manual Installation

        If you don’t want or can’t use the Plugin Manager, plugins may also be installed manually either by copying and unpacking them into one of the configured plugin folders (regularly those are <octoprint source root>/plugins and -<octoprint config folder>/plugins 1 or by installing them as regular Python modules via pip 2.

        +<octoprint config folder>/plugins [1] or by installing them as regular Python modules via pip [2].

        For a plugin available on the Python Package Index (PyPi), the process is as simple as issuing a

        pip install <plugin_name>
         
        @@ -190,20 +190,22 @@

        Manual Installation -

        Developing Plugins

        +

        Developing Plugins

        See Developing Plugins.

        Footnotes

        -
        -
        1
        -

        For Linux that will be ~/.octoprint/plugins, for Windows it will be %APPDATA%/OctoPrint/plugins and for +

        -
        2
        -

        Make sure to use the exact same Python installation for installing the plugin that you also used for + +

        -
        + +
        diff --git a/devel/features/safemode.html b/devel/features/safemode.html index dc16678f4..c794d6111 100644 --- a/devel/features/safemode.html +++ b/devel/features/safemode.html @@ -1,26 +1,26 @@ - + - + Safe mode — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -138,9 +138,9 @@
        -

        Safe mode

        +

        Safe mode

        -

        New in version 1.3.0.

        +

        Added in version 1.3.0.

        Changed in version 1.3.13.

        @@ -158,7 +158,7 @@

        Whenever reporting an issue with OctoPrint, please always attempt to reproduce it in safe mode as well to ensure it really is an issue in OctoPrint itself and now caused by one of your installed third party additions.

        -

        How to start OctoPrint in safe mode

        +

        How to start OctoPrint in safe mode

        There exist three ways to start OctoPrint in safe mode:

          @@ -197,12 +197,12 @@
          "Restart OctoPrint in safe mode" in the "System" menu
          -

          Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

          +

          Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

        -

        Differences of safe mode vs normal operation mode

        +

        Differences of safe mode vs normal operation mode

        When OctoPrint is running in safe mode the following changes to its normal operation mode apply:

          @@ -226,7 +226,7 @@
          Safe mode notification
          -

          Fig. 4 Safe mode notification

          +

          Fig. 4 Safe mode notification

        diff --git a/devel/genindex.html b/devel/genindex.html index deaef2138..5443e9c75 100644 --- a/devel/genindex.html +++ b/devel/genindex.html @@ -1,25 +1,25 @@ - + Index — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -433,8 +433,6 @@

        B

      • backup() (octoprint.settings.Settings method)
      • BaseModel (class in octoprint.schema) -
      • -
      • BaseModel.Config (class in octoprint.schema)
      • baudrate (octoprint.schema.config.serial.SerialConfig attribute)
      • @@ -769,7 +767,7 @@

        C

      • ContainerConfig (class in octoprint.schema.config.controls)
      • -
      • content_type (octoprint.filemanager.ContentTypeMapping property) +
      • content_type (octoprint.filemanager.ContentTypeMapping attribute)
      • ContentTypeDetector (class in octoprint.filemanager)
      • @@ -911,7 +909,7 @@

        D

      • detectionFirst (octoprint.schema.config.serial.SerialTimeoutConfig attribute)
      • -
      • detector (octoprint.filemanager.ContentTypeDetector property) +
      • detector (octoprint.filemanager.ContentTypeDetector attribute)
      • devel (octoprint.schema.config.Config attribute)
      • @@ -1051,10 +1049,10 @@

        E

      • extended_m20 (octoprint.schema.config.serial.SerialCapabilities attribute)
      • -
      • extensions (octoprint.filemanager.ContentTypeDetector property) +
      • extensions (octoprint.filemanager.ContentTypeDetector attribute)
      • externalHeatupDetection (octoprint.schema.config.serial.SerialConfig attribute) @@ -1854,8 +1852,344 @@

        M

      • minify_plugins (octoprint.schema.config.devel.DevelWebassetsConfig attribute)
      • -
      • model_dump() (octoprint.schema.BaseModel method) +
      • model_computed_fields (octoprint.schema.BaseModel attribute) + +
      • +
      • model_config (octoprint.schema.BaseModel attribute) + +
      • + +
        -

        Attribute

        -
        • move_file() (octoprint.filemanager.storage.LocalFileStorage method)
        • UrlProxyHandler (class in octoprint.server.util.tornado) -
        • -
        • use_enum_values (octoprint.schema.BaseModel.Config attribute)
        • useFrozenDictForPrinterState (octoprint.schema.config.devel.DevelConfig attribute)
        • diff --git a/devel/http-routingtable.html b/devel/http-routingtable.html index c2fcc749f..28f058a38 100644 --- a/devel/http-routingtable.html +++ b/devel/http-routingtable.html @@ -1,25 +1,25 @@ - + HTTP Routing Table — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + diff --git a/devel/index.html b/devel/index.html index b3edd3d66..e69c6e72d 100644 --- a/devel/index.html +++ b/devel/index.html @@ -1,26 +1,26 @@ - + - + Welcome to OctoPrint’s documentation! — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -122,7 +122,7 @@
          -

          Welcome to OctoPrint’s documentation!

          +

          Welcome to OctoPrint’s documentation!

          The OctoPrint Logo

          OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero General Public License V3.

          @@ -138,7 +138,7 @@

          Welcome to OctoPrint’s documentation!on the forum!

          -

          Contents

          +

          Contents

          • Features
              diff --git a/devel/jsclientlib/base.html b/devel/jsclientlib/base.html index c3cb801f0..a51824b2c 100644 --- a/devel/jsclientlib/base.html +++ b/devel/jsclientlib/base.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -177,14 +177,14 @@
              -

              OctoPrintClient

              +

              OctoPrintClient

              -class OctoPrintClient([options])
              +class OctoPrintClient([options])

              Instantiates a new instance of the client library. Note that by default there’s always an instance registered globally called OctoPrint.

              -
              Arguments
              +
              Arguments:
              @@ -194,7 +194,7 @@
              -OctoPrintClient.options
              +OctoPrintClient.options

              The client library instance’s options. The following keys are currently supported:

              baseurl

              The base URL of the OctoPrint API

              @@ -210,7 +210,7 @@
              -OctoPrintClient.plugins
              +OctoPrintClient.plugins

              Registration of client library components provided by plugins.

              OctoPrint plugins should always register their client classes here using their plugin identifier as key via OctoPrintClient.registerPluginComponent().

              @@ -249,12 +249,12 @@
              -OctoPrintClient.getBaseUrl()
              +OctoPrintClient.getBaseUrl()

              Returns the canonical base URL to use for OctoPrint’s API. Uses the current value of OctoPrint.options.baseurl. If that doesn’t end in a /, a trailing / will be appended to the URL before the result is returned.

              -
              Returns string
              +
              Returns string:

              The base url to use to access OctoPrint’s API.

              @@ -262,15 +262,15 @@
              -OctoPrintClient.getCookie(name)
              +OctoPrintClient.getCookie(name)
              -

              New in version 1.8.3.

              +

              Added in version 1.8.3.

              Returns the value of the cookie with name name. The port based cookie suffix and if necessary also the script root based suffix will be automatically applied to the name prior to looking up the value.

              -
              Return string
              +
              Return string:

              The value of the cookie, if set & accessible, else an empty string.

              @@ -278,7 +278,7 @@
              -OctoPrintClient.getRequestHeaders(method, additional, opts)
              +OctoPrintClient.getRequestHeaders(method, additional, opts)

              Changed in version 1.8.3.

              @@ -297,14 +297,14 @@ A warning will be logged to the debug console accordingly.

              -
              Arguments
              +
              Arguments:
              • method (str()) – Method of the request for which to set headers

              • additional (object()) – Additional headers to add to the request, optional.

              • opts (object()) – Additional opts passed to the request, used to read cross domain setting, optional.

              -
              Returns object
              +
              Returns object:

              HTTP headers to use for requests.

              @@ -312,7 +312,7 @@
              -OctoPrintClient.ajax(method, url, opts)
              +OctoPrintClient.ajax(method, url, opts)

              Performs an AJAX request against the OctoPrint API, utilizing jQuery’s own ajax function.

              The HTTP method to use may be defined through opts.method or - if that is not provided – through the method parameter. If neither is available, GET will be used.

              @@ -326,14 +326,14 @@ json will be used.

              Anything provided in the opts parameter will also be passed on to the jQuery ajax call.

              -
              Arguments
              +
              Arguments:
              • method (string()) – The HTTP method to use for the request (optional)

              • url (string()) – The URL to perform the request against (optional)

              • opts (object()) – Additional options to use for the request, see above for details (optional)

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -341,11 +341,11 @@
              -OctoPrintClient.ajaxWithData(method, url, data, opts)
              +OctoPrintClient.ajaxWithData(method, url, data, opts)

              Performs an AJAX request against the OctoPrint API, including the provided data in the body of the request.

              Utilizes OctoPrint.ajax(), see that for more details.

              -
              Arguments
              +
              Arguments:
              • method (string()) – The HTTP method to use for the request (optional)

              • url (string()) – The URL to perform the request against (optional)

              • @@ -353,7 +353,7 @@
              • opts (object()) – Additional options to use for the request (optional)

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -361,7 +361,7 @@
              -OctoPrintClient.get(url, opts)
              +OctoPrintClient.get(url, opts)

              Performs a GET request against url.

              Example:

              OctoPrint.get("api/version")
              @@ -371,13 +371,13 @@
               
              -
              Arguments
              +
              Arguments:
              • url (string()) – URL against which to make the request, relative to base url or absolute

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -385,7 +385,7 @@
              -OctoPrintClient.getWithQuery(url, data, opts)
              +OctoPrintClient.getWithQuery(url, data, opts)

              Performs a GET request against url using the provided data as URL query.

              Example:

              // this should perform a GET of "api/timelapse?unrendered=true"
              @@ -393,14 +393,14 @@
               
              -
              Arguments
              +
              Arguments:
              • url (string()) – URL against which to make the request, relative to base url or absolute

              • data (object()) – An object containing the key/value pairs of the query data OR a string representation of the query

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -408,7 +408,7 @@
              -OctoPrintClient.post(url, data, opts)
              +OctoPrintClient.post(url, data, opts)

              Performs a POST request against url using the provided data as request body.

              Example:

              var url = OctoPrint.getBlueprintUrl("myplugin") + "endpoint";
              @@ -419,7 +419,7 @@
               
              -
              Arguments
              +
              Arguments:
              • url (string()) – URL against which to make the request, relative to base url or absolute

              • data (string()) – Data to post as request body

              • @@ -427,7 +427,7 @@
              • opts – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -435,7 +435,7 @@
              -OctoPrintClient.postJson(url, data, opts)
              +OctoPrintClient.postJson(url, data, opts)

              Performs a POST request against url using the provided data object as request body after serializing it to JSON.

              Example:

              @@ -447,14 +447,14 @@
          -
          Arguments
          +
          Arguments:
          • url (string()) – URL against which to make the request, relative to base url or absolute

          • data (object()) – Data to post as request body after serialization to JSON

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -462,14 +462,14 @@
          -OctoPrintClient.put(url, data, opts)
          +OctoPrintClient.put(url, data, opts)

          Performs PUT request against url using the provided data as request body.

          See OctoPrint.post() for details.

          -OctoPrintClient.putJson(url, data, opts)
          +OctoPrintClient.putJson(url, data, opts)

          Performs PUT request against url using the provided data as request body after serializing it to JSON.

          See OctoPrint.postJson() for details.

          @@ -477,14 +477,14 @@
          -OctoPrintClient.patch(url, data, opts)
          +OctoPrintClient.patch(url, data, opts)

          Performs PATCH request against url using the provided data as request body.

          See OctoPrint.post() for details.

          -OctoPrintClient.patchJson(url, data, opts)
          +OctoPrintClient.patchJson(url, data, opts)

          Performs PATCH request against url using the provided data as request body after serializing it to JSON.

          See OctoPrint.postJson() for details.

          @@ -492,16 +492,16 @@
          -OctoPrintClient.delete(url, opts)
          +OctoPrintClient.delete(url, opts)

          Performs a DELETE request against url.

          -
          Arguments
          +
          Arguments:
          • url (string()) – URL against which to make the request, relative to base url or absolute

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -509,19 +509,19 @@
          -OctoPrintClient.download(url, opts)
          +OctoPrintClient.download(url, opts)

          Downloads a file from url, returning the response body as data type text.

          Use this if you need to download a file from the server in order to process it further in the client. The response body returned on successful completion of the returned jQuery Promise will contain the requested file as raw string/binary.

          -
          Arguments
          +
          Arguments:
          • url (string()) – URL to download

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -529,7 +529,7 @@
          -OctoPrintClient.upload(url, file, filename, additional)
          +OctoPrintClient.upload(url, file, filename, additional)

          Uploads a file to url using a multipart/form-data POST request.

          file should be either of

          @@ -586,7 +586,7 @@
          -
          Arguments
          +
          Arguments:
          • url (string()) – URL to which to POST the upload, relative to base url or absolute

          • file (object()) – The file to object, see description for details

          • @@ -599,7 +599,7 @@
            -OctoPrintClient.issueCommand(url, command, payload, opts)
            +OctoPrintClient.issueCommand(url, command, payload, opts)

            Issues a command against an OctoPrint command API endpoint.

            OctoPrint contains various API endpoints which follow a specific pattern: The payload of the request body is a JSON object which contains at least one property command and depending on the provided command additional @@ -619,7 +619,7 @@

            -
            Arguments
            +
            Arguments:
            • url (string()) – The URL to POST the command to

            • command (string()) – The command to issue

            • @@ -627,7 +627,7 @@
            • opts (object()) – Additional options for the request

            -
            Returns Promise
            +
            Returns Promise:

            A jQuery Promise for the request’s response

            @@ -635,7 +635,7 @@
            -OctoPrintClient.getSimpleApiUrl(plugin)
            +OctoPrintClient.getSimpleApiUrl(plugin)

            Returns the proper URL for the endpoint of a SimpleApiPlugin, based on the plugin identifier.

            Example:

            @@ -644,12 +644,12 @@
            -
            Arguments
            +
            Arguments:
            • plugin (string()) – The identifier of the plugin for which to return the URL

            -
            Returns string
            +
            Returns string:

            The URL to use as endpoint

            @@ -657,7 +657,7 @@
            -OctoPrintClient.simpleApiGet(plugin, opts)
            +OctoPrintClient.simpleApiGet(plugin, opts)

            Performs a GET request against the endpoint of a SimpleApiPlugin with identifier plugin.

            OctoPrint.simpleApiGet("myplugin")
            @@ -667,13 +667,13 @@
             
            -
            Arguments
            +
            Arguments:
            • plugin (string()) – The identifier of the plugin

            • opts (object()) – Additional options for the request

            -
            Returns Promise
            +
            Returns Promise:

            A jQuery Promise for the request’s response

            @@ -681,7 +681,7 @@
            -OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)
            +OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)

            Performs the API command command against the endpoint of a SimpleApiPlugin with identifier plugin, including the optional payload.

            Example:

            @@ -693,7 +693,7 @@
            -
            Arguments
            +
            Arguments:
            • plugin (string()) – The identifier of the plugin

            • command (string()) – The command to issue

            • @@ -701,7 +701,7 @@
            • opts (object()) – Additional options for the request

            -
            Returns Promise
            +
            Returns Promise:

            A jQuery Promise for the request’s response

            @@ -709,7 +709,7 @@
            -OctoPrintClient.getBlueprintUrl(plugin)
            +OctoPrintClient.getBlueprintUrl(plugin)

            Returns the proper base URL for blueprint endpoints of a BlueprintPlugin with identifier plugin.

            Example:

            @@ -721,14 +721,14 @@
            -OctoPrintClient.createRejectedDeferred()
            +OctoPrintClient.createRejectedDeferred()

            Static method.

            Shortcut for creating a rejected jQuery Deferred.

            -OctoPrintClient.createCustomException(name)
            +OctoPrintClient.createCustomException(name)

            Static method.

            Creates a custom exception class. name may be either a function in which case it will be used as constructor for the new exception class, or a string, in which case a constructor with proper @@ -743,7 +743,7 @@

            -OctoPrintClient.registerPluginComponent(identifier, clientClass)
            +OctoPrintClient.registerPluginComponent(identifier, clientClass)

            Static method.

            Registers the plugin client component clientClass under the name identifier on the OctoPrintClient.plugins registry.

            @@ -763,7 +763,7 @@
            -
            Arguments
            +
            Arguments:
            • identifier (string()) – The identifier of the plugin for which clientClass is the client

            • clientClass (class()) – The client class to register. Constructor must follow the signature ClientClass(base) @@ -776,7 +776,7 @@

              -class OctoPrintClient.InvalidArgumentError()
              +class OctoPrintClient.InvalidArgumentError()

              Exception to use when functions are called with invalid arguments.

              diff --git a/devel/jsclientlib/browser.html b/devel/jsclientlib/browser.html index 3a09b427a..985897f1f 100644 --- a/devel/jsclientlib/browser.html +++ b/devel/jsclientlib/browser.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.browser — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -150,10 +150,10 @@
              -

              OctoPrintClient.browser

              +

              OctoPrintClient.browser

              -OctoPrintClient.browser.login(username, password, remember, opts)
              +OctoPrintClient.browser.login(username, password, remember, opts)

              Logs the browser into OctoPrint, using the provided username and password as credentials. If remember is set to true, the session will also persist across browser restarts.

              @@ -165,7 +165,7 @@
              -
              Arguments
              +
              Arguments:
              • username (string()) – Username to log in with

              • password (string()) – Password to log in with

              • @@ -173,7 +173,7 @@
              • opts (object()) – Additional request options

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -181,7 +181,7 @@
              -OctoPrintClient.browser.passiveLogin(opts)
              +OctoPrintClient.browser.passiveLogin(opts)

              Tries to perform a passive login into OctoPrint, using existing session data stored in the browser’s cookies.

              OctoPrint.browser.passiveLogin()
              @@ -202,12 +202,12 @@
               
              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional request options

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -215,15 +215,15 @@
              -OctoPrintClient.browser.logout(opts)
              +OctoPrintClient.browser.logout(opts)

              Logs the browser out of OctoPrint.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional request options

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              diff --git a/devel/jsclientlib/connection.html b/devel/jsclientlib/connection.html index 89e162d37..dd7d2a68c 100644 --- a/devel/jsclientlib/connection.html +++ b/devel/jsclientlib/connection.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.connection — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -151,19 +151,19 @@
              -

              OctoPrintClient.connection

              +

              OctoPrintClient.connection

              -OctoPrintClient.connection.getSettings(opts)
              +OctoPrintClient.connection.getSettings(opts)

              Retrieves the available connection options for connection to a printer.

              See Get connection settings for the response format.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -171,7 +171,7 @@
              -OctoPrintClient.connection.connect(data, opts)
              +OctoPrintClient.connection.connect(data, opts)

              Connects to the printer, optionally using the provided connection data as parameters.

              If data is provided it’s expected to be an object specifying one or more of

              @@ -185,13 +185,13 @@

          See Issue a connection command for more details.

          -
          Arguments
          +
          Arguments:
          • data (object()) – Connection data to use

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -199,16 +199,16 @@
          -OctoPrintClient.connection.disconnect(opts)
          +OctoPrintClient.connection.disconnect(opts)

          Disconnects from the printer.

          See Issue a connection command for more details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -216,16 +216,16 @@
          -OctoPrintClient.connection.fakeAck(opts)
          +OctoPrintClient.connection.fakeAck(opts)

          Triggers a fake acknowledgement (ok) on the printer.

          See Issue a connection command for more details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/control.html b/devel/jsclientlib/control.html index 06fcba549..659f64594 100644 --- a/devel/jsclientlib/control.html +++ b/devel/jsclientlib/control.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.control — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -152,18 +152,18 @@
          -

          OctoPrintClient.control

          +

          OctoPrintClient.control

          -OctoPrintClient.control.getCustomControls(opts)
          +OctoPrintClient.control.getCustomControls(opts)

          Retrieves the defined custom controls from the server.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -171,18 +171,18 @@
          -OctoPrintClient.control.sendGcode(commands, opts)
          +OctoPrintClient.control.sendGcode(commands, opts)

          Sends the provided commands to the printer.

          Corresponds to the Send an arbitrary command to the printer API, see there for details.

          -
          Arguments
          +
          Arguments:
          • commands (list or string()) – One or more commands to send to the printer.

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -190,20 +190,20 @@
          -OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)
          +OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)

          Sends the provided commands to the printer, replacing contained placeholders with the provided parameters first.

          Corresponds to the Send an arbitrary command to the printer API, see there for details.

          -
          Arguments
          +
          Arguments:
          • commands (list or string()) – One or more commands to send to the printer

          • parameters (object()) – Parameters (key-value-pairs) to replace placeholders in commands with

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -211,18 +211,18 @@
          -OctoPrintClient.control.sendGcodeScript(script, context, opts)
          +OctoPrintClient.control.sendGcodeScript(script, context, opts)

          Sends the provided script to the printer, enhancing the template with the specified context.

          -
          Arguments
          +
          Arguments:
          • script (string()) – Name of the script to send to the printer

          • context (object()) – Template context

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -230,11 +230,11 @@
          -OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)
          +OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)

          Sends the provided script to the printer, enhancing the template with the specified context and parameters.

          -
          Arguments
          +
          Arguments:
          • script (string()) – Name of the script to send to the printer

          • context (object()) – Template context

          • @@ -242,7 +242,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/files.html b/devel/jsclientlib/files.html index 32944c974..e51444fdf 100644 --- a/devel/jsclientlib/files.html +++ b/devel/jsclientlib/files.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.files — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -160,21 +160,21 @@
          -

          OctoPrintClient.files

          +

          OctoPrintClient.files

          -OctoPrintClient.files.get(location, filename, opts)
          +OctoPrintClient.files.get(location, filename, opts)

          Retrieves information about the file filename at location.

          See Retrieve a specific file’s information for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file

          • filename (string()) – The name of the file

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -182,7 +182,7 @@
          -OctoPrintClient.files.list(recursively, opts)
          +OctoPrintClient.files.list(recursively, opts)

          Retrieves a list of all files from the server.

          The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -214,13 +214,13 @@

          See Retrieve all files for more details.

          -
          Arguments
          +
          Arguments:
          • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -228,7 +228,7 @@
          -OctoPrintClient.files.listForLocation(location, recursively, opts)
          +OctoPrintClient.files.listForLocation(location, recursively, opts)

          Retrieves a list of all files stored at the specified location from the server.

          The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -236,14 +236,14 @@

          For folders, all children will have their parent property set to the folder entry.

          See Retrieve files from specific location for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location for which to retrieve the list

          • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -251,12 +251,12 @@
          -OctoPrintClient.files.select(location, path, print, opts)
          +OctoPrintClient.files.select(location, path, print, opts)

          Selects a file at location named filename for printing. If print is supplied and truthy, also starts printing the file immediately.

          See the select command in Issue a file command for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file to select

          • path (string()) – The name of the file to select

          • @@ -264,7 +264,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -272,11 +272,11 @@
          -OctoPrintClient.files.slice(location, path, parameters, opts)
          +OctoPrintClient.files.slice(location, path, parameters, opts)

          Slices a file at location called filename, using the supplied slice command parameters.

          See the slice command in Issue a file command for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file to slice

          • path (string()) – The path of the file to slice

          • @@ -284,7 +284,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -292,18 +292,18 @@
          -OctoPrintClient.files.delete(location, path, opts)
          +OctoPrintClient.files.delete(location, path, opts)

          Deletes the file or folder at location and path.

          See Delete file for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file to delete

          • path (string()) – The path of the file to delete

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -311,7 +311,7 @@
          -OctoPrintClient.files.copy(location, path, destination, opts)
          +OctoPrintClient.files.copy(location, path, destination, opts)

          Copies file or folder path on location to new parent folder destination on location.

          destination must already exist.

          Example:

          @@ -320,7 +320,7 @@

          See Issue a file command for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file to copy, currently only “local” is supported

          • path (string()) – The path of the file or folder to copy

          • @@ -328,7 +328,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -336,7 +336,7 @@
          -OctoPrintClient.files.move(location, filename, destination, opts)
          +OctoPrintClient.files.move(location, filename, destination, opts)

          Moves file or folder path on location to new parent folder destination on location.

          destination must already exist.

          Example:

          @@ -345,7 +345,7 @@

          See Issue a file command for more details.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file to move, currently only “local” is supported

          • path (string()) – The path of the file or folder to move

          • @@ -353,7 +353,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -361,7 +361,7 @@
          -OctoPrintClient.files.createFolder(location, name, path, opts)
          +OctoPrintClient.files.createFolder(location, name, path, opts)

          Creates a new folder name on location. If path is provided and not empty the folder will be created as a new child of it.

          Example:

          @@ -374,7 +374,7 @@

          See Upload file or create folder for more details on the folder creation API.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location to create the folder on (currently only “local” is supported)

          • name (string()) – The name of the new folder

          • @@ -383,7 +383,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -391,7 +391,7 @@
          -OctoPrintClient.files.upload(location, file, data)
          +OctoPrintClient.files.upload(location, file, data)

          Uploads a file to the specified location.

          Additional command data may be provided. Supported properties are:

          @@ -412,13 +412,13 @@ OctoPrint.upload() for more details on the underlying library upload mechanism, including what values are accepted for the file parameter.

          -
          Arguments
          +
          Arguments:
          • location (string()) – The location to upload the file to

          • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -426,7 +426,7 @@
          -OctoPrintClient.files.download(location, path, opts)
          +OctoPrintClient.files.download(location, path, opts)

          Downloads the file at path in location.

          The downloaded file will be returned as response body in the completed Promise. Note that not all locations support downloading of files (sdcard for example doesn’t).

          @@ -439,14 +439,14 @@
          -
          Arguments
          +
          Arguments:
          • location (string()) – The location of the file to download

          • path (string()) – The path of the file to download

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -454,7 +454,7 @@
          -OctoPrintClient.files.pathForEntry(entry)
          +OctoPrintClient.files.pathForEntry(entry)

          Utility function to retrieve the path within its location for a given entry.

          Use this if you already have a full list of entries and need the path to one.

          Example

          @@ -467,12 +467,12 @@
          -
          Arguments
          +
          Arguments:
          • entry (object()) – The entry object for which to retrieve the path

          -
          Returns string
          +
          Returns string:

          The path of the entry within its location

          @@ -480,7 +480,7 @@
          -OctoPrintClient.files.entryForPath(path, root)
          +OctoPrintClient.files.entryForPath(path, root)

          Utility function to retrieve an entry by its path based on an entry tree provided by its root.

          Use this if you already have a full list of entries and are looking for a specified entry @@ -500,14 +500,14 @@

          -
          Arguments
          +
          Arguments:
          • path (string()) – The path of the entry to retrieve

          • root (object()) – The root of the tree in which to resolve the entry by its path, either a list of entries or an entry element with children

          -
          Returns object or undefined
          +
          Returns object or undefined:

          The retrieved entry, or undefined if the path could not be resolved

          diff --git a/devel/jsclientlib/index.html b/devel/jsclientlib/index.html index 851e147bf..34b80315c 100644 --- a/devel/jsclientlib/index.html +++ b/devel/jsclientlib/index.html @@ -1,26 +1,26 @@ - + - + JavaScript Client Library — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -143,7 +143,7 @@
          -

          JavaScript Client Library

          +

          JavaScript Client Library

          The JS Client Library provides an interface to all of OctoPrint’s API, including the SockJS based socket to send push messages from the server to connected clients. It is available as packed web asset file at /static/webassets/packed_client.js or as individual diff --git a/devel/jsclientlib/job.html b/devel/jsclientlib/job.html index fea1142b6..0750f06e8 100644 --- a/devel/jsclientlib/job.html +++ b/devel/jsclientlib/job.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.job — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -154,19 +154,19 @@

          -

          OctoPrintClient.job

          +

          OctoPrintClient.job

          -OctoPrintClient.job.get(opts)
          +OctoPrintClient.job.get(opts)

          Retrieves information about the current job.

          See Retrieve information about the current job for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -174,16 +174,16 @@
          -OctoPrintClient.job.start(opts)
          +OctoPrintClient.job.start(opts)

          Starts the current job.

          See Issue a job command for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -191,16 +191,16 @@
          -OctoPrintClient.job.cancel(opts)
          +OctoPrintClient.job.cancel(opts)

          Cancels the current job.

          See Issue a job command for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -208,7 +208,7 @@
          -OctoPrintClient.job.restart(opts)
          +OctoPrintClient.job.restart(opts)

          Restarts the current job. This is equivalent to cancelling and immediately restarting the job.

          Example:

          @@ -224,12 +224,12 @@

          See Issue a job command for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -237,16 +237,16 @@
          -OctoPrintClient.job.pause(opts)
          +OctoPrintClient.job.pause(opts)

          Pauses the current job if it’s running, does nothing if it’s already paused.

          See Issue a job command for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -254,16 +254,16 @@
          -OctoPrintClient.job.resume(opts)
          +OctoPrintClient.job.resume(opts)

          Resumes the current job if it’s currently paused, does nothing if it’s running.

          See Issue a job command for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -271,16 +271,16 @@
          -OctoPrintClient.job.togglePause(opts)
          +OctoPrintClient.job.togglePause(opts)

          Resumes a paused and pauses a running job.

          See Issue a job command for details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/languages.html b/devel/jsclientlib/languages.html index f17cc7476..960189752 100644 --- a/devel/jsclientlib/languages.html +++ b/devel/jsclientlib/languages.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.languages — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -150,7 +150,7 @@
          -

          OctoPrintClient.languages

          +

          OctoPrintClient.languages

          Note

          All methods here require that the used API token or the existing browser session @@ -158,15 +158,15 @@

          -OctoPrintClient.languages.list(opts)
          +OctoPrintClient.languages.list(opts)

          Retrieves a list of available language packs.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -174,15 +174,15 @@
          -OctoPrintClient.languages.upload(file)
          +OctoPrintClient.languages.upload(file)

          Uploads a language pack.

          -
          Arguments
          +
          Arguments:
          • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -190,17 +190,17 @@
          -OctoPrintClient.languages.delete(locale, pack, opts)
          +OctoPrintClient.languages.delete(locale, pack, opts)

          Deletes the language pack pack for the specified locale locale.

          -
          Arguments
          +
          Arguments:
          • locale (string()) – The locale for which to delete the language pack

          • pack (string()) – The identifier of the pack to delete

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/logs.html b/devel/jsclientlib/logs.html index db6b6ae1b..c0cbf4fe5 100644 --- a/devel/jsclientlib/logs.html +++ b/devel/jsclientlib/logs.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.logs — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -145,7 +145,7 @@
          -

          OctoPrintClient.logs

          +

          OctoPrintClient.logs

          Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins JS Client Library for the JS Client documentation.

          The former module OctoPrintClient.logs and its methods are marked as deprecated but still work for now. New diff --git a/devel/jsclientlib/printer.html b/devel/jsclientlib/printer.html index 6286b8514..0316af526 100644 --- a/devel/jsclientlib/printer.html +++ b/devel/jsclientlib/printer.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printer — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -167,7 +167,7 @@

          -

          OctoPrintClient.printer

          +

          OctoPrintClient.printer

          Note

          All commands here that interact with the printer (anything that sends a command) will @@ -178,7 +178,7 @@

          -OctoPrintClient.printer.getFullState(flags, opts)
          +OctoPrintClient.printer.getFullState(flags, opts)

          Retrieves the full printer state, including temperature information, sd state and general printer state.

          The flags object can be used to specify the data to retrieve further via the following @@ -193,13 +193,13 @@

          See Retrieve the current printer state for more details.

          -
          Arguments
          +
          Arguments:
          • flags (object()) – Flags that further specify which data to retrieve, see above for details

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -207,7 +207,7 @@
          -OctoPrintClient.printer.getToolState(flags, opts)
          +OctoPrintClient.printer.getToolState(flags, opts)

          Retrieves the current printer extruder state/temperature information, and optionally also the temperature history.

          The flags object can be used to specify the data to retrieve further via the following @@ -221,13 +221,13 @@

          See Retrieve the current tool state for more details.

          -
          Arguments
          +
          Arguments:
          • flags (object()) – Flags that further specify which data to retrieve, see above for details

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -235,7 +235,7 @@
          -OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)
          +OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)

          Sets the given temperatures on the printer’s extruders.

          targets is expected to be an object mapping tool identifier to target temperature to set.

          Example:

          @@ -245,13 +245,13 @@

          See the target command in Issue a tool command for more details.

          -
          Arguments
          +
          Arguments:
          • targets (object()) – The targets to set

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -259,7 +259,7 @@
          -OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)
          +OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)

          Sets the given temperature offsets for the printer’s extruders.

          offsets is expected to be an object mapping tool identifier to offset to set.

          Example:

          @@ -270,13 +270,13 @@

          See the offset command in Issue a tool command for more details.

          -
          Arguments
          +
          Arguments:
          • offsets (object()) – The offsets to set

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -284,7 +284,7 @@
          -OctoPrintClient.printer.selectTool(tool, opts)
          +OctoPrintClient.printer.selectTool(tool, opts)

          Selects the printer’s current extruder.

          tool is the identifier of the extruder to select.

          Example:

          @@ -300,13 +300,13 @@

          See the select command in Issue a tool command for more details.

          -
          Arguments
          +
          Arguments:
          • tool (string()) – The tool identifier of the extruder to select

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -314,7 +314,7 @@
          -OctoPrintClient.printer.extrude(amount, opts)
          +OctoPrintClient.printer.extrude(amount, opts)

          Extrudes or retracts amount mm of filament on the currently selected extruder.

          Example:

          Extrude 5mm of filament on the current extruder, then retract 2mm.

          @@ -326,13 +326,13 @@

          See the extrude command in Issue a tool command for more details.

          -
          Arguments
          +
          Arguments:
          • amount (float()) – The amount of filament to extrude/retract.

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -340,18 +340,18 @@
          -OctoPrintClient.printer.setFlowrate(factor, opts)
          +OctoPrintClient.printer.setFlowrate(factor, opts)

          Sets the current flowrate multiplier.

          factor is expected to be a integer value >0 representing the new flowrate percentage.

          See the flowrate command in Issue a tool command for more details.

          -
          Arguments
          +
          Arguments:
          • factor (integer()) – The flowrate as percentage

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -359,7 +359,7 @@
          -OctoPrintClient.printer.getBedState(data, opts)
          +OctoPrintClient.printer.getBedState(data, opts)

          Retrieves the current printer bed state/temperature information, and optionally also the temperature history.

          The flags object can be used to specify the data to retrieve further via the following @@ -373,13 +373,13 @@

          See Retrieve the current bed state for more details.

          -
          Arguments
          +
          Arguments:
          • flags (object()) – Flags that further specify which data to retrieve, see above for details

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -387,7 +387,7 @@
          -OctoPrintClient.printer.setBedTargetTemperature(target, opts)
          +OctoPrintClient.printer.setBedTargetTemperature(target, opts)

          Sets the given temperature on the printer’s heated bed (if available).

          target is expected to be the target temperature as a float value.

          Example:

          @@ -397,13 +397,13 @@

          See the target command in Issue a bed command for more details.

          -
          Arguments
          +
          Arguments:
          • target (float()) – The target to set

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -411,7 +411,7 @@
          -OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)
          +OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)

          Sets the given temperature offset for the printer’s heated bed (if available).

          offset is expected to be the temperature offset to set.

          Example:

          @@ -421,13 +421,13 @@

          See the offset command in Issue a bed command for more details.

          -
          Arguments
          +
          Arguments:
          • offsets (object()) – The offsets to set

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -435,7 +435,7 @@
          -OctoPrintClient.printer.getChamberState(data, opts)
          +OctoPrintClient.printer.getChamberState(data, opts)

          Retrieves the current printer chamber state/temperature information, and optionally also the temperature history.

          The flags object can be used to specify the data to retrieve further via the following @@ -449,13 +449,13 @@

          See Retrieve the current bed state for more details.

          -
          Arguments
          +
          Arguments:
          • flags (object()) – Flags that further specify which data to retrieve, see above for details

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -463,7 +463,7 @@
          -OctoPrintClient.printer.setChamberTargetTemperature(target, opts)
          +OctoPrintClient.printer.setChamberTargetTemperature(target, opts)

          Sets the given temperature on the printer’s heated chamber (if available).

          target is expected to be the target temperature as a float value.

          Example:

          @@ -473,13 +473,13 @@

          See the target command in Issue a chamber command for more details.

          -
          Arguments
          +
          Arguments:
          • target (float()) – The target to set

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -487,7 +487,7 @@
          -OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)
          +OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)

          Sets the given temperature offset for the printer’s heated chamber (if available).

          offset is expected to be the temperature offset to set.

          Example:

          @@ -497,13 +497,13 @@

          See the offset command in Issue a chamber command for more details.

          -
          Arguments
          +
          Arguments:
          • offsets (object()) – The offsets to set

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -511,7 +511,7 @@
          -OctoPrintClient.printer.jog(amounts, opts)
          +OctoPrintClient.printer.jog(amounts, opts)

          Jogs the specified axes by the specified amounts.

          amounts is expected to be an object with properties reflecting the axes to be jogged by the specified amount given as value.

          @@ -526,13 +526,13 @@

          See the jog command in Issue a print head command for more details.

          -
          Arguments
          +
          Arguments:
          • amounts (object()) – Key-value-pairs of axes to jog and amount to jog it.

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -540,7 +540,7 @@
          -OctoPrintClient.printer.home(axes, opts)
          +OctoPrintClient.printer.home(axes, opts)

          Homes the specified axes.

          axes is expected to be an array of strings specifying the axes to home.

          Example:

          @@ -554,13 +554,13 @@

          See the home command in Issue a print head command for more details.

          -
          Arguments
          +
          Arguments:
          • axes (array()) – List of axes to home

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -568,18 +568,18 @@
          -OctoPrintClient.printer.setFeedrate(factor, opts)
          +OctoPrintClient.printer.setFeedrate(factor, opts)

          Sets the feedrate multiplier to use.

          factor is expected to be a integer value >0 representing the new feedrate percentage.

          See the feedrate command in Issue a print head command for more details.

          -
          Arguments
          +
          Arguments:
          • factor (integer()) – The feedrate multiplier as percentage

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -587,16 +587,16 @@
          -OctoPrintClient.printer.getSdState(opts)
          +OctoPrintClient.printer.getSdState(opts)

          Retrieves the current ready state of the printer’s SD card.

          See Retrieve the current SD state for more details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -604,16 +604,16 @@
          -OctoPrintClient.printer.initSd(opts)
          +OctoPrintClient.printer.initSd(opts)

          Instructs the printer to initialize its SD card (if present).

          See the init command in Issue an SD command for more details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -621,16 +621,16 @@
          -OctoPrintClient.printer.refreshSd(opts)
          +OctoPrintClient.printer.refreshSd(opts)

          Instructs the printer to refresh the list of files on the SD card (if present).

          See the refresh command in Issue an SD command for more details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -638,16 +638,16 @@
          -OctoPrintClient.printer.releaseSd(opts)
          +OctoPrintClient.printer.releaseSd(opts)

          Instructs the printer to release its SD card (if present).

          See the release command in Issue an SD command for more details.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/printerprofiles.html b/devel/jsclientlib/printerprofiles.html index 297ecfe3c..6d441a6dd 100644 --- a/devel/jsclientlib/printerprofiles.html +++ b/devel/jsclientlib/printerprofiles.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printerprofiles — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -152,18 +152,18 @@
          -

          OctoPrintClient.printerprofiles

          +

          OctoPrintClient.printerprofiles

          -OctoPrintClient.printerprofiles.list(opts)
          +OctoPrintClient.printerprofiles.list(opts)

          Retrieves a list of all configured printer profiles.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -171,15 +171,15 @@
          -OctoPrintClient.printerprofiles.get(id, opts)
          +OctoPrintClient.printerprofiles.get(id, opts)
          -
          Arguments
          +
          Arguments:
          • id (string()) – The identifier of the profile to retrieve

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -187,17 +187,17 @@
          -OctoPrintClient.printerprofiles.add(profile, additional, opts)
          +OctoPrintClient.printerprofiles.add(profile, additional, opts)

          Adds a new profile to OctoPrint.

          -
          Arguments
          +
          Arguments:
          • profile (string()) – The data of the profile to add

          • basedOn (string()) – The identifier of the profile to base this profile on (optional)

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -205,17 +205,17 @@
          -OctoPrintClient.printerprofiles.update(id, profile, opts)
          +OctoPrintClient.printerprofiles.update(id, profile, opts)

          Updates an existing profile in OctoPrint.

          -
          Arguments
          +
          Arguments:
          • id (string()) – The identifier of the profile to update

          • profile (string()) – The data of the profile to update

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -223,16 +223,16 @@
          -OctoPrintClient.printerprofiles.delete(id, opts)
          +OctoPrintClient.printerprofiles.delete(id, opts)

          Deletes a profile in OctoPrint.

          -
          Arguments
          +
          Arguments:
          • id (string()) – The identifier of the profile to delete

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/settings.html b/devel/jsclientlib/settings.html index c881b4703..29e451f9a 100644 --- a/devel/jsclientlib/settings.html +++ b/devel/jsclientlib/settings.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.settings — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -152,18 +152,18 @@
          -

          OctoPrintClient.settings

          +

          OctoPrintClient.settings

          -OctoPrintClient.settings.get(opts)
          +OctoPrintClient.settings.get(opts)

          Retrieves the current settings.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -171,16 +171,16 @@
          -OctoPrintClient.settings.save(settings, opts)
          +OctoPrintClient.settings.save(settings, opts)

          Saves the provided settings.

          -
          Arguments
          +
          Arguments:
          • settings (object()) – The settings to save

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -188,16 +188,16 @@
          -OctoPrintClient.settings.getPluginSettings(plugin, opts)
          +OctoPrintClient.settings.getPluginSettings(plugin, opts)

          Retrieves the settings of the specified plugin.

          -
          Arguments
          +
          Arguments:
          • plugin (string()) – The plugin for which to retrieve the settings

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -205,17 +205,17 @@
          -OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)
          +OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)

          Saves the settings for the specified plugin.

          -
          Arguments
          +
          Arguments:
          • plugin (string()) – The plugin for which to save settings

          • settings (object()) – The settings to save

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -223,15 +223,15 @@
          -OctoPrintClient.settings.generateApiKey(opts)
          +OctoPrintClient.settings.generateApiKey(opts)

          Generate a new system wide API key.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/slicing.html b/devel/jsclientlib/slicing.html index 12a8defe6..7e5299bff 100644 --- a/devel/jsclientlib/slicing.html +++ b/devel/jsclientlib/slicing.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.slicing — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -153,18 +153,18 @@
          -

          OctoPrintClient.slicing

          +

          OctoPrintClient.slicing

          -OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)
          +OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)

          Retrieves a list of all slicers and their available slicing profiles.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -172,16 +172,16 @@
          -OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)
          +OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)

          Retrieves of all slicing profiles for the specified slicer.

          -
          Arguments
          +
          Arguments:
          • slicer (string()) – The identifier of the slicer for which to retrieve the profiles

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -189,17 +189,17 @@
          -OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)
          +OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)

          Retrieves the slicing profile with profileId for the specified slicer.

          -
          Arguments
          +
          Arguments:
          • slicer (string()) – The slicer for which to retrieve the profile

          • profileId (string()) – The identifier of the profile to retrieve

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -207,10 +207,10 @@
          -OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)
          +OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)

          Adds the profile with identifier profileId to the specified slicer, using the provided profile data.

          -
          Arguments
          +
          Arguments:
          • slicer (string()) – The slicer for which to add the profile

          • profileId (string()) – The identifier for the profile to add

          • @@ -218,7 +218,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -226,10 +226,10 @@
          -OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)
          +OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)

          Updates the profile profileId for slicer with the provided profile data.

          -
          Arguments
          +
          Arguments:
          • slicer (string()) – The slicer for which to update the profile

          • profileId (string()) – The identifier for the profile to update

          • @@ -237,7 +237,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -245,15 +245,15 @@
          -OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)
          +OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)

          Deletes the profile profileId for slicer.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/socket.html b/devel/jsclientlib/socket.html index 2e88130a0..26101348b 100644 --- a/devel/jsclientlib/socket.html +++ b/devel/jsclientlib/socket.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.socket — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -161,10 +161,10 @@
          -

          OctoPrintClient.socket

          +

          OctoPrintClient.socket

          -OctoPrintClient.socket.options
          +OctoPrintClient.socket.options

          The socket client’s options.

          OctoPrintClient.socket.options.timeouts

          A list of consecutive timeouts after which to attempt reconnecting to a @@ -181,12 +181,12 @@

          -OctoPrintClient.socket.connect(opts)
          +OctoPrintClient.socket.connect(opts)

          Connects the socket client to OctoPrint’s SockJS socket.

          The optional parameter opts may be used to provide additional configuration options to the SockJS constructor. See the SockJS documentation on potential options.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the SockJS constructor.

          @@ -196,19 +196,19 @@
          -OctoPrintClient.socket.reconnect()
          +OctoPrintClient.socket.reconnect()

          Reconnects the socket client. If the socket is currently connected it will be disconnected first.

          -OctoPrintClient.socket.disconnect()
          +OctoPrintClient.socket.disconnect()

          Disconnects the socket client.

          -OctoPrintClient.socket.onMessage(message, handler)
          +OctoPrintClient.socket.onMessage(message, handler)

          Registers the handler for messages of type message.

          To register for all message types, provide * as the type to register for.

          handler is expected to be a function accepting one object parameter eventObj, consisting @@ -224,7 +224,7 @@

          Please refer to the Push API documentation for details on the possible message types and their payloads.

          -
          Arguments
          +
          Arguments:
          • message (string()) – The type of message for which to register

          • handler (function()) – The handler function

          • @@ -235,7 +235,7 @@
            -OctoPrintClient.socket.removeMessage(message, handler)
            +OctoPrintClient.socket.removeMessage(message, handler)

            Removes the handler for messages of type message.

            const handler = (message) => {
                 // do something with the message object
            @@ -247,7 +247,7 @@
             
            -
            Arguments
            +
            Arguments:
            • message (string()) – The type of message for which to remove the handler

            • handler (function()) – The handler function

            • @@ -258,12 +258,12 @@
              -OctoPrintClient.socket.sendMessage(type, payload)
              +OctoPrintClient.socket.sendMessage(type, payload)

              Sends a message of type type with the provided payload to the server.

              Note that at the time of writing, OctoPrint only supports the throttle and auth messages. See also the Push API documentation.

              -
              Arguments
              +
              Arguments:
              • type (string()) – Type of message to send

              • payload (object()) – Payload to send

              • @@ -274,13 +274,13 @@
                -OctoPrintClient.socket.sendAuth(userId, session)
                +OctoPrintClient.socket.sendAuth(userId, session)

                Sends an auth message with the provided userId and session to the server.

                session is expected to be the session value retrieved from any valid OctoPrint.browser.login(userId,…) response.

                See also the Push API documentation.

                -
                Arguments
                +
                Arguments:
                • userId (string()) – An existing OctoPrint username

                • session (string()) – A valid session id for the provided username

                • @@ -291,14 +291,14 @@
                  -OctoPrintClient.socket.onRateTooLow(measured, minimum)
                  +OctoPrintClient.socket.onRateTooLow(measured, minimum)

                  Called by the socket client when the measured message round trip times have been lower than the current lower processing limit over the full sliding window, indicating that messages are now processed faster than the current rate and a faster rate might be possible.

                  Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.increaseRate().

                  -
                  Arguments
                  +
                  Arguments:
                  • measured (Number()) – Maximal measured message round trip time

                  • minimum (Number()) – Lower round trip time limit for keeping the rate

                  • @@ -309,14 +309,14 @@
                    -OctoPrintClient.socket.onRateTooHigh(measured, maximum)
                    +OctoPrintClient.socket.onRateTooHigh(measured, maximum)

                    Called by the socket client when the last measured round trip time was higher than the current upper processing limit, indicating that the messages are now processed slower than the current rate requires and a slower rate might be necessary.

                    Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.decreaseRate().

                    -
                    Arguments
                    +
                    Arguments:
                    • measured (Number()) – Measured message round trip time

                    • minimum (Number()) – Upper round trip time limit for keeping the rate

                    • @@ -327,18 +327,18 @@
                      -OctoPrintClient.socket.increaseRate()
                      +OctoPrintClient.socket.increaseRate()

                      Instructs the server to increase the message rate by 500ms.

                      -OctoPrintClient.socket.decreaseRate()
                      +OctoPrintClient.socket.decreaseRate()

                      Instructs the server to decrease the message rate by 500ms.

                      -

                      Sample to setup an authed socket

                      +

                      Sample to setup an authed socket

                      If you have a username and a password:

                      OctoPrint.socket.connect();
                       OctoPrint.browser.login("myusername", "mypassword", true)
                      @@ -361,7 +361,7 @@
                       
                      -

                      Communication Throttling

                      +

                      Communication Throttling

                      The socket client supports communication throttling. It will measure how long each incoming message takes to be processed by all registered handlers. If the processing times in a sliding window are longer than the current rate limit configured on the socket (default: 500ms between messages), the socket client will diff --git a/devel/jsclientlib/system.html b/devel/jsclientlib/system.html index 856867a30..19c5056f8 100644 --- a/devel/jsclientlib/system.html +++ b/devel/jsclientlib/system.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.system — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -150,7 +150,7 @@

                      -

                      OctoPrintClient.system

                      +

                      OctoPrintClient.system

                      Note

                      All methods here require that the used API token or the existing browser session @@ -158,15 +158,15 @@

                      -OctoPrintClient.system.getCommands(opts)
                      +OctoPrintClient.system.getCommands(opts)

                      Retrieves a list of configured system commands for both core and custom sources.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -174,16 +174,16 @@

                      -OctoPrintClient.system.getCommandsForSource(source, opts)
                      +OctoPrintClient.system.getCommandsForSource(source, opts)

                      Retrieves a list of system commands, limiting it to the specified source, which might be either core or custom.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -191,17 +191,17 @@

                      -OctoPrintClient.system.executeCommand(source, action, opts)
                      +OctoPrintClient.system.executeCommand(source, action, opts)

                      Executes command action on source.

                      -
                      Arguments
                      +
                      Arguments:
                      • source (string()) – The source of the command to execute

                      • action (string()) – The action identifier of the command to execute

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/devel/jsclientlib/timelapse.html b/devel/jsclientlib/timelapse.html index afee36858..17b8687df 100644 --- a/devel/jsclientlib/timelapse.html +++ b/devel/jsclientlib/timelapse.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.timelapse — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -157,20 +157,20 @@
                      -

                      OctoPrintClient.timelapse

                      +

                      OctoPrintClient.timelapse

                      -OctoPrintClient.timelapse.get(unrendered, opts)
                      +OctoPrintClient.timelapse.get(unrendered, opts)

                      Get a list of all timelapses and the current timelapse config.

                      If unrendered is true, also retrieve the list of unrendered timelapses.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -178,18 +178,18 @@
                      -OctoPrintClient.timelapse.list(opts)
                      +OctoPrintClient.timelapse.list(opts)

                      Get the lists of rendered and unrendered timelapses. The returned promise will be resolved with an object containing the properties rendered which will have the list of rendered timelapses, and unrendered which will have the list of unrendered timelapses.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -197,15 +197,15 @@
                      -OctoPrintClient.timelapse.listRendered(opts)
                      +OctoPrintClient.timelapse.listRendered(opts)

                      Get the list of rendered timelapses.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -213,15 +213,15 @@
                      -OctoPrintClient.timelapse.listUnrendered(opts)
                      +OctoPrintClient.timelapse.listUnrendered(opts)

                      Get the list of unrendered timelapses.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -229,16 +229,16 @@
                      -OctoPrintClient.timelapse.download(filename, opts)
                      +OctoPrintClient.timelapse.download(filename, opts)

                      Download the rendered timelapse filename.

                      -
                      Arguments
                      +
                      Arguments:
                      • filename (string()) – The name of the rendered timelapse to download

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -246,16 +246,16 @@
                      -OctoPrintClient.timelapse.delete(filename, opts)
                      +OctoPrintClient.timelapse.delete(filename, opts)

                      Delete the rendered timelapse filename.

                      -
                      Arguments
                      +
                      Arguments:
                      • filename (string()) – The name of the rendered timelapse to delete

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -263,16 +263,16 @@
                      -OctoPrintClient.timelapse.deleteUnrendered(name, opts)
                      +OctoPrintClient.timelapse.deleteUnrendered(name, opts)

                      Delete the unrendered timelapse name.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The name of the unrendered timelapse to delete

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -280,16 +280,16 @@
                      -OctoPrintClient.timelapse.renderUnrendered(name, opts)
                      +OctoPrintClient.timelapse.renderUnrendered(name, opts)

                      Render the unrendered timelapse name.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The name of the unrendered timelapse to render

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -297,15 +297,15 @@
                      -OctoPrintClient.timelapse.getConfig(opts)
                      +OctoPrintClient.timelapse.getConfig(opts)

                      Get the current timelapse configuration.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -313,16 +313,16 @@
                      -OctoPrintClient.timelapse.saveConfig(config, opts)
                      +OctoPrintClient.timelapse.saveConfig(config, opts)

                      Save the timelapse configuration.

                      -
                      Arguments
                      +
                      Arguments:
                      • config (object()) – The config to save

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/devel/jsclientlib/users.html b/devel/jsclientlib/users.html index a208c84e1..d383b0232 100644 --- a/devel/jsclientlib/users.html +++ b/devel/jsclientlib/users.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.users — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -157,7 +157,7 @@
                      -

                      OctoPrintClient.users

                      +

                      OctoPrintClient.users

                      Note

                      Most methods here require that the used API token or the existing browser session @@ -166,16 +166,16 @@

                      -OctoPrintClient.users.list(opts)
                      +OctoPrintClient.users.list(opts)

                      Get a list of all registered users.

                      Requires admin rights.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -183,16 +183,16 @@
                      -OctoPrintClient.users.get(name, opts)
                      +OctoPrintClient.users.get(name, opts)

                      Get information about a specific user.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -200,17 +200,17 @@
                      -OctoPrintClient.users.add(user, opts)
                      +OctoPrintClient.users.add(user, opts)

                      Add a new user.

                      Requires admin rights.

                      -
                      Arguments
                      +
                      Arguments:
                      • user (object()) – The new user

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -218,11 +218,11 @@
                      -OctoPrintClient.users.update(name, active, admin, opts)
                      +OctoPrintClient.users.update(name, active, admin, opts)

                      Update an existing user.

                      Requires admin rights.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • active (bool()) – The new active state of the user

                      • @@ -230,7 +230,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -238,17 +238,17 @@
                      -OctoPrintClient.users.delete(name, opts)
                      +OctoPrintClient.users.delete(name, opts)

                      Delete an existing user.

                      Requires admin rights.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -256,17 +256,17 @@
                      -OctoPrintClient.users.changePassword(name, password, opts)
                      +OctoPrintClient.users.changePassword(name, password, opts)

                      Change the password for a user.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • password (string()) – The new password

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -274,16 +274,16 @@
                      -OctoPrintClient.users.generateApiKey(name, opts)
                      +OctoPrintClient.users.generateApiKey(name, opts)

                      Generate a new API key for a user.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -291,16 +291,16 @@
                      -OctoPrintClient.users.resetApiKey(name, opts)
                      +OctoPrintClient.users.resetApiKey(name, opts)

                      Reset the API key for a user to being unset.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -308,16 +308,16 @@
                      -OctoPrintClient.users.getSettings(name, opts)
                      +OctoPrintClient.users.getSettings(name, opts)

                      Get the settings for a user.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -325,17 +325,17 @@
                      -OctoPrintClient.users.saveSettings(name, settings, opts)
                      +OctoPrintClient.users.saveSettings(name, settings, opts)

                      Save the settings for a user.

                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – The user’s name

                      • settings (object()) – The new settings, may be a partial set of settings which will be merged unto the current ones

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/devel/jsclientlib/util.html b/devel/jsclientlib/util.html index 574da86d6..8f6df7204 100644 --- a/devel/jsclientlib/util.html +++ b/devel/jsclientlib/util.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.util — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -153,7 +153,7 @@
                      -

                      OctoPrintClient.util

                      +

                      OctoPrintClient.util

                      Note

                      All methods here require that the used API token or the existing browser session @@ -161,18 +161,18 @@

                      -OctoPrintClient.util.test(command, parameters, opts)
                      +OctoPrintClient.util.test(command, parameters, opts)

                      Execute a test command.

                      See below for the more specialized versions of this.

                      -
                      Arguments
                      +
                      Arguments:
                      • command (string()) – The command to execute (currently either path or url)

                      • parameters (object()) – The parameters for the command

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -180,7 +180,7 @@
                      -OctoPrintClient.util.testPath(path, additional, opts)
                      +OctoPrintClient.util.testPath(path, additional, opts)

                      Test the provided path for existence. More test criteria supported by the path test command can be provided via the additional object.

                      Example 1

                      @@ -208,14 +208,14 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • path (string()) – Path to test

                      • additional (object()) – Additional parameters for the test command

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -223,7 +223,7 @@
                      -OctoPrintClient.util.testExecutable(path, opts)
                      +OctoPrintClient.util.testExecutable(path, opts)

                      Shortcut to test if a provided path exists and is executable by OctoPrint.

                      Example

                      Test if /some/path/to/a/file exists and can be executed by OctoPrint.

                      @@ -249,13 +249,13 @@

                      -
                      Arguments
                      +
                      Arguments:
                      • path (string()) – Path to test

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -263,7 +263,7 @@
                      -OctoPrintClient.util.testUrl(url, additional, opts)
                      +OctoPrintClient.util.testUrl(url, additional, opts)

                      Test if a URL can be accessed. More test criteria supported by the URL test command can be provided via the additional object.

                      Example 1

                      @@ -314,14 +314,14 @@
          -
          Arguments
          +
          Arguments:
          • url (string()) – URL to test

          • additional (object()) – Additional parameters for the test command

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -329,7 +329,7 @@
          -OctoPrintClient.util.testServer(host, port, additional, opts)
          +OctoPrintClient.util.testServer(host, port, additional, opts)

          Test if a server is reachable. More options supported by the server test command can be provided via the additional object.

          Example 1

          @@ -357,7 +357,7 @@
          -
          Arguments
          +
          Arguments:
          • url (string()) – Host to test

          • port (int()) – Port to test

          • @@ -365,7 +365,7 @@
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -373,7 +373,7 @@
          -OctoPrintClient.util.testResolution(name, additional, opts)
          +OctoPrintClient.util.testResolution(name, additional, opts)

          Test if a host name can be resolved.

          Example

          Test if octoprint.org can be resolved.

          @@ -388,14 +388,14 @@
          -
          Arguments
          +
          Arguments:
          • name (string()) – Host name to test

          • additional (object()) – Additional parameters for the test command

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/jsclientlib/wizard.html b/devel/jsclientlib/wizard.html index e2ea6009e..6738bdff0 100644 --- a/devel/jsclientlib/wizard.html +++ b/devel/jsclientlib/wizard.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.wizard — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -148,7 +148,7 @@
          -

          OctoPrintClient.wizard

          +

          OctoPrintClient.wizard

          Note

          All methods here require that the used API token or the existing browser session @@ -156,15 +156,15 @@

          -OctoPrintClient.wizard.get(opts)
          +OctoPrintClient.wizard.get(opts)

          Retrieve additional data about registered wizards.

          -
          Arguments
          +
          Arguments:
          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          @@ -172,16 +172,16 @@
          -OctoPrintClient.wizard.finish(handled, opts)
          +OctoPrintClient.wizard.finish(handled, opts)

          Inform wizards that the wizard dialog has been finished.

          -
          Arguments
          +
          Arguments:
          • handled (list()) – List of identifiers of handled wizards

          • opts (object()) – Additional options for the request

          -
          Returns Promise
          +
          Returns Promise:

          A jQuery Promise for the request’s response

          diff --git a/devel/modules/access.html b/devel/modules/access.html index b6e238c7b..58c2d95e3 100644 --- a/devel/modules/access.html +++ b/devel/modules/access.html @@ -1,26 +1,26 @@ - + - + octoprint.access.users — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -169,43 +169,43 @@
          -

          octoprint.access.users

          +

          octoprint.access.users

          -class octoprint.access.users.AnonymousUser(groups)
          +class octoprint.access.users.AnonymousUser(groups)
          -exception octoprint.access.users.CorruptUserStorage
          +exception octoprint.access.users.CorruptUserStorage
          -exception octoprint.access.users.InvalidUsername(username)
          +exception octoprint.access.users.InvalidUsername(username)
          -class octoprint.access.users.LocalCliUser(groups)
          +class octoprint.access.users.LocalCliUser(groups)
          -exception octoprint.access.users.UnknownRole(role)
          +exception octoprint.access.users.UnknownRole(role)
          -exception octoprint.access.users.UnknownUser(username)
          +exception octoprint.access.users.UnknownUser(username)
          -class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
          +class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
          -asDict()
          +asDict()

          Deprecated since version 1.4.0: Replaced by as_dict()

          @@ -215,7 +215,7 @@
          -exception octoprint.access.users.UserAlreadyExists(username)
          +exception octoprint.access.users.UserAlreadyExists(username)
          diff --git a/devel/modules/cli.html b/devel/modules/cli.html index 69fed877b..4f9ec9c35 100644 --- a/devel/modules/cli.html +++ b/devel/modules/cli.html @@ -1,26 +1,26 @@ - + - + octoprint.cli — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -188,22 +188,22 @@
          -

          octoprint.cli

          +

          octoprint.cli

          -class octoprint.cli.HiddenOption(param_decls: Optional[Sequence[str]] = None, show_default: Optional[Union[bool, str]] = None, prompt: Union[bool, str] = False, confirmation_prompt: Union[bool, str] = False, prompt_required: bool = True, hide_input: bool = False, is_flag: Optional[bool] = None, flag_value: Optional[Any] = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: Optional[Union[ParamType, Any]] = None, help: Optional[str] = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)
          +class octoprint.cli.HiddenOption(param_decls: Sequence[str] | None = None, show_default: bool | str | None = None, prompt: bool | str = False, confirmation_prompt: bool | str = False, prompt_required: bool = True, hide_input: bool = False, is_flag: bool | None = None, flag_value: Any | None = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: ParamType | Any | None = None, help: str | None = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)

          Custom option sub class with empty help.

          -class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)
          +class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)

          Custom context wrapping the standard options.

          -octoprint.cli.bulk_options(options)
          +octoprint.cli.bulk_options(options)

          Utility decorator to decorate a function with a list of click decorators.

          The provided list of options will be reversed to ensure correct processing order (inverse from what would be intuitive).

          @@ -211,7 +211,7 @@
          -octoprint.cli.hidden_option(*param_decls, **attrs)
          +octoprint.cli.hidden_option(*param_decls, **attrs)

          Attaches a hidden option to the command. All positional arguments are passed as parameter declarations to Option; all keyword arguments are forwarded unchanged. This is equivalent to creating an @@ -221,7 +221,7 @@

          -octoprint.cli.init_platform_for_cli(ctx)
          +octoprint.cli.init_platform_for_cli(ctx)

          Performs a basic platform initialization for the CLI.

          Plugin implementations will be initialized, but only with a subset of the usual property injections:

          @@ -241,7 +241,7 @@
          -octoprint.cli.legacy_options(f)
          +octoprint.cli.legacy_options(f)

          Legacy options available directly on the “octoprint” command in earlier versions. Kept available for reasons of backwards compatibility, but hidden from the generated help pages.

          @@ -249,19 +249,19 @@
          -octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]
          +octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]

          Decorator to pass in the OctoPrintContext instance.

          -octoprint.cli.set_ctx_obj_option(ctx, param, value)
          +octoprint.cli.set_ctx_obj_option(ctx, param, value)

          Helper for setting eager options on the context.

          -octoprint.cli.standard_options(hidden=False)
          +octoprint.cli.standard_options(hidden=False)

          Decorator to add the standard options shared among all “octoprint” commands.

          If hidden is set to True, the options will be available on the command but not listed in its help page.

          @@ -269,23 +269,23 @@
          -

          octoprint.cli.dev

          +

          octoprint.cli.dev

          -class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)
          +class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)

          Custom click.MultiCommand implementation that provides commands relevant for (plugin) development based on availability of development dependencies.

          -get_command(ctx, cmd_name)
          +get_command(ctx, cmd_name)

          Given a context and a command name, this returns a Command object if it exists or returns None.

          -list_commands(ctx)
          +list_commands(ctx)

          Returns a list of subcommand names in the order they should appear.

          @@ -294,35 +294,35 @@
          -

          octoprint.cli.plugins

          +

          octoprint.cli.plugins

          -class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)
          +class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)

          Custom click.MultiCommand implementation that collects commands from the plugin hook octoprint.cli.commands.

          -settings
          +settings

          The global Settings instance.

          -plugin_manager
          +plugin_manager

          The PluginManager instance.

          -get_command(ctx, cmd_name)
          +get_command(ctx, cmd_name)

          Given a context and a command name, this returns a Command object if it exists or returns None.

          -list_commands(ctx)
          +list_commands(ctx)

          Returns a list of subcommand names in the order they should appear.

          @@ -331,22 +331,22 @@
          -

          octoprint.cli.server

          +

          octoprint.cli.server

          -octoprint.cli.server.daemon_options(f)
          +octoprint.cli.server.daemon_options(f)

          Decorator to add the options for the daemon subcommand: --pid.

          -octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)
          +octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)

          Initializes the environment and starts up the server.

          -octoprint.cli.server.server_options(f)
          +octoprint.cli.server.server_options(f)

          Decorator to add the options shared among the server commands: --host, --port, -4, -6 --logging, --iknowwhatimdoing and --debug.

          diff --git a/devel/modules/filemanager.html b/devel/modules/filemanager.html index f5af38bf9..9488b9c79 100644 --- a/devel/modules/filemanager.html +++ b/devel/modules/filemanager.html @@ -1,26 +1,26 @@ - + - + octoprint.filemanager — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -285,19 +285,19 @@
          -

          octoprint.filemanager

          +

          octoprint.filemanager

          -class octoprint.filemanager.ContentTypeDetector(extensions, detector)
          -
          +class octoprint.filemanager.ContentTypeDetector(extensions, detector) +
          -property detector
          +detector

          Alias for field number 1

          -
          +
          -property extensions
          +extensions

          Alias for field number 0

          @@ -305,16 +305,16 @@
          -class octoprint.filemanager.ContentTypeMapping(extensions, content_type)
          -
          +class octoprint.filemanager.ContentTypeMapping(extensions, content_type) +
          -property content_type
          +content_type

          Alias for field number 1

          -
          +
          -property extensions
          +extensions

          Alias for field number 0

          @@ -322,20 +322,20 @@
          -exception octoprint.filemanager.NoSuchStorage
          +exception octoprint.filemanager.NoSuchStorage
          -

          octoprint.filemanager.analysis

          +

          octoprint.filemanager.analysis

          -class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)
          +class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)

          The AbstractAnalysisQueue is the parent class of all specific analysis queues such as the GcodeAnalysisQueue. It offers methods to enqueue new entries to analyze and pausing and resuming analysis processing.

          -
          Parameters
          +
          Parameters:

          finished_callback (callable) – Callback that will be called upon finishing analysis of an entry in the queue. The callback will be called with the analyzed entry as the first argument and the analysis result as returned from the queue implementation as the second parameter.

          @@ -343,21 +343,21 @@
          -_do_analysis(high_priority=False)
          +_do_analysis(high_priority=False)

          Performs the actual analysis of the current entry which can be accessed via self._current. Needs to be overridden by sub classes.

          -
          Parameters
          +
          Parameters:

          high_priority (bool) – Whether the current entry has high priority or not.

          -
          Returns
          +
          Returns:

          The result of the analysis which will be forwarded to the finished_callback provided during

          construction.

          -
          Return type
          +
          Return type:

          object

          @@ -365,18 +365,18 @@
          -_do_abort(reenqueue=True)
          +_do_abort(reenqueue=True)

          Aborts analysis of the current entry. Needs to be overridden by sub classes.

          -enqueue(entry, high_priority=False)
          +enqueue(entry, high_priority=False)

          Enqueues an entry for analysis by the queue.

          If high_priority is True (defaults to False), the entry will be prioritized and hence processed before other entries in the queue with normal priority.

          -
          Parameters
          +
          Parameters:
          • entry (QueueEntry) – The QueueEntry to analyze.

          • high_priority (boolean) – Whether to process the provided entry with high priority (True) or not @@ -388,13 +388,13 @@

            -pause()
            +pause()

            Pauses processing of the queue, e.g. when a print is active.

            -resume()
            +resume()

            Resumes processing of the queue, e.g. when a print has finished.

            @@ -402,12 +402,12 @@
            -exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
            +exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
            -class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)
            +class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)

            OctoPrint’s AnalysisQueue can manage various AbstractAnalysisQueue implementations, mapped by their machine code type.

            By invoking register_finish_callback() it is possible to register oneself as a callback to be invoked each @@ -421,12 +421,12 @@

            -class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)
            +class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)

            A queue to analyze GCODE files. Analysis results are dict instances structured as follows:

            - +
            --++ @@ -517,11 +517,11 @@
            -class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)
            +class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)

            A QueueEntry for processing through the AnalysisQueue. Wraps the entry’s properties necessary for processing.

            -
            Parameters
            +
            Parameters:
            • name (str) – Name of the file to analyze.

            • path (str) – Storage location specific path to the file to analyze.

            • @@ -538,23 +538,23 @@
              -

              octoprint.filemanager.destinations

              +

              octoprint.filemanager.destinations

              -

              octoprint.filemanager.storage

              +

              octoprint.filemanager.storage

              -class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)
              +class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)

              The LocalFileStorage is a storage implementation which holds all files, folders and metadata on disk.

              Metadata is managed inside .metadata.json files in the respective folders, indexed by the sanitized filenames stored within the folder. Metadata access is managed through an LRU cache to minimize access overhead.

              This storage type implements path_on_disk().

              -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)
              +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)

              Adds the file file_object as path

              -
              Parameters
              +
              Parameters:
              • path (string) – the file’s new path, will be sanitized

              • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -567,7 +567,7 @@

              • user (str) – user who added the file, if known

              -
              Returns
              +
              Returns:

              the sanitized name of the file to be used for future references to it

              @@ -575,11 +575,11 @@
              -add_folder(path, ignore_existing=True, display=None, user=None)
              +add_folder(path, ignore_existing=True, display=None, user=None)

              Adds a folder as path

              The path will be sanitized.

              -
              Parameters
              +
              Parameters:
              • path (string) – the path of the new folder

              • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

              • @@ -587,7 +587,7 @@
              • user (str) – user who created the folder, if known

              -
              Returns
              +
              Returns:

              the sanitized name of the new folder to be used for future references to the folder

              @@ -595,7 +595,7 @@
              +add_link(path, rel, data)

              Adds a link of relation rel to file path with the given data.

              The following relation types are currently supported:

              @@ -616,7 +616,7 @@

              Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

              -
              Parameters
              +
              Parameters:
              • path – path of the file for which to add a link

              • rel – type of relation of the link to add (currently model, machinecode and web are supported)

              • @@ -628,12 +628,12 @@
                -property analysis_backlog
                +property analysis_backlog

                Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                -
                Returns
                +
                Returns:

                an iterator yielding all un-analysed files in the storage

                @@ -641,16 +641,16 @@
                -canonicalize(path)
                +canonicalize(path)

                Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                -
                Parameters
                +
                Parameters:

                path – the path to canonicalize

                -
                Returns
                +
                Returns:

                a 2-tuple containing the canonicalized path and file name

                @@ -658,16 +658,16 @@
                -copy_file(source, destination)
                +copy_file(source, destination)

                Copies the file source to destination

                -
                Parameters
                +
                Parameters:
                • source (string) – path to the source file

                • destination (string) – path to destination

                -
                Returns
                +
                Returns:

                the path in the storage to the copy of the file

                @@ -675,16 +675,16 @@
                -copy_folder(source, destination)
                +copy_folder(source, destination)

                Copies the folder source to destination

                -
                Parameters
                +
                Parameters:
                • source (string) – path to the source folder

                • destination (string) – path to destination

                -
                Returns
                +
                Returns:

                the path in the storage to the copy of the folder

                @@ -692,7 +692,7 @@
                -file_exists(path)
                +file_exists(path)

                Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                @@ -700,7 +700,7 @@
                -file_in_path(path, filepath)
                +file_in_path(path, filepath)

                Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -709,7 +709,7 @@

                -folder_exists(path)
                +folder_exists(path)

                Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                @@ -717,10 +717,10 @@
                -get_additional_metadata(path, key)
                +get_additional_metadata(path, key)

                Fetches additional metadata at key from the metadata of path.

                -
                Parameters
                +
                Parameters:
                • path – the virtual path to the file for which to fetch additional metadata

                • key – key of metadata to fetch

                • @@ -731,10 +731,10 @@
                  -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                  +get_lastmodified(path: str | None = None, recursive: bool = False) int

                  Get the modification date of the specified path or path’s subtree.

                  -
                  Parameters
                  +
                  Parameters:
                  • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                  • @@ -747,13 +747,13 @@
                    -get_metadata(path)
                    +get_metadata(path)

                    Retrieves the metadata for the file path.

                    -
                    Parameters
                    +
                    Parameters:

                    path – virtual path to the file for which to retrieve the metadata

                    -
                    Returns
                    +
                    Returns:

                    the metadata associated with the file

                    @@ -761,10 +761,10 @@
                    -get_size(path=None, recursive=False)
                    +get_size(path=None, recursive=False)

                    Get the size of the specified path or path’s subtree.

                    -
                    Parameters
                    +
                    Parameters:
                    • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                    • @@ -777,10 +777,10 @@
                      -has_analysis(path)
                      +has_analysis(path)

                      Returns whether the file at path has been analysed yet

                      -
                      Parameters
                      +
                      Parameters:

                      path – virtual path to the file for which to retrieve the metadata

                      @@ -788,7 +788,7 @@
                      -join_path(*path)
                      +join_path(*path)

                      Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                      @@ -796,10 +796,10 @@
                      -last_modified(path=None, recursive=False)
                      +last_modified(path=None, recursive=False)

                      Get the last modification date of the specified path or path’s subtree.

                      -
                      Parameters
                      +
                      Parameters:
                      • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                      • @@ -813,7 +813,7 @@
                        -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                        +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                        List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                        An optional filter function can be supplied which will be called with a file name and file data and which has @@ -867,7 +867,7 @@

                        -
                        Parameters
                        +
                        Parameters:
                        • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                        • @@ -877,7 +877,7 @@ do one step down into sub folders to be able to populate the children.

                        -
                        Returns
                        +
                        Returns:

                        a dictionary mapping entry names to entry data that represents the whole file list

                        @@ -885,16 +885,16 @@
                        -move_file(source, destination, allow_overwrite=False)
                        +move_file(source, destination, allow_overwrite=False)

                        Moves the file source to destination

                        -
                        Parameters
                        +
                        Parameters:
                        • source (string) – path to the source file

                        • destination (string) – path to destination

                        -
                        Returns
                        +
                        Returns:

                        the new path in the storage to the file

                        @@ -902,16 +902,16 @@
                        -move_folder(source, destination)
                        +move_folder(source, destination)

                        Moves the folder source to destination

                        -
                        Parameters
                        +
                        Parameters:
                        • source (string) – path to the source folder

                        • destination (string) – path to destination

                        -
                        Returns
                        +
                        Returns:

                        the new path in the storage to the folder

                        @@ -919,14 +919,14 @@
                        -path_in_storage(path)
                        +path_in_storage(path)

                        Retrieves the equivalent in the storage adapter for path.

                        Opposite of path_on_disk().

                        -
                        Parameters
                        +
                        Parameters:

                        path (string) – the path for which to retrieve the storage path

                        -
                        Returns
                        +
                        Returns:

                        the path in storage to path

                        @@ -934,16 +934,16 @@
                        -path_on_disk(path)
                        +path_on_disk(path)

                        Retrieves the path on disk for path.

                        Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                        Opposite of path_in_storage().

                        -
                        Parameters
                        +
                        Parameters:

                        path (string) – the virtual path for which to retrieve the path on disk

                        -
                        Returns
                        +
                        Returns:

                        the path on disk to path

                        @@ -951,10 +951,10 @@
                        -remove_additional_metadata(path, key)
                        +remove_additional_metadata(path, key)

                        Removes additional metadata under key for name on path

                        -
                        Parameters
                        +
                        Parameters:
                        • path – the virtual path to the file for which to remove the metadata under key

                        • key – the key to remove

                        • @@ -965,12 +965,12 @@
                          -remove_file(path)
                          +remove_file(path)

                          Removes the file at path

                          Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                          -
                          Parameters
                          +
                          Parameters:

                          path (string) – path of the file to remove

                          @@ -978,10 +978,10 @@
                          -remove_folder(path, recursive=True)
                          +remove_folder(path, recursive=True)

                          Removes the folder at path

                          -
                          Parameters
                          +
                          Parameters:
                          • path (string) – the path of the folder to remove

                          • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -993,10 +993,10 @@

                            +remove_link(path, rel, data)

                            Removes the link consisting of rel and data from file name on path.

                            -
                            Parameters
                            +
                            Parameters:
                            • path – path of the file from which to remove the link

                            • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                            • @@ -1008,7 +1008,7 @@
                              -sanitize(path)
                              +sanitize(path)

                              Returns a (path, name) tuple derived from the provided path.

                              path may be:
                                @@ -1027,7 +1027,7 @@
                                -sanitize_name(name)
                                +sanitize_name(name)

                                Raises a ValueError for a name containing / or \. Otherwise sanitizes the given name using octoprint.files.sanitize_filename. Also strips any leading ..

                                @@ -1035,7 +1035,7 @@
                                -sanitize_path(path)
                                +sanitize_path(path)

                                Ensures that the on disk representation of path is located under the configured basefolder. Resolves all relative path elements (e.g. ..) and sanitizes folder names using sanitize_name(). Final path is the absolute path including leading basefolder path.

                                @@ -1043,13 +1043,13 @@
                                -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                -
                                Parameters
                                +
                                Parameters:
                                • path – the virtual path to the file for which to add additional metadata

                                • key – key of metadata to add

                                • @@ -1064,7 +1064,7 @@
                                  -split_path(path)
                                  +split_path(path)

                                  Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                  @@ -1074,14 +1074,14 @@
                                  -class octoprint.filemanager.storage.StorageInterface
                                  +class octoprint.filemanager.storage.StorageInterface

                                  Interface of storage adapters for OctoPrint.

                                  -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)
                                  +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)

                                  Adds the file file_object as path

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • path (string) – the file’s new path, will be sanitized

                                  • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -1094,7 +1094,7 @@

                                  • user (str) – user who added the file, if known

                                  -
                                  Returns
                                  +
                                  Returns:

                                  the sanitized name of the file to be used for future references to it

                                  @@ -1102,11 +1102,11 @@
                                  -add_folder(path, ignore_existing=True, display=None, user=None)
                                  +add_folder(path, ignore_existing=True, display=None, user=None)

                                  Adds a folder as path

                                  The path will be sanitized.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • path (string) – the path of the new folder

                                  • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

                                  • @@ -1114,7 +1114,7 @@
                                  • user (str) – user who created the folder, if known

                                  -
                                  Returns
                                  +
                                  Returns:

                                  the sanitized name of the new folder to be used for future references to the folder

                                  @@ -1122,7 +1122,7 @@
                                  +add_link(path, rel, data)

                                  Adds a link of relation rel to file path with the given data.

                                  The following relation types are currently supported:

                                  @@ -1143,7 +1143,7 @@

                                  Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • path – path of the file for which to add a link

                                  • rel – type of relation of the link to add (currently model, machinecode and web are supported)

                                  • @@ -1155,12 +1155,12 @@
                                    -property analysis_backlog
                                    +property analysis_backlog

                                    Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                                    The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    an iterator yielding all un-analysed files in the storage

                                    @@ -1168,16 +1168,16 @@
                                    -canonicalize(path)
                                    +canonicalize(path)

                                    Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                                    By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    path – the path to canonicalize

                                    -
                                    Returns
                                    +
                                    Returns:

                                    a 2-tuple containing the canonicalized path and file name

                                    @@ -1185,16 +1185,16 @@
                                    -copy_file(source, destination)
                                    +copy_file(source, destination)

                                    Copies the file source to destination

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • source (string) – path to the source file

                                    • destination (string) – path to destination

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the path in the storage to the copy of the file

                                    @@ -1202,16 +1202,16 @@
                                    -copy_folder(source, destination)
                                    +copy_folder(source, destination)

                                    Copies the folder source to destination

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • source (string) – path to the source folder

                                    • destination (string) – path to destination

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the path in the storage to the copy of the folder

                                    @@ -1219,7 +1219,7 @@
                                    -file_exists(path)
                                    +file_exists(path)

                                    Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                                    @@ -1227,7 +1227,7 @@
                                    -file_in_path(path, filepath)
                                    +file_in_path(path, filepath)

                                    Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -1236,7 +1236,7 @@

                                    -folder_exists(path)
                                    +folder_exists(path)

                                    Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                                    @@ -1244,10 +1244,10 @@
                                    -get_additional_metadata(path, key)
                                    +get_additional_metadata(path, key)

                                    Fetches additional metadata at key from the metadata of path.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • path – the virtual path to the file for which to fetch additional metadata

                                    • key – key of metadata to fetch

                                    • @@ -1258,10 +1258,10 @@
                                      -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                                      +get_lastmodified(path: str | None = None, recursive: bool = False) int

                                      Get the modification date of the specified path or path’s subtree.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                                      • @@ -1274,13 +1274,13 @@
                                        -get_metadata(path)
                                        +get_metadata(path)

                                        Retrieves the metadata for the file path.

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        path – virtual path to the file for which to retrieve the metadata

                                        -
                                        Returns
                                        +
                                        Returns:

                                        the metadata associated with the file

                                        @@ -1288,10 +1288,10 @@
                                        -get_size(path=None, recursive=False) int
                                        +get_size(path=None, recursive=False) int

                                        Get the size of the specified path or path’s subtree.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                                        • @@ -1304,10 +1304,10 @@
                                          -has_analysis(path)
                                          +has_analysis(path)

                                          Returns whether the file at path has been analysed yet

                                          -
                                          Parameters
                                          +
                                          Parameters:

                                          path – virtual path to the file for which to retrieve the metadata

                                          @@ -1315,7 +1315,7 @@
                                          -join_path(*path)
                                          +join_path(*path)

                                          Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                                          @@ -1323,10 +1323,10 @@
                                          -last_modified(path=None, recursive=False)
                                          +last_modified(path=None, recursive=False)

                                          Get the last modification date of the specified path or path’s subtree.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                                          • @@ -1340,7 +1340,7 @@
                                            -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                                            +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                                            List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                                            An optional filter function can be supplied which will be called with a file name and file data and which has @@ -1394,7 +1394,7 @@

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                                            • @@ -1404,7 +1404,7 @@ do one step down into sub folders to be able to populate the children.

                                            -
                                            Returns
                                            +
                                            Returns:

                                            a dictionary mapping entry names to entry data that represents the whole file list

                                            @@ -1412,16 +1412,16 @@
                                            -move_file(source, destination)
                                            +move_file(source, destination)

                                            Moves the file source to destination

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • source (string) – path to the source file

                                            • destination (string) – path to destination

                                            -
                                            Returns
                                            +
                                            Returns:

                                            the new path in the storage to the file

                                            @@ -1429,16 +1429,16 @@
                                            -move_folder(source, destination)
                                            +move_folder(source, destination)

                                            Moves the folder source to destination

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • source (string) – path to the source folder

                                            • destination (string) – path to destination

                                            -
                                            Returns
                                            +
                                            Returns:

                                            the new path in the storage to the folder

                                            @@ -1446,14 +1446,14 @@
                                            -path_in_storage(path)
                                            +path_in_storage(path)

                                            Retrieves the equivalent in the storage adapter for path.

                                            Opposite of path_on_disk().

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            path (string) – the path for which to retrieve the storage path

                                            -
                                            Returns
                                            +
                                            Returns:

                                            the path in storage to path

                                            @@ -1461,16 +1461,16 @@
                                            -path_on_disk(path)
                                            +path_on_disk(path)

                                            Retrieves the path on disk for path.

                                            Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                                            Opposite of path_in_storage().

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            path (string) – the virtual path for which to retrieve the path on disk

                                            -
                                            Returns
                                            +
                                            Returns:

                                            the path on disk to path

                                            @@ -1478,10 +1478,10 @@
                                            -remove_additional_metadata(path, key)
                                            +remove_additional_metadata(path, key)

                                            Removes additional metadata under key for name on path

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • path – the virtual path to the file for which to remove the metadata under key

                                            • key – the key to remove

                                            • @@ -1492,12 +1492,12 @@
                                              -remove_file(path)
                                              +remove_file(path)

                                              Removes the file at path

                                              Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                                              -
                                              Parameters
                                              +
                                              Parameters:

                                              path (string) – path of the file to remove

                                              @@ -1505,10 +1505,10 @@
                                              -remove_folder(path, recursive=True)
                                              +remove_folder(path, recursive=True)

                                              Removes the folder at path

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • path (string) – the path of the folder to remove

                                              • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -1520,10 +1520,10 @@

                                                +remove_link(path, rel, data)

                                                Removes the link consisting of rel and data from file name on path.

                                                -
                                                Parameters
                                                +
                                                Parameters:
                                                • path – path of the file from which to remove the link

                                                • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                                                • @@ -1535,14 +1535,14 @@
                                                  -sanitize(path)
                                                  +sanitize(path)

                                                  Sanitizes the given path, stripping it of all invalid characters. The path may consist of both folder and file name, the underlying implementation must separate those if necessary and sanitize individually.

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:

                                                  path (string) – the path to sanitize

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  a 2-tuple containing the sanitized path and file name

                                                  @@ -1550,7 +1550,7 @@
                                                  -sanitize_name(name)
                                                  +sanitize_name(name)

                                                  Sanitizes the given file name, stripping it of all invalid characters. :param string name: the file name to sanitize :return: the sanitized name

                                                  @@ -1558,7 +1558,7 @@
                                                  -sanitize_path(path)
                                                  +sanitize_path(path)

                                                  Sanitizes the given folder-only path, stripping it of all invalid characters. :param string path: the path to sanitize :return: the sanitized path

                                                  @@ -1566,13 +1566,13 @@
                                                  -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                                  +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                                  Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                                  If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                                  If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • path – the virtual path to the file for which to add additional metadata

                                                  • key – key of metadata to add

                                                  • @@ -1587,7 +1587,7 @@
                                                    -split_path(path)
                                                    +split_path(path)

                                                    Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                                    @@ -1597,22 +1597,22 @@
              -

              octoprint.filemanager.util

              +

              octoprint.filemanager.util

              -class octoprint.filemanager.util.AbstractFileWrapper(filename)
              +class octoprint.filemanager.util.AbstractFileWrapper(filename)

              Wrapper for file representations to save to storages.

              -
              Parameters
              +
              Parameters:

              filename (str) – The file’s name

              -save(path, permissions=None)
              +save(path, permissions=None)

              Saves the file’s content to the given absolute path.

              -
              Parameters
              +
              Parameters:
              • path (str) – The absolute path to where to save the file

              • permissions (int) – The permissions to set on the file

              • @@ -1623,13 +1623,13 @@
                -stream()
                +stream()

                Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

                -
                Returns
                +
                Returns:

                The file’s contents as a stream.

                -
                Return type
                +
                Return type:

                io.IOBase

                @@ -1639,12 +1639,12 @@
                -class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)
                +class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)

                An implementation of AbstractFileWrapper that wraps an actual file on disk. The save implementations will either copy the file to the new path (preserving file attributes) or – if move is True (the default) – move the file.

                -
                Parameters
                +
                Parameters:
                • filename (str) – The file’s name

                • path (str) – The file’s absolute path

                • @@ -1654,10 +1654,10 @@
                -save(path, permissions=None)
                +save(path, permissions=None)

                Saves the file’s content to the given absolute path.

                -
                Parameters
                +
                Parameters:
                • path (str) – The absolute path to where to save the file

                • permissions (int) – The permissions to set on the file

                • @@ -1668,13 +1668,13 @@
                  -stream()
                  +stream()

                  Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

                  -
                  Returns
                  +
                  Returns:

                  The file’s contents as a stream.

                  -
                  Return type
                  +
                  Return type:

                  io.IOBase

                  @@ -1684,42 +1684,42 @@
                  -class octoprint.filemanager.util.LineProcessorStream(input_stream)
                  +class octoprint.filemanager.util.LineProcessorStream(input_stream)

                  While reading from this stream the provided input_stream is read line by line, calling the (overridable) method process_line() for each read line.

                  Sub classes can thus modify the contents of the input_stream in line, while it is being read. Keep in mind that process_line will receive the line as a byte stream - if underlying code needs to operate on unicode you’ll need to do the decoding yourself.

                  -
                  Parameters
                  +
                  Parameters:

                  input_stream (io.RawIOBase) – The stream to process on the fly.

                  -close()
                  +close()

                  Flush and close the IO object.

                  This method has no effect if the file is already closed.

                  -process_line(line)
                  +process_line(line)

                  Called from the read Method of this stream with each line read from self.input_stream.

                  By returning None the line will not be returned from the read stream, effectively being stripped from the wrapper input_stream.

                  -
                  Parameters
                  +
                  Parameters:

                  line (bytes) – The line as read from self.input_stream in byte representation

                  -
                  Returns
                  +
                  Returns:

                  The processed version of the line (might also be multiple lines), or None if the line is to be

                  stripped from the processed stream.

                  -
                  Return type
                  +
                  Return type:

                  bytes or None

                  @@ -1727,14 +1727,14 @@
                  -readable(*args, **kwargs)
                  +readable(*args, **kwargs)

                  Return whether object was opened for reading.

                  If False, read() will raise OSError.

                  -seekable(*args, **kwargs)
                  +seekable(*args, **kwargs)

                  Return whether object supports random access.

                  If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

                  @@ -1742,7 +1742,7 @@
                  -writable(*args, **kwargs)
                  +writable(*args, **kwargs)

                  Return whether object was opened for writing.

                  If False, write() will raise OSError.

                  @@ -1751,31 +1751,31 @@
                  -class octoprint.filemanager.util.MultiStream(*streams)
                  +class octoprint.filemanager.util.MultiStream(*streams)

                  A stream implementation which when read reads from multiple streams, one after the other, basically concatenating their contents in the order they are provided to the constructor.

                  -
                  Parameters
                  +
                  Parameters:

                  *streams – One or more io.IOBase streams to concatenate.

                  -close()
                  +close()

                  Flush and close the IO object.

                  This method has no effect if the file is already closed.

                  -readable(*args, **kwargs)
                  +readable(*args, **kwargs)

                  Return whether object was opened for reading.

                  If False, read() will raise OSError.

                  -seekable(*args, **kwargs)
                  +seekable(*args, **kwargs)

                  Return whether object supports random access.

                  If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

                  @@ -1783,7 +1783,7 @@
                  -writable(*args, **kwargs)
                  +writable(*args, **kwargs)

                  Return whether object was opened for writing.

                  If False, write() will raise OSError.

                  @@ -1792,23 +1792,23 @@
                  -class octoprint.filemanager.util.StreamWrapper(filename, *streams)
                  +class octoprint.filemanager.util.StreamWrapper(filename, *streams)

                  A wrapper allowing processing of one or more consecutive streams.

                  -
                  Parameters
                  +
                  Parameters:

                  *streams – One or more io.IOBase streams to process one after another to save to storage.

                  -save(path, permissions=None)
                  +save(path, permissions=None)

                  Will dump the contents of all streams provided during construction into the target file, in the order they were provided.

                  -stream()
                  +stream()

                  If more than one stream was provided to the constructor, will return a MultiStream wrapping all provided streams in the order they were provided, else the first and only stream is returned directly.

                  diff --git a/devel/modules/index.html b/devel/modules/index.html index e6ec5ae16..50c5c2f89 100644 --- a/devel/modules/index.html +++ b/devel/modules/index.html @@ -1,26 +1,26 @@ - + - + Internal Modules — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -154,7 +154,7 @@
                  -

                  Internal Modules

                  +

                  Internal Modules

                  -
                  Parameters
                  +
                  Parameters:
                  • types (list) – A list of plugin implementation types to match against.

                  • method (string) – Name of the method to call on all matching implementations.

                  • @@ -421,14 +421,14 @@
                    -class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)
                    +class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)

                    The PluginSettings class is the interface for plugins to their own or globally defined settings.

                    It provides some convenience methods for directly accessing plugin settings via the regular octoprint.settings.Settings interfaces as well as means to access plugin specific folder locations.

                    All getter and setter methods will ensure that plugin settings are stored in their correct location within the settings structure by modifying the supplied paths accordingly.

                    -
                    Parameters
                    +
                    Parameters:
                    • settings (Settings) – The Settings instance on which to operate.

                    • plugin_key (str) – The plugin identifier of the plugin for which to create this instance.

                    • @@ -439,21 +439,21 @@
                    -get(path, merged=False, asdict=False)
                    +get(path, merged=False, asdict=False)

                    Retrieves a raw value from the settings for path, optionally merging the raw value with the default settings if merged is set to True.

                    -
                    Parameters
                    +
                    Parameters:
                    • path (list, tuple) – The path for which to retrieve the value.

                    • merged (boolean) – Whether to merge the returned result with the default settings (True) or not (False, default).

                    -
                    Returns
                    +
                    Returns:

                    The retrieved settings value.

                    -
                    Return type
                    +
                    Return type:

                    object

                    @@ -461,7 +461,7 @@
                    -get_int(path, min=None, max=None)
                    +get_int(path, min=None, max=None)

                    Like get() but tries to convert the retrieved value to int. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

                    @@ -469,7 +469,7 @@
                    -get_float(path, min=None, max=None)
                    +get_float(path, min=None, max=None)

                    Like get() but tries to convert the retrieved value to float. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

                    @@ -477,16 +477,16 @@
                    -get_boolean(path)
                    +get_boolean(path)

                    Like get() but tries to convert the retrieved value to boolean.

                    -set(path, value, force=False)
                    +set(path, value, force=False)

                    Sets the raw value on the settings for path.

                    -
                    Parameters
                    +
                    Parameters:
                    • path (list, tuple) – The path for which to retrieve the value.

                    • value (object) – The value to set.

                    • @@ -499,7 +499,7 @@
                      -set_int(path, value, force=False, min=None, max=None)
                      +set_int(path, value, force=False, min=None, max=None)

                      Like set() but ensures the value is an int through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -508,7 +508,7 @@

                      -set_float(path, value, force=False, min=None, max=None)
                      +set_float(path, value, force=False, min=None, max=None)

                      Like set() but ensures the value is an float through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -517,18 +517,18 @@

                      -set_boolean(path, value, force=False)
                      +set_boolean(path, value, force=False)

                      Like set() but ensures the value is an boolean through attempted conversion before setting it.

                      -save(force=False, trigger_event=False)
                      +save(force=False, trigger_event=False)

                      Saves the settings to config.yaml if there are active changes. If force is set to True the settings will be saved even if there are no changes. Settings trigger_event to True will cause a SettingsUpdated event to get triggered.

                      -
                      Parameters
                      +
                      Parameters:
                      • force (boolean) – Force saving to config.yaml even if there are no changes.

                      • trigger_event (boolean) – Trigger the SettingsUpdated event on save.

                      • @@ -539,17 +539,17 @@
                        -add_overlay(overlay, at_end=False, key=None)
                        +add_overlay(overlay, at_end=False, key=None)

                        Adds a new config overlay for the plugin’s settings. Will return the overlay’s key in the map.

                        -
                        Parameters
                        +
                        Parameters:
                        • overlay (dict) – Overlay dict to add

                        • at_end (boolean) – Whether to add overlay at end or start (default) of config hierarchy

                        • key (str) – Key to use to identify overlay. If not set one will be built based on the overlay’s hash

                        -
                        Return type
                        +
                        Return type:

                        str

                        @@ -557,14 +557,14 @@
                        -remove_overlay(key)
                        +remove_overlay(key)

                        Removes an overlay from the settings based on its key. Return True if the overlay could be found and was removed, False otherwise.

                        -
                        Parameters
                        +
                        Parameters:

                        key (str) – The key of the overlay to remove

                        -
                        Return type
                        +
                        Return type:

                        boolean

                        @@ -572,7 +572,7 @@
                        -get_plugin_data_folder()
                        +get_plugin_data_folder()

                        Deprecated since version 1.2.0: Replaced by get_plugin_data_folder()

                        @@ -580,22 +580,22 @@
                        -get_plugin_logfile_path(postfix=None)
                        +get_plugin_logfile_path(postfix=None)

                        Retrieves the path to a logfile specifically for the plugin. If postfix is not supplied, the logfile will be named plugin_<plugin identifier>.log and located within the configured logs folder. If a postfix is supplied, the name will be plugin_<plugin identifier>_<postfix>.log at the same location.

                        Plugins may use this for specific logging tasks. For example, a SlicingPlugin might want to create a log file for logging the output of the slicing engine itself if some debug flag is set.

                        -
                        Parameters
                        +
                        Parameters:

                        postfix (str) – Postfix of the logfile for which to create the path. If set, the file name of the log file will be plugin_<plugin identifier>_<postfix>.log, if not it will be plugin_<plugin identifier>.log.

                        -
                        Returns
                        +
                        Returns:

                        Absolute path to the log file, directly usable by the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str

                        @@ -603,7 +603,7 @@
                        -global_get(path, **kwargs)
                        +global_get(path, **kwargs)

                        Getter for retrieving settings not managed by the plugin itself from the core settings structure. Use this to access global settings outside of your plugin.

                        Directly forwards to octoprint.settings.Settings.get().

                        @@ -611,32 +611,32 @@
                        -global_get_basefolder(folder_type, **kwargs)
                        +global_get_basefolder(folder_type, **kwargs)

                        Retrieves a globally defined basefolder of the given folder_type. Directly forwards to octoprint.settings.Settings.getBaseFolder().

                        -global_get_boolean(path, **kwargs)
                        +global_get_boolean(path, **kwargs)

                        Like global_get() but directly orwards to octoprint.settings.Settings.getBoolean().

                        -global_get_float(path, **kwargs)
                        +global_get_float(path, **kwargs)

                        Like global_get() but directly forwards to octoprint.settings.Settings.getFloat().

                        -global_get_int(path, **kwargs)
                        +global_get_int(path, **kwargs)

                        Like global_get() but directly forwards to octoprint.settings.Settings.getInt().

                        -global_set(path, value, **kwargs)
                        +global_set(path, value, **kwargs)

                        Setter for modifying settings not managed by the plugin itself on the core settings structure. Use this to modify global settings outside of your plugin.

                        Directly forwards to octoprint.settings.Settings.set().

                        @@ -644,19 +644,19 @@
                        -global_set_boolean(path, value, **kwargs)
                        +global_set_boolean(path, value, **kwargs)

                        Like global_set() but directly forwards to octoprint.settings.Settings.setBoolean().

                        -global_set_float(path, value, **kwargs)
                        +global_set_float(path, value, **kwargs)

                        Like global_set() but directly forwards to octoprint.settings.Settings.setFloat().

                        -global_set_int(path, value, **kwargs)
                        +global_set_int(path, value, **kwargs)

                        Like global_set() but directly forwards to octoprint.settings.Settings.setInt().

                        @@ -664,41 +664,41 @@
                  -

                  octoprint.plugin.core

                  +

                  octoprint.plugin.core

                  In this module resides the core data structures and logic of the plugin system.

                  -class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_flags=None, plugin_validators=None, compatibility_ignored_list=None)
                  +class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_flags=None, plugin_validators=None, compatibility_ignored_list=None)

                  The PluginManager is the central component for finding, loading and accessing plugins provided to the system.

                  It is able to discover plugins both through possible file system locations as well as customizable entry points.

                  -disable_plugin(name, plugin=None)
                  +disable_plugin(name, plugin=None)

                  Disables a plugin

                  -enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)
                  +enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)

                  Enables a plugin

                  -get_filtered_implementations(f, *types, **kwargs)
                  +get_filtered_implementations(f, *types, **kwargs)

                  Get all mixin implementations that implement all of the provided types and match the provided filter f.

                  -
                  Parameters
                  +
                  Parameters:
                  • f (callable) – A filter function returning True for implementations to return and False for those to exclude.

                  • types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

                  -
                  Returns
                  +
                  Returns:

                  A list of all found and matching implementations.

                  -
                  Return type
                  +
                  Return type:

                  list

                  @@ -706,25 +706,25 @@
                  -get_helpers(name, *helpers)
                  +get_helpers(name, *helpers)

                  Retrieves the named helpers for the plugin with identifier name.

                  If the plugin is not available, returns None. Otherwise returns a dict with the requested plugin helper names mapped to the method - if a helper could not be resolved, it will be missing from the dict.

                  -
                  Parameters
                  +
                  Parameters:
                  • name (str) – Identifier of the plugin for which to look up the helpers.

                  • helpers (one or more str) – Identifiers of the helpers of plugin name to return.

                  -
                  Returns
                  +
                  Returns:

                  A dictionary of all resolved helpers, mapped by their identifiers, or None if the plugin was not

                  registered with the system.

                  -
                  Return type
                  +
                  Return type:

                  dict

                  @@ -732,16 +732,16 @@
                  -get_hooks(hook)
                  +get_hooks(hook)

                  Retrieves all registered handlers for the specified hook.

                  -
                  Parameters
                  +
                  Parameters:

                  hook (str) – The hook for which to retrieve the handlers.

                  -
                  Returns
                  +
                  Returns:

                  A dict containing all registered handlers mapped by their plugin’s identifier.

                  -
                  Return type
                  +
                  Return type:

                  dict

                  @@ -749,16 +749,16 @@
                  -get_implementations(*types, **kwargs)
                  +get_implementations(*types, **kwargs)

                  Get all mixin implementations that implement all of the provided types.

                  -
                  Parameters
                  +
                  Parameters:

                  types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

                  -
                  Returns
                  +
                  Returns:

                  A list of all found implementations

                  -
                  Return type
                  +
                  Return type:

                  list

                  @@ -766,21 +766,21 @@
                  -get_plugin(identifier, require_enabled=True)
                  +get_plugin(identifier, require_enabled=True)

                  Retrieves the module of the plugin identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

                  -
                  Parameters
                  +
                  Parameters:
                  • identifier (str) – The identifier of the plugin to retrieve.

                  • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

                  -
                  Returns
                  +
                  Returns:

                  The requested plugin module or None

                  -
                  Return type
                  +
                  Return type:

                  module

                  @@ -788,21 +788,21 @@
                  -get_plugin_info(identifier, require_enabled=True)
                  +get_plugin_info(identifier, require_enabled=True)

                  Retrieves the PluginInfo instance identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

                  -
                  Parameters
                  +
                  Parameters:
                  • identifier (str) – The identifier of the plugin to retrieve.

                  • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

                  -
                  Returns
                  +
                  Returns:

                  The requested PluginInfo or None

                  -
                  Return type
                  +
                  Return type:

                  PluginInfo

                  @@ -810,24 +810,24 @@
                  -static has_any_of_hooks(plugin, *hooks)
                  +static has_any_of_hooks(plugin, *hooks)

                  Tests if the plugin contains any of the provided hooks.

                  Uses octoprint.plugin.core.PluginManager.hook_matches_hooks().

                  -
                  Parameters
                  +
                  Parameters:
                  • plugin – plugin to test hooks for

                  • *hooks – hooks to test against

                  -
                  Returns
                  +
                  Returns:

                  True if any of the plugin’s hooks match the provided hooks,

                  False otherwise.

                  -
                  Return type
                  +
                  Return type:

                  (bool)

                  @@ -835,24 +835,24 @@
                  -static has_any_of_mixins(plugin, *mixins)
                  +static has_any_of_mixins(plugin, *mixins)

                  Tests if the plugin has an implementation implementing any of the provided mixins.

                  -
                  Parameters
                  +
                  Parameters:
                  • plugin – plugin for which to check the implementation

                  • *mixins – mixins to test against

                  -
                  Returns
                  +
                  Returns:

                  True if the plugin’s implementation implements any of the

                  provided mixins, False otherwise.

                  -
                  Return type
                  +
                  Return type:

                  (bool)

                  @@ -860,41 +860,41 @@
                  -has_obsolete_hooks(plugin)
                  +has_obsolete_hooks(plugin)

                  Checks whether the plugin uses any obsolete hooks

                  -has_restart_needing_hooks(plugin)
                  +has_restart_needing_hooks(plugin)

                  Checks whether the plugin has any hooks that need a restart on changes

                  -has_restart_needing_implementation(plugin)
                  +has_restart_needing_implementation(plugin)

                  Checks whether the plugin’s implementation needs a restart on changes

                  -static hook_matches_hooks(hook, *hooks)
                  +static hook_matches_hooks(hook, *hooks)

                  Tests if hook matches any of the provided hooks to test for.

                  hook is expected to be an exact hook name.

                  hooks is expected to be a list containing one or more hook names or patterns. That can be either an exact hook name or an fnmatch.fnmatch() pattern.

                  -
                  Parameters
                  +
                  Parameters:
                  • hook – the hook to test

                  • hooks – the hook name patterns to test against

                  -
                  Returns
                  +
                  Returns:

                  True if the hook matches any of the hooks, False otherwise.

                  -
                  Return type
                  +
                  Return type:

                  (bool)

                  @@ -902,25 +902,25 @@
                  -is_obsolete_hook(hook)
                  +is_obsolete_hook(hook)

                  Checks whether a hook is obsolete

                  -is_plugin_marked(name, flag)
                  +is_plugin_marked(name, flag)

                  Checks whether a plugin has been marked with a certain flag.

                  -
                  Parameters
                  +
                  Parameters:
                  • name (str) – the plugin’s identifier

                  • flag (str) – the flag to check

                  -
                  Returns
                  +
                  Returns:

                  True if the plugin has been flagged, False otherwise

                  -
                  Return type
                  +
                  Return type:

                  (boolean)

                  @@ -928,22 +928,22 @@
                  -is_restart_needing_hook(hook)
                  +is_restart_needing_hook(hook)

                  Checks whether a hook needs a restart on changes

                  -is_restart_needing_plugin(plugin)
                  +is_restart_needing_plugin(plugin)

                  Checks whether the plugin needs a restart on changes

                  -mark_plugin(name, **flags)
                  +mark_plugin(name, **flags)

                  Mark plugin name with an arbitrary number of flags.

                  -
                  Parameters
                  +
                  Parameters:
                  • name (str) – plugin identifier

                  • **flags (dict) – dictionary of flag names and values

                  • @@ -954,21 +954,21 @@
                    -property plugin_hooks
                    +property plugin_hooks

                    Returns: (dict) dictionary of registered hooks and their handlers

                    -property plugins
                    +property plugins

                    Returns: (list) list of enabled and disabled registered plugins

                    -register_message_receiver(client)
                    +register_message_receiver(client)

                    Registers a client for receiving plugin messages. The client needs to be a callable accepting two input arguments, plugin (the sending plugin’s identifier) and data (the message itself), and one optional keyword argument, permissions (an optional list of permissions to test against).

                    @@ -976,10 +976,10 @@
                    -reload_plugins(startup=False, initialize_implementations=True, force_reload=None)
                    +reload_plugins(startup=False, initialize_implementations=True, force_reload=None)

                    Reloads plugins, detecting newly added ones in the process.

                    -
                    Parameters
                    +
                    Parameters:
                    • startup (boolean) – whether this is called during startup of the platform

                    • initialize_implementations (boolean) – whether plugin implementations should be initialized

                    • @@ -991,11 +991,11 @@
                      -send_plugin_message(plugin, data, permissions=None)
                      +send_plugin_message(plugin, data, permissions=None)

                      Sends data in the name of plugin to all currently registered message receivers by invoking them with the three arguments.

                      -
                      Parameters
                      +
                      Parameters:
                      • plugin (str) – The sending plugin’s identifier.

                      • data (object) – The message.

                      • @@ -1007,7 +1007,7 @@
                        -unregister_message_receiver(client)
                        +unregister_message_receiver(client)

                        Unregisters a client for receiving plugin messages.

                        @@ -1015,14 +1015,14 @@
                        -class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)
                        +class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)

                        The PluginInfo class wraps all available information about a registered plugin.

                        This includes its meta data (like name, description, version, etc) as well as the actual plugin extensions like implementations, hooks and helpers.

                        It works on Python module objects and extracts the relevant data from those via accessing the control properties.

                        -
                        Parameters
                        +
                        Parameters:
                        • key (str) – Identifier of the plugin

                        • location (str) – Installation folder of the plugin

                        • @@ -1038,14 +1038,14 @@
                        -property author
                        +property author

                        Author of the plugin. Will be taken from the author attribute of the plugin module as defined in attr_author if available, otherwise from the author supplied during construction. May be None.

                        -
                        Returns
                        +
                        Returns:

                        Author of the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1053,30 +1053,30 @@
                        -blacklisted
                        +blacklisted

                        Whether the plugin is blacklisted.

                        -bundled
                        +bundled

                        Whether this plugin is bundled with OctoPrint.

                        -property check
                        +property check

                        Method for pre-load check of plugin. Will be taken from the check attribute of the plugin module as defined in attr_check if available, otherwise a lambda always returning True is returned.

                        -
                        Returns
                        +
                        Returns:

                        Check method for the plugin module which should return True if the plugin can be loaded, False

                        otherwise.

                        -
                        Return type
                        +
                        Return type:

                        callable

                        @@ -1084,15 +1084,15 @@
                        -property description
                        +property description

                        Description of the plugin. Will be taken from the description attribute of the plugin module as defined in attr_description if available, otherwise from the description supplied during construction. May be None.

                        -
                        Returns
                        +
                        Returns:

                        Description of the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1100,14 +1100,14 @@
                        -property disable
                        +property disable

                        Method for disabling the plugin module. Will be taken from the disable attribute of the plugin module as defined in attr_disable if available, otherwise a no-operation lambda will be returned.

                        -
                        Returns
                        +
                        Returns:

                        Disable method for the plugin module.

                        -
                        Return type
                        +
                        Return type:

                        callable

                        @@ -1115,15 +1115,15 @@
                        -property disabling_discouraged
                        +property disabling_discouraged

                        Reason why disabling of this plugin is discouraged. Only evaluated for bundled plugins! Will be taken from the disabling_discouraged attribute of the plugin module as defined in attr_disabling_discouraged if available. False if unset or plugin not bundled.

                        -
                        Returns
                        +
                        Returns:

                        Reason why disabling this plugin is discouraged (only for bundled plugins)

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1131,14 +1131,14 @@
                        -property enable
                        +property enable

                        Method for enabling the plugin module. Will be taken from the enable attribute of the plugin module as defined in attr_enable if available, otherwise a no-operation lambda will be returned.

                        -
                        Returns
                        +
                        Returns:

                        Enable method for the plugin module.

                        -
                        Return type
                        +
                        Return type:

                        callable

                        @@ -1146,33 +1146,33 @@
                        -enabled
                        +enabled

                        Whether the plugin is enabled.

                        -flags
                        +flags

                        Additional flags assigned to the plugin through config.

                        -forced_disabled
                        +forced_disabled

                        Whether the plugin has been force disabled by the system, e.g. due to safe mode blacklisting.

                        -get_hook(hook)
                        +get_hook(hook)
                        -
                        Parameters
                        +
                        Parameters:

                        hook (str) – Hook to return.

                        -
                        Returns
                        +
                        Returns:

                        Handler for the requested hook or None if no handler is registered.

                        -
                        Return type
                        +
                        Return type:

                        callable or None

                        @@ -1180,15 +1180,15 @@
                        -get_implementation(*types)
                        +get_implementation(*types)
                        -
                        Parameters
                        +
                        Parameters:

                        types (list) – List of Plugin sub classes the implementation needs to implement.

                        -
                        Returns
                        +
                        Returns:

                        The plugin’s implementation if it matches all of the requested types, None otherwise.

                        -
                        Return type
                        +
                        Return type:

                        object

                        @@ -1196,14 +1196,14 @@
                        -property helpers
                        +property helpers

                        Helpers provided by the plugin. Will be taken from the helpers attribute of the plugin module as defined in attr_helpers if available, otherwise an empty list is returned.

                        -
                        Returns
                        +
                        Returns:

                        Helpers provided by the plugin.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -1211,13 +1211,13 @@
                        -property hidden
                        +property hidden

                        Hidden flag.

                        -
                        Returns
                        +
                        Returns:

                        Whether the plugin should be flagged as hidden or not

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -1225,14 +1225,14 @@
                        -property hooks
                        +property hooks

                        Hooks provided by the plugin. Will be taken from the hooks attribute of the plugin module as defined in attr_hooks if available, otherwise an empty dictionary is returned.

                        -
                        Returns
                        +
                        Returns:

                        Hooks provided by the plugin.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -1240,14 +1240,14 @@
                        -property implementation
                        +property implementation

                        Implementation provided by the plugin. Will be taken from the implementation attribute of the plugin module as defined in attr_implementation if available, otherwise None is returned.

                        -
                        Returns
                        +
                        Returns:

                        Implementation provided by the plugin.

                        -
                        Return type
                        +
                        Return type:

                        object

                        @@ -1255,26 +1255,26 @@
                        -incompatible
                        +incompatible

                        Whether this plugin has been detected as incompatible.

                        -invalid_syntax
                        +invalid_syntax

                        Whether invalid syntax was encountered while trying to load this plugin.

                        -property license
                        +property license

                        License of the plugin. Will be taken from the license attribute of the plugin module as defined in attr_license if available, otherwise from the license supplied during construction. May be None.

                        -
                        Returns
                        +
                        Returns:

                        License of the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1282,14 +1282,14 @@
                        -property load
                        +property load

                        Method for loading the plugin module. Will be taken from the load attribute of the plugin module as defined in attr_load if available, otherwise a no-operation lambda will be returned.

                        -
                        Returns
                        +
                        Returns:

                        Load method for the plugin module.

                        -
                        Return type
                        +
                        Return type:

                        callable

                        @@ -1297,13 +1297,13 @@
                        -loaded
                        +loaded

                        Whether this plugin has been loaded.

                        -long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))
                        +long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))

                        Long string representation of the plugin’s information. Will return a string of the format <enabled><str(self)><bundled><location>.

                        enabled, bundled and location will only be displayed if the corresponding flags are set to True. The will be filled from enabled_str, bundled_str and location_str as follows:

                        @@ -1320,7 +1320,7 @@
                        -
                        Parameters
                        +
                        Parameters:
                        • show_enabled (boolean) – whether to show the enabled part

                        • enabled_strs (tuple) – the 2-tuple containing the two possible strings to use for displaying the enabled state

                        • @@ -1330,10 +1330,10 @@
                        • location_str (str) – the format string to use for displaying the plugin’s installation location

                        -
                        Returns
                        +
                        Returns:

                        The long string representation of the plugin as described above

                        -
                        Return type
                        +
                        Return type:

                        str

                        @@ -1341,26 +1341,26 @@
                        -property looks_like_plugin
                        +property looks_like_plugin

                        Returns whether the plugin actually looks like a plugin (has control properties) or not.

                        -managable
                        +managable

                        Whether this plugin can be managed by OctoPrint.

                        -property name
                        +property name

                        Human readable name of the plugin. Will be taken from name attribute of the plugin module if available, otherwise from the name supplied during construction with a fallback to key.

                        -
                        Returns
                        +
                        Returns:

                        Name of the plugin, fallback is the plugin’s identifier.

                        -
                        Return type
                        +
                        Return type:

                        str

                        @@ -1368,33 +1368,33 @@
                        -needs_restart
                        +needs_restart

                        Whether this plugin needs a restart of OctoPrint after enabling/disabling.

                        -origin
                        +origin

                        The origin from which this plugin was loaded, either a EntryPointOrigin, FolderOrigin or ModuleOrigin instance. Set during loading, initially None.

                        -property parsed_metadata
                        +property parsed_metadata

                        The plugin metadata parsed from the plugin’s AST.

                        -property privacypolicy
                        +property privacypolicy

                        Privacy Policy URL of the plugin. Will be taken from the privacy policy attribute of the plugin module as defined in attr_privacypolicy if available. May be None.

                        -
                        Returns
                        +
                        Returns:

                        Privacy Policy URL of the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1402,14 +1402,14 @@
                        -property pythoncompat
                        +property pythoncompat

                        Python compatibility string of the plugin module as defined in attr_pythoncompat if available, otherwise defaults to >=2.7,<3.

                        -
                        Returns
                        +
                        Returns:

                        Python compatibility string of the plugin

                        -
                        Return type
                        +
                        Return type:

                        str

                        @@ -1417,14 +1417,14 @@
                        -property unload
                        +property unload

                        Method for unloading the plugin module. Will be taken from the unload attribute of the plugin module as defined in attr_unload if available, otherwise a no-operation lambda will be returned.

                        -
                        Returns
                        +
                        Returns:

                        Unload method for the plugin module.

                        -
                        Return type
                        +
                        Return type:

                        callable

                        @@ -1432,14 +1432,14 @@
                        -property url
                        +property url

                        Website URL for the plugin. Will be taken from the url attribute of the plugin module as defined in attr_url if available, otherwise from the url supplied during construction. May be None.

                        -
                        Returns
                        +
                        Returns:

                        Website URL for the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1447,7 +1447,7 @@
                        -validate(phase, additional_validators=None)
                        +validate(phase, additional_validators=None)

                        Validates the plugin for various validation phases.

                        phase can be one of before_import, before_load, after_load.

                        Used by PluginManager, should not be used elsewhere.

                        @@ -1455,14 +1455,14 @@
                        -property version
                        +property version

                        Version of the plugin. Will be taken from the version attribute of the plugin module as defined in attr_version if available, otherwise from the version supplied during construction. May be None.

                        -
                        Returns
                        +
                        Returns:

                        Version of the plugin.

                        -
                        Return type
                        +
                        Return type:

                        str or None

                        @@ -1472,35 +1472,35 @@
                        -class octoprint.plugin.core.Plugin
                        +class octoprint.plugin.core.Plugin

                        The parent class of all plugin implementations.

                        -_identifier
                        +_identifier

                        The identifier of the plugin. Injected by the plugin core system upon initialization of the implementation.

                        -_plugin_name
                        +_plugin_name

                        The name of the plugin. Injected by the plugin core system upon initialization of the implementation.

                        -_plugin_version
                        +_plugin_version

                        The version of the plugin. Injected by the plugin core system upon initialization of the implementation.

                        -_basefolder
                        +_basefolder

                        The base folder of the plugin. Injected by the plugin core system upon initialization of the implementation.

                        -_logger
                        +_logger

                        The logger instance to use, with the logging name set to the PluginManager.logging_prefix of the PluginManager concatenated with _identifier. Injected by the plugin core system upon initialization of the implementation.

                        @@ -1508,19 +1508,19 @@
                        -initialize()
                        +initialize()

                        Called by the plugin core after performing all injections. Override this to initialize your implementation.

                        -on_plugin_disabled()
                        +on_plugin_disabled()

                        Called by the plugin core when the plugin was disabled. Override this to react to the event.

                        -on_plugin_enabled()
                        +on_plugin_enabled()

                        Called by the plugin core when the plugin was enabled. Override this to react to the event.

                        @@ -1528,28 +1528,28 @@
                        -class octoprint.plugin.core.RestartNeedingPlugin
                        +class octoprint.plugin.core.RestartNeedingPlugin

                        Mixin for plugin types that need a restart after enabling/disabling them.

                        -class octoprint.plugin.core.SortablePlugin
                        +class octoprint.plugin.core.SortablePlugin

                        Mixin for plugin types that are sortable.

                        -get_sorting_key(context=None)
                        +get_sorting_key(context=None)

                        Returns the sorting key to use for the implementation in the specified context.

                        May return None if order is irrelevant.

                        Implementations returning None will be ordered by plugin identifier after all implementations which did return a sorting key value that was not None sorted by that.

                        -
                        Parameters
                        +
                        Parameters:

                        context (str) – The sorting context for which to provide the sorting key value.

                        -
                        Returns
                        +
                        Returns:

                        An integer signifying the sorting key value of the plugin

                        (sorting will be done ascending), or None if the implementation doesn’t care about calling order.

                        @@ -1557,7 +1557,7 @@

                        -
                        Return type
                        +
                        Return type:

                        int or None

                        @@ -1567,96 +1567,96 @@
                  -

                  octoprint.plugin.types

                  +

                  octoprint.plugin.types

                  This module bundles all of OctoPrint’s supported plugin implementation types as well as their common parent class, OctoPrintPlugin.

                  Please note that the plugin implementation types are documented in the section Available plugin mixins.

                  -class octoprint.plugin.types.OctoPrintPlugin
                  +class octoprint.plugin.types.OctoPrintPlugin

                  Bases: Plugin

                  The parent class of all OctoPrint plugin mixins.

                  -_plugin_manager
                  +_plugin_manager

                  The PluginManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_printer_profile_manager
                  +_printer_profile_manager

                  The PrinterProfileManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_event_bus
                  +_event_bus

                  The EventManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_analysis_queue
                  +_analysis_queue

                  The AnalysisQueue instance. Injected by the plugin core system upon initialization of the implementation.

                  -_slicing_manager
                  +_slicing_manager

                  The SlicingManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_file_manager
                  +_file_manager

                  The FileManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_printer
                  +_printer

                  The PrinterInterface instance. Injected by the plugin core system upon initialization of the implementation.

                  -_app_session_manager
                  +_app_session_manager

                  The SessionManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_plugin_lifecycle_manager
                  +_plugin_lifecycle_manager

                  The LifecycleManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_user_manager
                  +_user_manager

                  The UserManager instance. Injected by the plugin core system upon initialization of the implementation.

                  -_connectivity_checker
                  +_connectivity_checker

                  The ConnectivityChecker instance. Injected by the plugin core system upon initialization of the implementation.

                  -_data_folder
                  +_data_folder

                  Path to the data folder for the plugin to use for any data it might have to persist. Should always be accessed through get_plugin_data_folder() since that function will also ensure that the data folder actually exists and if not creating it before returning it. Injected by the plugin core system upon initialization of the @@ -1665,7 +1665,7 @@

                  -get_plugin_data_folder()
                  +get_plugin_data_folder()

                  Retrieves the path to a data folder specifically for the plugin, ensuring it exists and if not creating it before returning it.

                  Plugins may use this folder for storing additional data they need for their operation.

                  @@ -1673,7 +1673,7 @@
                  -on_plugin_pending_uninstall()
                  +on_plugin_pending_uninstall()

                  Called by the plugin manager when the plugin is pending uninstall. Override this to react to the event.

                  NOT called during plugin uninstalls triggered outside of OctoPrint!

                  @@ -1682,7 +1682,7 @@
                  -class octoprint.plugin.types.ReloadNeedingPlugin
                  +class octoprint.plugin.types.ReloadNeedingPlugin

                  Bases: Plugin

                  Mixin for plugin types that need a reload of the UI after enabling/disabling them.

                  diff --git a/devel/modules/printer.html b/devel/modules/printer.html index e57533051..54ab8bfaa 100644 --- a/devel/modules/printer.html +++ b/devel/modules/printer.html @@ -1,26 +1,26 @@ - + - + octoprint.printer — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -236,14 +236,14 @@
                  -

                  octoprint.printer

                  +

                  octoprint.printer

                  This module defines the interface for communicating with a connected printer.

                  The communication is in fact divided in two components, the PrinterInterface and a deeper lying communication layer. However, plugins should only ever need to use the PrinterInterface as the abstracted version of the actual printer communication.

                  -octoprint.printer.get_connection_options()
                  +octoprint.printer.get_connection_options()

                  Deprecated since version 1.3.0: Replaced by PrinterInterface.get_connection_options()

                  @@ -251,18 +251,18 @@
                  -class octoprint.printer.PrinterInterface
                  +class octoprint.printer.PrinterInterface

                  The PrinterInterface represents the developer interface to the Printer instance.

                  -can_modify_file(path, sd, *args, **kwargs)
                  +can_modify_file(path, sd, *args, **kwargs)

                  Determines whether the path (on the printer’s SD if sd is True) may be modified (updated or deleted) or not.

                  A file that is currently being printed is not allowed to be modified. Any other file or the current file when it is not being printed is fine though.

                  -
                  Since
                  +
                  Since:

                  1.3.2

                  @@ -274,13 +274,13 @@ versions!

                  -
                  Parameters
                  +
                  Parameters:
                  • path (str) – path in storage of the file to check

                  • sd (bool) – True if to check against SD storage, False otherwise

                  -
                  Returns
                  +
                  Returns:

                  (bool) True if the file may be modified, False otherwise

                  @@ -288,10 +288,10 @@
                  -cancel_print(tags=None, *args, **kwargs)
                  +cancel_print(tags=None, *args, **kwargs)

                  Cancels the current print job.

                  -
                  Parameters
                  +
                  Parameters:

                  tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                  @@ -299,10 +299,10 @@
                  -change_tool(tool, tags=None, *args, **kwargs)
                  +change_tool(tool, tags=None, *args, **kwargs)

                  Switch the currently active tool (for which extrude commands will apply).

                  -
                  Parameters
                  +
                  Parameters:
                  • tool (str) – The tool to switch to, matching the regex “tool[0-9]+” (e.g. “tool0”, “tool1”, …)

                  • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                  • @@ -313,10 +313,10 @@
                    -commands(commands, tags=None, force=False, *args, **kwargs)
                    +commands(commands, tags=None, force=False, *args, **kwargs)

                    Sends the provided commands to the printer.

                    -
                    Parameters
                    +
                    Parameters:
                    • commands (str, list) – The commands to send. Might be a single command provided just as a string or a list of multiple commands to send in order.

                    • @@ -329,12 +329,12 @@
                      -connect(port=None, baudrate=None, profile=None, *args, **kwargs)
                      +connect(port=None, baudrate=None, profile=None, *args, **kwargs)

                      Connects to the printer, using the specified serial port, baudrate and printer profile. If a connection is already established, that connection will be closed prior to connecting anew with the provided parameters.

                      -
                      Parameters
                      +
                      Parameters:
                      • port (str) – Name of the serial port to connect to. If not provided, an auto detection will be attempted.

                      • baudrate (int) – Baudrate to connect with. If not provided, an auto detection will be attempted.

                      • @@ -347,20 +347,20 @@
                        -disconnect(*args, **kwargs)
                        +disconnect(*args, **kwargs)

                        Disconnects from the printer. Does nothing if no connection is currently established.

                        -extrude(amount, speed=None, tags=None, *args, **kwargs)
                        +extrude(amount, speed=None, tags=None, *args, **kwargs)

                        Extrude amount millimeters of material from the tool.

                        -
                        Parameters
                        +
                        Parameters:
                        • amount (int, float) – The amount of material to extrude in mm

                        • speed (int, None) – Speed at which to extrude (F parameter). If set to None (or left out)

                        • -
                        • used. (the maximum speed of E axis from the printer profile will be) –

                        • +
                        • used. (the maximum speed of E axis from the printer profile will be)

                        • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                        @@ -369,7 +369,7 @@
                        -fake_ack(*args, **kwargs)
                        +fake_ack(*args, **kwargs)

                        Fakes an acknowledgment for the communication layer. If the communication between OctoPrint and the printer gets stuck due to lost “ok” responses from the server due to communication issues, this can be used to get things going again.

                        @@ -377,10 +377,10 @@
                        -feed_rate(factor, tags=None, *args, **kwargs)
                        +feed_rate(factor, tags=None, *args, **kwargs)

                        Sets the factor for the printer’s feed rate.

                        -
                        Parameters
                        +
                        Parameters:
                        • factor (int, float) – The factor for the feed rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                        • @@ -392,10 +392,10 @@
                          -flow_rate(factor, tags=None, *args, **kwargs)
                          +flow_rate(factor, tags=None, *args, **kwargs)

                          Sets the factor for the printer’s flow rate.

                          -
                          Parameters
                          +
                          Parameters:
                          • factor (int, float) – The factor for the flow rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                          • @@ -407,7 +407,7 @@
                            -classmethod get_connection_options(*args, **kwargs)
                            +classmethod get_connection_options(*args, **kwargs)

                            Retrieves the available ports, baudrates, preferred port and baudrate for connecting to the printer.

                            Returned dict has the following structure:

                            ports: <list of available serial ports>
                            @@ -418,10 +418,10 @@
                             
                            -
                            Returns
                            +
                            Returns:

                            A dictionary holding the connection options in the structure specified above

                            -
                            Return type
                            +
                            Return type:

                            (dict)

                            @@ -429,9 +429,9 @@
                            -get_current_connection(*args, **kwargs)
                            +get_current_connection(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (tuple) The current connection information as a 4-tuple (connection_string, port, baudrate, printer_profile).

                            If the printer is currently not connected, the tuple will be ("Closed", None, None, None).

                            @@ -443,9 +443,9 @@
                            -get_current_data(*args, **kwargs)
                            +get_current_data(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (dict) The current state data.

                            @@ -453,9 +453,9 @@
                            -get_current_job(*args, **kwargs)
                            +get_current_job(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (dict) The data of the current job.

                            @@ -463,9 +463,9 @@
                            -get_current_temperatures(*args, **kwargs)
                            +get_current_temperatures(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (dict) The current temperatures.

                            @@ -473,7 +473,7 @@
                            -get_state_id(*args, **kwargs)
                            +get_state_id(*args, **kwargs)

                            Identifier of the current communication state.

                            Possible values are:

                            @@ -495,7 +495,7 @@
                  -
                  Returns
                  +
                  Returns:

                  (str) A unique identifier corresponding to the current communication state.

                  @@ -503,9 +503,9 @@
                  -get_state_string(*args, **kwargs)
                  +get_state_string(*args, **kwargs)
                  -
                  Returns
                  +
                  Returns:

                  (str) A human readable string corresponding to the current communication state.

                  @@ -513,9 +513,9 @@
                  -get_temperature_history(*args, **kwargs)
                  +get_temperature_history(*args, **kwargs)
                  -
                  Returns
                  +
                  Returns:

                  (list) The temperature history.

                  @@ -523,15 +523,15 @@
                  -get_transport(*args, **kwargs)
                  +get_transport(*args, **kwargs)

                  Returns the communication layer’s transport object, if a connection is currently established.

                  Note that this doesn’t have to necessarily be a serial.Serial instance, it might also be something different, so take care to do instance checks before attempting to access any properties or methods.

                  -
                  Returns
                  +
                  Returns:

                  The communication layer’s transport object

                  -
                  Return type
                  +
                  Return type:

                  object

                  @@ -539,10 +539,10 @@
                  -home(axes, tags=None, *args, **kwargs)
                  +home(axes, tags=None, *args, **kwargs)

                  Homes the specified printer axes.

                  -
                  Parameters
                  +
                  Parameters:
                  • axes (str, list) – The axis or axes to home, each of which must converted to lower case must match one of “x”, “y”, “z” and “e”

                  • @@ -554,9 +554,9 @@
                    -is_cancelling(*args, **kwargs)
                    +is_cancelling(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently cancelling a print.

                    @@ -564,9 +564,9 @@
                    -is_closed_or_error(*args, **kwargs)
                    +is_closed_or_error(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently disconnected and/or in an error state.

                    @@ -574,11 +574,11 @@
                    -is_current_file(path, sd, *args, **kwargs)
                    +is_current_file(path, sd, *args, **kwargs)

                    Returns whether the provided path (on the printer’s SD if sd is True) is the currently selected file for printing.

                    -
                    Since
                    +
                    Since:

                    1.3.2

                    @@ -590,13 +590,13 @@ versions!

                    -
                    Parameters
                    +
                    Parameters:
                    • path (str) – path in storage of the file to check

                    • sd (bool) – True if to check against SD storage, False otherwise

                    -
                    Returns
                    +
                    Returns:

                    (bool) True if the file is currently selected, False otherwise

                    @@ -604,9 +604,9 @@
                    -is_error(*args, **kwargs)
                    +is_error(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently in an error state.

                    @@ -614,9 +614,9 @@
                    -is_operational(*args, **kwargs)
                    +is_operational(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently connected and available.

                    @@ -624,9 +624,9 @@
                    -is_paused(*args, **kwargs)
                    +is_paused(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently paused.

                    @@ -634,9 +634,9 @@
                    -is_pausing(*args, **kwargs)
                    +is_pausing(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently pausing a print.

                    @@ -644,9 +644,9 @@
                    -is_printing(*args, **kwargs)
                    +is_printing(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently printing.

                    @@ -654,9 +654,9 @@
                    -is_ready(*args, **kwargs)
                    +is_ready(*args, **kwargs)
                    -
                    Returns
                    +
                    Returns:

                    (boolean) Whether the printer is currently operational and ready for new print jobs (not printing).

                    @@ -664,7 +664,7 @@
                    -job_on_hold(blocking=True, *args, **kwargs)
                    +job_on_hold(blocking=True, *args, **kwargs)

                    Contextmanager that allows executing code while printing while making sure that no commands from the file being printed are continued to be sent to the printer. Note that this will only work for local files, NOT SD files.

                    @@ -681,7 +681,7 @@ don’t want to block on acquire, be sure to set blocking to False and catch the RuntimeException thrown if the lock can’t be acquired.

                    -
                    Parameters
                    +
                    Parameters:

                    blocking (bool) – Whether to block while attempting to acquire the lock (default) or not

                    @@ -689,10 +689,10 @@
                    -jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)
                    +jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)

                    Jogs the specified printer axis by the specified amount in mm.

                    -
                    Parameters
                    +
                    Parameters:
                    • axes (dict) – Axes and distances to jog, keys are axes (“x”, “y”, “z”), values are distances in mm

                    • relative (bool) – Whether to interpret the distance values as relative (true, default) or absolute (false) @@ -708,17 +708,17 @@

                      -log_lines(*lines)
                      +log_lines(*lines)

                      Logs the provided lines to the printer log and serial.log :param *lines: the lines to log

                      -pause_print(tags=None, *args, **kwargs)
                      +pause_print(tags=None, *args, **kwargs)

                      Pauses the current print job if it is currently running, does nothing otherwise.

                      -
                      Parameters
                      +
                      Parameters:

                      tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                      @@ -726,10 +726,10 @@
                      -register_callback(callback, *args, **kwargs)
                      +register_callback(callback, *args, **kwargs)

                      Registers a PrinterCallback with the instance.

                      -
                      Parameters
                      +
                      Parameters:

                      callback (PrinterCallback) – The callback object to register.

                      @@ -737,10 +737,10 @@
                      -resume_print(tags=None, *args, **kwargs)
                      +resume_print(tags=None, *args, **kwargs)

                      Resumes the current print job if it is currently paused, does nothing otherwise.

                      -
                      Parameters
                      +
                      Parameters:

                      tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                      @@ -748,20 +748,20 @@
                      -script(name, context=None, tags=None, *args, **kwargs)
                      +script(name, context=None, tags=None, *args, **kwargs)

                      Sends the GCODE script name to the printer.

                      The script will be run through the template engine, the rendering context can be extended by providing a context with additional template variables to use.

                      If the script is unknown, an UnknownScriptException will be raised.

                      -
                      Parameters
                      +
                      Parameters:
                      • name (str) – The name of the GCODE script to render.

                      • context (dict) – An optional context of additional template variables to provide to the renderer.

                      • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                      -
                      Raises
                      +
                      Raises:

                      UnknownScriptException – There is no GCODE script with name name

                      @@ -769,11 +769,11 @@
                      -select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)
                      +select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)

                      Selects the specified path for printing, specifying if the file is to be found on the sd or not. Optionally can also directly start the print after selecting the file.

                      -
                      Parameters
                      +
                      Parameters:
                      • path (str) – The path to select for printing. Either an absolute path or relative path to a local file in the uploads folder or a filename on the printer’s SD card.

                      • @@ -783,7 +783,7 @@
                      • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                      -
                      Raises
                      +
                      Raises:
                      • InvalidFileType – if the file is not a machinecode file and hence cannot be printed

                      • InvalidFileLocation – if an absolute path was provided and not contained within local storage or @@ -795,10 +795,10 @@

                        -send_initial_callback(callback)
                        +send_initial_callback(callback)

                        Sends the initial printer update to PrinterCallback.

                        -
                        Parameters
                        +
                        Parameters:

                        callback (PrinterCallback) – The callback object to send initial data to.

                        @@ -806,7 +806,7 @@
                        -set_job_on_hold(value, blocking=True, *args, **kwargs)
                        +set_job_on_hold(value, blocking=True, *args, **kwargs)

                        Setter for finer control over putting jobs on hold. Set to True to ensure that no commands from the file being printed are continued to be sent to the printer. Set to False to resume. Note that this will only work for local files, NOT SD files.

                        @@ -825,13 +825,13 @@

                        Just like job_on_hold() this should be used sparingly and only for very specific situations. If you abuse this, you WILL cause print quality issues!

                        -
                        Parameters
                        +
                        Parameters:
                        • value (bool) – The value to set

                        • blocking (bool) – Whether to block while attempting to set the value (default) or not

                        -
                        Returns
                        +
                        Returns:

                        (bool) Whether the value could be set successfully (True) or a timeout was encountered (False)

                        @@ -839,10 +839,10 @@
                        -set_temperature(heater, value, tags=None, *args, **kwargs)
                        +set_temperature(heater, value, tags=None, *args, **kwargs)

                        Sets the target temperature on the specified heater to the given value in celsius.

                        -
                        Parameters
                        +
                        Parameters:
                        • heater (str) – The heater for which to set the target temperature. Either “bed” for setting the bed temperature, “chamber” for setting the temperature of the heated enclosure or something matching the @@ -858,10 +858,10 @@

                          -set_temperature_offset(offsets=None, tags=None, *args, **kwargs)
                          +set_temperature_offset(offsets=None, tags=None, *args, **kwargs)

                          Sets the temperature offsets to apply to target temperatures read from a GCODE file while printing.

                          -
                          Parameters
                          +
                          Parameters:
                          • offsets (dict) – A dictionary specifying the offsets to apply. Keys must match the format for the heater parameter to set_temperature(), so “bed” for the offset for the bed target temperature and @@ -874,10 +874,10 @@

                            -start_print(tags=None, *args, **kwargs)
                            +start_print(tags=None, *args, **kwargs)

                            Starts printing the currently selected file. If no file is currently selected, does nothing.

                            -
                            Parameters
                            +
                            Parameters:

                            tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                            @@ -885,10 +885,10 @@
                            -toggle_pause_print(tags=None, *args, **kwargs)
                            +toggle_pause_print(tags=None, *args, **kwargs)

                            Pauses the current print job if it is currently running or resumes it if it is currently paused.

                            -
                            Parameters
                            +
                            Parameters:

                            tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                            @@ -896,10 +896,10 @@
                            -unregister_callback(callback, *args, **kwargs)
                            +unregister_callback(callback, *args, **kwargs)

                            Unregisters a PrinterCallback from the instance.

                            -
                            Parameters
                            +
                            Parameters:

                            callback (PrinterCallback) – The callback object to unregister.

                            @@ -907,31 +907,31 @@
                            -unselect_file(*args, **kwargs)
                            +unselect_file(*args, **kwargs)

                            Unselects and currently selected file.

                            -valid_axes = ('x', 'y', 'z', 'e')
                            +valid_axes = ('x', 'y', 'z', 'e')

                            Valid axes identifiers.

                            -valid_heater_regex = re.compile('^(tool\\d*|bed|chamber)$')
                            +valid_heater_regex = re.compile('^(tool\\d*|bed|chamber)$')

                            Regex for valid heater identifiers.

                            -valid_heater_regex_no_current = re.compile('^(tool\\d+|bed|chamber)$')
                            +valid_heater_regex_no_current = re.compile('^(tool\\d+|bed|chamber)$')

                            Regex for valid heater identifiers without the current heater.

                            -valid_tool_regex = re.compile('^(tool\\d+)$')
                            +valid_tool_regex = re.compile('^(tool\\d+)$')

                            Regex for valid tool identifiers.

                            @@ -939,13 +939,13 @@
                            -class octoprint.printer.PrinterCallback
                            +class octoprint.printer.PrinterCallback
                            -on_printer_add_log(data)
                            +on_printer_add_log(data)

                            Called when the PrinterInterface receives a new communication log entry from the communication layer.

                            -
                            Parameters
                            +
                            Parameters:

                            data (str) – The received log line.

                            @@ -953,10 +953,10 @@
                            -on_printer_add_message(data)
                            +on_printer_add_message(data)

                            Called when the PrinterInterface receives a new message from the communication layer.

                            -
                            Parameters
                            +
                            Parameters:

                            data (str) – The received message.

                            @@ -964,7 +964,7 @@
                            -on_printer_add_temperature(data)
                            +on_printer_add_temperature(data)

                            Called when the PrinterInterface receives a new temperature data set from the communication layer.

                            data is a dict of the following structure:

                            tool0:
                            @@ -980,7 +980,7 @@
                             
                            -
                            Parameters
                            +
                            Parameters:

                            data (dict) – A dict of all current temperatures in the format as specified above

                            @@ -988,10 +988,10 @@
                            -on_printer_received_registered_message(name, output)
                            +on_printer_received_registered_message(name, output)

                            Called when the PrinterInterface received a registered message, e.g. from a feedback command.

                            -
                            Parameters
                            +
                            Parameters:
                            • name (str) – Name of the registered message (e.g. the feedback command)

                            • output (str) – Output for the registered message

                            • @@ -1002,7 +1002,7 @@
                              -on_printer_send_current_data(data)
                              +on_printer_send_current_data(data)

                              Called when the internal state of the PrinterInterface changes, due to changes in the printer state, temperatures, log lines, job progress etc. Updates via this method are guaranteed to be throttled to a maximum of 2 calls per second.

                              @@ -1038,7 +1038,7 @@
                              -
                              Parameters
                              +
                              Parameters:

                              data (dict) – The current data in the format as specified above.

                              @@ -1046,7 +1046,7 @@
                              -on_printer_send_initial_data(data)
                              +on_printer_send_initial_data(data)

                              Called when registering as a callback with the PrinterInterface to receive the initial data (state, log and temperature history etc) from the printer.

                              data is a dict of the following structure:

                              @@ -1065,7 +1065,7 @@
                              -
                              Parameters
                              +
                              Parameters:

                              data (dict) – The initial data in the format as specified above.

                              @@ -1075,14 +1075,14 @@
              -

              octoprint.printer.profile

              +

              octoprint.printer.profile

              This module contains printer profile related code.

              A printer profile is a dict of the following structure:

              -

            Key

            +
            ---+++ @@ -1248,24 +1248,24 @@

            Name

            -class octoprint.printer.profile.PrinterProfileManager
            +class octoprint.printer.profile.PrinterProfileManager

            Manager for printer profiles. Offers methods to select the globally used printer profile and to list, add, remove, load and save printer profiles.

            -class octoprint.printer.profile.BedFormFactor
            +class octoprint.printer.profile.BedFormFactor

            Valid values for bed form factor

            -CIRCULAR = 'circular'
            +CIRCULAR = 'circular'

            Circular bed

            -RECTANGULAR = 'rectangular'
            +RECTANGULAR = 'rectangular'

            Rectangular bed

            @@ -1273,17 +1273,17 @@
            -class octoprint.printer.profile.BedOrigin
            +class octoprint.printer.profile.BedOrigin

            Valid values for bed origin

            -CENTER = 'center'
            +CENTER = 'center'

            Origin at the center of the bed when looking from top

            -LOWERLEFT = 'lowerleft'
            +LOWERLEFT = 'lowerleft'

            Origin at lower left corner of the bed when looking from the top

            @@ -1291,19 +1291,19 @@
            -class octoprint.printer.profile.SaveError
            +class octoprint.printer.profile.SaveError

            Saving a profile failed

            -class octoprint.printer.profile.CouldNotOverwriteError
            +class octoprint.printer.profile.CouldNotOverwriteError

            Overwriting of a profile not allowed

            -class octoprint.printer.profile.InvalidProfileError
            +class octoprint.printer.profile.InvalidProfileError

            Profile invalid

            diff --git a/devel/modules/schema.html b/devel/modules/schema.html index b27a802a9..35a5cfb30 100644 --- a/devel/modules/schema.html +++ b/devel/modules/schema.html @@ -1,26 +1,26 @@ - + - + octoprint.schema — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -77,8 +77,9 @@
          • octoprint.printer.profile
          • octoprint.schema @@ -95,6 +96,9 @@
          • Config.feature
          • Config.folder
          • Config.gcodeAnalysis
          • +
          • Config.model_computed_fields
          • +
          • Config.model_config
          • +
          • Config.model_fields
          • Config.plugins
          • Config.printerParameters
          • Config.printerProfiles
          • @@ -118,6 +122,9 @@
          • AccessControlConfig.groupManager
          • AccessControlConfig.groupfile
          • AccessControlConfig.localNetworks
          • +
          • AccessControlConfig.model_computed_fields
          • +
          • AccessControlConfig.model_config
          • +
          • AccessControlConfig.model_fields
          • AccessControlConfig.permissionManager
          • AccessControlConfig.remoteGroupsHeader
          • AccessControlConfig.remoteGroupsMapping
          • @@ -132,6 +139,9 @@
          • ApiConfig
          • AppearanceConfig
              @@ -142,6 +152,9 @@
            • AppearanceConfig.components
            • AppearanceConfig.defaultLanguage
            • AppearanceConfig.fuzzyTimes
            • +
            • AppearanceConfig.model_computed_fields
            • +
            • AppearanceConfig.model_config
            • +
            • AppearanceConfig.model_fields
            • AppearanceConfig.name
            • AppearanceConfig.showFahrenheitAlso
            • AppearanceConfig.showInternalFilename
            • @@ -159,12 +172,18 @@
            • ComponentConfig
            • ComponentDisabledConfig
              • ComponentDisabledConfig.about
              • ComponentDisabledConfig.generic
              • +
              • ComponentDisabledConfig.model_computed_fields
              • +
              • ComponentDisabledConfig.model_config
              • +
              • ComponentDisabledConfig.model_fields
              • ComponentDisabledConfig.navbar
              • ComponentDisabledConfig.settings
              • ComponentDisabledConfig.sidebar
              • @@ -176,6 +195,9 @@
              • ComponentOrderConfig
                • ComponentOrderConfig.about
                • ComponentOrderConfig.generic
                • +
                • ComponentOrderConfig.model_computed_fields
                • +
                • ComponentOrderConfig.model_config
                • +
                • ComponentOrderConfig.model_fields
                • ComponentOrderConfig.navbar
                • ComponentOrderConfig.settings
                • ComponentOrderConfig.sidebar
                • @@ -187,6 +209,9 @@
                • ContainerConfig
                • @@ -198,6 +223,9 @@
                • ControlConfig.enabled
                • ControlConfig.input
                • ControlConfig.javascript
                • +
                • ControlConfig.model_computed_fields
                • +
                • ControlConfig.model_config
                • +
                • ControlConfig.model_fields
                • ControlConfig.name
                • ControlConfig.regex
                • ControlConfig.script
                • @@ -206,6 +234,9 @@
                • ControlInputConfig
                • StylesheetEnum
                    @@ -252,12 +295,18 @@
                • EstimationConfig
                • PrintTimeEstimationConfig
                • EventsConfig
                • @@ -289,6 +344,9 @@
                • FeatureConfig.g90InfluencesExtruder
                • FeatureConfig.keyboardControl
                • FeatureConfig.modelSizeDetection
                • +
                • FeatureConfig.model_computed_fields
                • +
                • FeatureConfig.model_config
                • +
                • FeatureConfig.model_fields
                • FeatureConfig.pollWatched
                • FeatureConfig.printCancelConfirmation
                • FeatureConfig.printStartConfirmation
                • @@ -302,6 +360,9 @@
                • FolderConfig.data
                • FolderConfig.generated
                • FolderConfig.logs
                • +
                • FolderConfig.model_computed_fields
                • +
                • FolderConfig.model_config
                • +
                • FolderConfig.model_fields
                • FolderConfig.plugins
                • FolderConfig.printerProfiles
                • FolderConfig.scripts
                • @@ -317,6 +378,9 @@
                • GcodeAnalysisConfig
                • PrinterParametersConfig
                • PrinterProfilesConfig
                • GcodeScriptsConfig
                • ScriptsConfig
                • AlwaysDetectNeverEnum
                • SerialConfig
                • PluginBlacklistConfig
                  • PluginBlacklistConfig.enabled
                  • +
                  • PluginBlacklistConfig.model_computed_fields
                  • +
                  • PluginBlacklistConfig.model_config
                  • +
                  • PluginBlacklistConfig.model_fields
                  • PluginBlacklistConfig.timeout
                  • PluginBlacklistConfig.ttl
                  • PluginBlacklistConfig.url
                  • @@ -514,12 +623,18 @@
                  • PreemptiveCacheConfig
                  • PythonEolCheckConfig @@ -527,11 +642,17 @@
                  • PythonEolEntry
                  • ReverseProxyConfig
                  • ActionConfig
                  • SystemConfig
                  • TemperatureConfig
                    • TemperatureConfig.cutoff
                    • +
                    • TemperatureConfig.model_computed_fields
                    • +
                    • TemperatureConfig.model_config
                    • +
                    • TemperatureConfig.model_fields
                    • TemperatureConfig.profiles
                    • TemperatureConfig.sendAutomatically
                    • TemperatureConfig.sendAutomaticallyAfter
                    • @@ -608,10 +747,16 @@
                    • TemperatureProfile
                    • TerminalFilterEntry @@ -625,6 +770,9 @@
                    • TimelapseConfig
                      • TimelapseConfig.fps
                      • +
                      • TimelapseConfig.model_computed_fields
                      • +
                      • TimelapseConfig.model_config
                      • +
                      • TimelapseConfig.model_fields
                      • TimelapseConfig.options
                      • TimelapseConfig.postRoll
                      • TimelapseConfig.renderAfterPrint
                      • @@ -634,6 +782,9 @@
                      • TimelapseOptions
                      • @@ -652,6 +803,9 @@
                      • WebcamConfig.ffmpegThreads
                      • WebcamConfig.ffmpegThumbnailCommandline
                      • WebcamConfig.ffmpegVideoCodec
                      • +
                      • WebcamConfig.model_computed_fields
                      • +
                      • WebcamConfig.model_config
                      • +
                      • WebcamConfig.model_fields
                      • WebcamConfig.snapshotWebcam
                      • WebcamConfig.timelapse
                      • WebcamConfig.timelapseEnabled
                      • @@ -674,6 +828,9 @@
                      • Webcam.extras
                      • Webcam.flipH
                      • Webcam.flipV
                      • +
                      • Webcam.model_computed_fields
                      • +
                      • Webcam.model_config
                      • +
                      • Webcam.model_fields
                      • Webcam.name
                      • Webcam.rotate90
                      • Webcam.snapshotDisplay
                      • @@ -681,6 +838,9 @@
                      • WebcamCompatibility
                        • WebcamCompatibility.cacheBuster
                        • +
                        • WebcamCompatibility.model_computed_fields
                        • +
                        • WebcamCompatibility.model_config
                        • +
                        • WebcamCompatibility.model_fields
                        • WebcamCompatibility.snapshot
                        • WebcamCompatibility.snapshotSslValidation
                        • WebcamCompatibility.snapshotTimeout
                        • @@ -770,185 +930,210 @@
                          -

                          octoprint.schema

                          +

                          octoprint.schema

                          -class octoprint.schema.BaseModel
                          -
                          -
                          -class Config
                          +class octoprint.schema.BaseModel
                          -
                          -use_enum_values = True
                          -
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          -
                          -
                          -model_dump(*args, **kwargs)
                          -
                          +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          -

                          octoprint.schema.config

                          +

                          octoprint.schema.config

                          -class octoprint.schema.config.Config(*, accessControl: ~octoprint.schema.config.access_control.AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', trustRemoteGroups=False, remoteGroupsHeader='REMOTE_GROUPS', remoteGroupsMapping={}, addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ~octoprint.schema.config.api.ApiConfig = ApiConfig(allowCrossOrigin=False), appearance: ~octoprint.schema.config.appearance.AppearanceConfig = AppearanceConfig(name='', color=<ColorEnum.default: 'default'>, colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: ~typing.List[~typing.Union[~octoprint.schema.config.controls.ControlConfig, ~octoprint.schema.config.controls.ContainerConfig]] = [], devel: ~octoprint.schema.config.devel.DevelConfig = DevelConfig(stylesheet=<StylesheetEnum.css: 'css'>, cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: ~octoprint.schema.config.estimation.EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: ~octoprint.schema.config.events.EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: ~octoprint.schema.config.feature.FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: ~octoprint.schema.config.folder.FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: ~octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt=<RunAtEnum.idle: 'idle'>, bedZ=0.0), plugins: ~octoprint.schema.config.plugins.PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}, flags={}), printerParameters: ~octoprint.schema.config.printer_parameters.PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: ~octoprint.schema.config.printer_profiles.PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ~octoprint.schema.config.scripts.ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: ~octoprint.schema.config.serial.SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', suppressSecondHello=False, disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ~octoprint.schema.config.server.ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}}), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths=[]), slicing: ~octoprint.schema.config.slicing.SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: ~octoprint.schema.config.system.SystemConfig = SystemConfig(actions=[]), temperature: ~octoprint.schema.config.temperature.TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: ~typing.List[~octoprint.schema.config.terminalfilters.TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: ~octoprint.schema.config.webcam.WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, renderAfterPrint=<RenderAfterPrintEnum.always: 'always'>, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
                          +class octoprint.schema.config.Config(*, accessControl: AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', trustRemoteGroups=False, remoteGroupsHeader='REMOTE_GROUPS', remoteGroupsMapping={}, addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ApiConfig = ApiConfig(allowCrossOrigin=False), appearance: AppearanceConfig = AppearanceConfig(name='', color='default', colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: List[ControlConfig | ContainerConfig] = [], devel: DevelConfig = DevelConfig(stylesheet='css', cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30.0, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt='idle', bedZ=0.0), plugins: PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}, flags={}), printerParameters: PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', suppressSecondHello=False, disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite='Lax'), allowedLoginRedirectPaths=[]), slicing: SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: SystemConfig = SystemConfig(actions=[]), temperature: TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: List[TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
                          -accessControl: AccessControlConfig
                          +accessControl: AccessControlConfig
                          -api: ApiConfig
                          +api: ApiConfig
                          -appearance: AppearanceConfig
                          +appearance: AppearanceConfig
                          -controls: List[Union[ControlConfig, ContainerConfig]]
                          +controls: List[ControlConfig | ContainerConfig]
                          -devel: DevelConfig
                          +devel: DevelConfig
                          -estimation: EstimationConfig
                          +estimation: EstimationConfig
                          -events: EventsConfig
                          +events: EventsConfig
                          -feature: FeatureConfig
                          +feature: FeatureConfig
                          -folder: FolderConfig
                          +folder: FolderConfig
                          -gcodeAnalysis: GcodeAnalysisConfig
                          +gcodeAnalysis: GcodeAnalysisConfig
                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'accessControl': FieldInfo(annotation=AccessControlConfig, required=False, default=AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', trustRemoteGroups=False, remoteGroupsHeader='REMOTE_GROUPS', remoteGroupsMapping={}, addRemoteUsers=False, defaultReauthenticationTimeout=5)), 'api': FieldInfo(annotation=ApiConfig, required=False, default=ApiConfig(allowCrossOrigin=False)), 'appearance': FieldInfo(annotation=AppearanceConfig, required=False, default=AppearanceConfig(name='', color='default', colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))), 'controls': FieldInfo(annotation=List[Union[ControlConfig, ContainerConfig]], required=False, default=[]), 'devel': FieldInfo(annotation=DevelConfig, required=False, default=DevelConfig(stylesheet='css', cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30.0, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True)), 'estimation': FieldInfo(annotation=EstimationConfig, required=False, default=EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))), 'events': FieldInfo(annotation=EventsConfig, required=False, default=EventsConfig(enabled=True, subscriptions=[])), 'feature': FieldInfo(annotation=FeatureConfig, required=False, default=FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True)), 'folder': FieldInfo(annotation=FolderConfig, required=False, default=FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None)), 'gcodeAnalysis': FieldInfo(annotation=GcodeAnalysisConfig, required=False, default=GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt='idle', bedZ=0.0)), 'plugins': FieldInfo(annotation=PluginsConfig, required=False, default=PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}, flags={})), 'printerParameters': FieldInfo(annotation=PrinterParametersConfig, required=False, default=PrinterParametersConfig(pauseTriggers=[])), 'printerProfiles': FieldInfo(annotation=PrinterProfilesConfig, required=False, default=PrinterProfilesConfig(default=None)), 'scripts': FieldInfo(annotation=ScriptsConfig, required=False, default=ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))), 'serial': FieldInfo(annotation=SerialConfig, required=False, default=SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', suppressSecondHello=False, disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True)), 'server': FieldInfo(annotation=ServerConfig, required=False, default=ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite='Lax'), allowedLoginRedirectPaths=[])), 'slicing': FieldInfo(annotation=SlicingConfig, required=False, default=SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={})), 'system': FieldInfo(annotation=SystemConfig, required=False, default=SystemConfig(actions=[])), 'temperature': FieldInfo(annotation=TemperatureConfig, required=False, default=TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1)), 'terminalFilters': FieldInfo(annotation=List[TerminalFilterEntry], required=False, default=[TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')]), 'webcam': FieldInfo(annotation=WebcamConfig, required=False, default=WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -plugins: PluginsConfig
                          +plugins: PluginsConfig
                          -printerParameters: PrinterParametersConfig
                          +printerParameters: PrinterParametersConfig
                          -printerProfiles: PrinterProfilesConfig
                          +printerProfiles: PrinterProfilesConfig
                          -scripts: ScriptsConfig
                          +scripts: ScriptsConfig
                          -serial: SerialConfig
                          +serial: SerialConfig
                          -server: ServerConfig
                          +server: ServerConfig
                          -slicing: SlicingConfig
                          +slicing: SlicingConfig
                          -system: SystemConfig
                          +system: SystemConfig
                          -temperature: TemperatureConfig
                          +temperature: TemperatureConfig
                          -terminalFilters: List[TerminalFilterEntry]
                          +terminalFilters: List[TerminalFilterEntry]
                          -webcam: WebcamConfig
                          +webcam: WebcamConfig
                          -
                          +
                          -class octoprint.schema.config.access_control.AccessControlConfig(*, salt: Optional[str] = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: Optional[str] = None, groupfile: Optional[str] = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: Optional[str] = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', trustRemoteGroups: bool = False, remoteGroupsHeader: str = 'REMOTE_GROUPS', remoteGroupsMapping: Dict[str, str] = {}, addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
                          +class octoprint.schema.config.access_control.AccessControlConfig(*, salt: str | None = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: str | None = None, groupfile: str | None = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: str | None = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', trustRemoteGroups: bool = False, remoteGroupsHeader: str = 'REMOTE_GROUPS', remoteGroupsMapping: Dict[str, str] = {}, addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
                          -addRemoteUsers: bool
                          +addRemoteUsers: bool

                          If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.

                          -autologinAs: Optional[str]
                          +autologinAs: str | None

                          The name of the user to automatically log on clients originating from localNetworks as. Must be the name of one of your configured users.

                          -autologinHeadsupAcknowledged: bool
                          +autologinHeadsupAcknowledged: bool

                          Whether the user has acknowledged the heads-up about the importance of a correct reverse proxy configuration in the presence of autologin.

                          -autologinLocal: bool
                          +autologinLocal: bool

                          If set to true, will automatically log on clients originating from any of the networks defined in localNetworks as the user defined in autologinAs.

                          -checkBasicAuthenticationPassword: bool
                          +checkBasicAuthenticationPassword: bool

                          Whether to also check the password provided through Basic Authentication, if the Basic Authentication header is to be trusted. Disabling this will only match the user name in the Basic Authentication header and login the user without further checks, thus disable with caution.

                          -defaultReauthenticationTimeout: int
                          +defaultReauthenticationTimeout: int

                          Default timeout after which to require reauthentication by a user for dangerous changes, in minutes. Defaults to 5 minutes. Set to 0 to disable reauthentication requirements (SECURITY IMPACT!).

                          -groupManager: str
                          +groupManager: str

                          groups.yaml in the default configuration folder).

                          -
                          Type
                          +
                          Type:

                          The group manager implementation to use for accessing group information. Currently only a filebased user manager is implemented which stores configured groups in a YAML file (Default

                          @@ -956,70 +1141,90 @@
                          -groupfile: Optional[str]
                          +groupfile: str | None

                          The YAML group file to use. If left out defaults to groups.yaml in the default configuration folder.

                          -localNetworks: List[str]
                          +localNetworks: List[str]

                          A list of networks or IPs for which an automatic logon as the user defined in autologinAs will take place. If available OctoPrint will evaluate the X-Forwarded-For HTTP header for determining the client’s IP address. Defaults to anything originating from localhost.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'addRemoteUsers': FieldInfo(annotation=bool, required=False, default=False, description='If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.'), 'autologinAs': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The name of the user to automatically log on clients originating from `localNetworks` as. Must be the name of one of your configured users.'), 'autologinHeadsupAcknowledged': FieldInfo(annotation=bool, required=False, default=False, description='Whether the user has acknowledged the heads-up about the importance of a correct reverse proxy configuration in the presence of autologin.'), 'autologinLocal': FieldInfo(annotation=bool, required=False, default=False, description='If set to true, will automatically log on clients originating from any of the networks defined in `localNetworks` as the user defined in `autologinAs`.'), 'checkBasicAuthenticationPassword': FieldInfo(annotation=bool, required=False, default=True, description='Whether to also check the password provided through Basic Authentication, if the Basic Authentication header is to be trusted. Disabling this will only match the user name in the Basic Authentication header and login the user without further checks, thus disable with caution.'), 'defaultReauthenticationTimeout': FieldInfo(annotation=int, required=False, default=5, description='Default timeout after which to require reauthentication by a user for dangerous changes, in minutes. Defaults to 5 minutes. Set to 0 to disable reauthentication requirements (SECURITY IMPACT!).'), 'groupManager': FieldInfo(annotation=str, required=False, default='octoprint.access.groups.FilebasedGroupManager', description='The group manager implementation to use for accessing group information. Currently only a filebased user manager is implemented which stores configured groups in a YAML file (Default: `groups.yaml` in the default configuration folder).'), 'groupfile': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The YAML group file to use. If left out defaults to `groups.yaml` in the default configuration folder.'), 'localNetworks': FieldInfo(annotation=List[str], required=False, default=['127.0.0.0/8', '::1/128'], description="A list of networks or IPs for which an automatic logon as the user defined in `autologinAs` will take place. If available OctoPrint will evaluate the `X-Forwarded-For` HTTP header for determining the client's IP address. Defaults to anything originating from localhost."), 'permissionManager': FieldInfo(annotation=str, required=False, default='octoprint.access.permissions.PermissionManager', description='The permission manager implementation to use.'), 'remoteGroupsHeader': FieldInfo(annotation=str, required=False, default='REMOTE_GROUPS', description="Header used by the reverse proxy to convey the authenticated user's groups."), 'remoteGroupsMapping': FieldInfo(annotation=Dict[str, str], required=False, default={}, description='Mapping from groups in the header to groups in OctoPrint.'), 'remoteUserHeader': FieldInfo(annotation=str, required=False, default='REMOTE_USER', description='Header used by the reverse proxy to convey the authenticated user.'), 'salt': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Secret salt used for password hashing. **DO NOT TOUCH!** If changed you will no longer be able to log in with your existing accounts. Default unset, generated on first run.'), 'trustBasicAuthentication': FieldInfo(annotation=bool, required=False, default=False, description='Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user during Basic Authentication. **ONLY ENABLE THIS** if your OctoPrint instance is only accessible through a connection locked down through Basic Authentication!'), 'trustRemoteGroups': FieldInfo(annotation=bool, required=False, default=False, description="Whether to trust remote groups headers. If you have setup authentication in front of OctoPrint and the groups names you use there match OctoPrint accounts, by setting this to true the user's groups will be set to the groups provided in the header. **ONLY ENABLE THIS** if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!"), 'trustRemoteUser': FieldInfo(annotation=bool, required=False, default=False, description='Whether to trust remote user headers. If you have setup authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user provided in the header. **ONLY ENABLE THIS** if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!'), 'userManager': FieldInfo(annotation=str, required=False, default='octoprint.access.users.FilebasedUserManager', description='The user manager implementation to use for accessing user information. Currently only a filebased user manager is implemented which stores configured accounts in a YAML file (Default: `users.yaml` in the default configuration folder).'), 'userfile': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The YAML user file to use. If left out defaults to `users.yaml` in the default configuration folder.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -permissionManager: str
                          +permissionManager: str

                          The permission manager implementation to use.

                          -remoteGroupsHeader: str
                          +remoteGroupsHeader: str

                          Header used by the reverse proxy to convey the authenticated user’s groups.

                          -remoteGroupsMapping: Dict[str, str]
                          +remoteGroupsMapping: Dict[str, str]

                          Mapping from groups in the header to groups in OctoPrint.

                          -remoteUserHeader: str
                          +remoteUserHeader: str

                          Header used by the reverse proxy to convey the authenticated user.

                          -salt: Optional[str]
                          +salt: str | None

                          Secret salt used for password hashing. DO NOT TOUCH! If changed you will no longer be able to log in with your existing accounts. Default unset, generated on first run.

                          -trustBasicAuthentication: bool
                          +trustBasicAuthentication: bool

                          Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user during Basic Authentication. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through Basic Authentication!

                          -trustRemoteGroups: bool
                          +trustRemoteGroups: bool

                          Whether to trust remote groups headers. If you have setup authentication in front of OctoPrint and the groups names you use there match OctoPrint accounts, by setting this to true the user’s groups will be set to the groups provided in the header. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!

                          -trustRemoteUser: bool
                          +trustRemoteUser: bool

                          Whether to trust remote user headers. If you have setup authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user provided in the header. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!

                          -userManager: str
                          +userManager: str

                          users.yaml in the default configuration folder).

                          -
                          Type
                          +
                          Type:

                          The user manager implementation to use for accessing user information. Currently only a filebased user manager is implemented which stores configured accounts in a YAML file (Default

                          @@ -1027,71 +1232,111 @@
                          -userfile: Optional[str]
                          +userfile: str | None

                          The YAML user file to use. If left out defaults to users.yaml in the default configuration folder.

                          -
                          +
                          -class octoprint.schema.config.api.ApiConfig(*, allowCrossOrigin: bool = False)
                          +class octoprint.schema.config.api.ApiConfig(*, allowCrossOrigin: bool = False)
                          -allowCrossOrigin: bool
                          +allowCrossOrigin: bool

                          Whether to allow cross origin access to the API or not.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'allowCrossOrigin': FieldInfo(annotation=bool, required=False, default=False, description='Whether to allow cross origin access to the API or not.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          -
                          +
                          + +
                          -class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
                          +class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
                          -closeModalsWithClick: bool
                          +closeModalsWithClick: bool
                          -color: ColorEnum
                          +color: ColorEnum

                          Use this to color the navigation bar.

                          -colorIcon: bool
                          +colorIcon: bool
                          -colorTransparent: bool
                          +colorTransparent: bool

                          Makes the color of the navigation bar “transparent”. In case your printer uses acrylic for its frame 😉.

                          -components: ComponentConfig
                          +components: ComponentConfig

                          Configures the order and availability of the UI components.

                          -defaultLanguage: str
                          +defaultLanguage: str

                          Default language of OctoPrint. If left unset OctoPrint will try to match up available languages with the user’s browser settings.

                          -fuzzyTimes: bool
                          +fuzzyTimes: bool
                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'closeModalsWithClick': FieldInfo(annotation=bool, required=False, default=True), 'color': FieldInfo(annotation=ColorEnum, required=False, default=<ColorEnum.default: 'default'>, description='Use this to color the navigation bar.'), 'colorIcon': FieldInfo(annotation=bool, required=False, default=True), 'colorTransparent': FieldInfo(annotation=bool, required=False, default=False, description='Makes the color of the navigation bar "transparent". In case your printer uses acrylic for its frame 😉.'), 'components': FieldInfo(annotation=ComponentConfig, required=False, default=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])), description='Configures the order and availability of the UI components.'), 'defaultLanguage': FieldInfo(annotation=str, required=False, default='_default', description="Default language of OctoPrint. If left unset OctoPrint will try to match up available languages with the user's browser settings."), 'fuzzyTimes': FieldInfo(annotation=bool, required=False, default=True), 'name': FieldInfo(annotation=str, required=False, default='', description='Use this to give your OctoPrint instance a name. It will be displayed in the title bar (as "<Name> [OctoPrint]") and in the navigation bar (as "OctoPrint: <>")'), 'showFahrenheitAlso': FieldInfo(annotation=bool, required=False, default=False), 'showInternalFilename': FieldInfo(annotation=bool, required=False, default=True, description='Show the internal filename in the files sidebar, if necessary.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: str
                          +name: str

                          <>”)

                          -
                          Type
                          +
                          Type:

                          Use this to give your OctoPrint instance a name. It will be displayed in the title bar (as “<Name> [OctoPrint]”) and in the navigation bar (as “OctoPrint

                          @@ -1099,12 +1344,12 @@
                          -showFahrenheitAlso: bool
                          +showFahrenheitAlso: bool
                          -showInternalFilename: bool
                          +showInternalFilename: bool

                          Show the internal filename in the files sidebar, if necessary.

                          @@ -1112,57 +1357,77 @@
                          -class octoprint.schema.config.appearance.ColorEnum(value)
                          +class octoprint.schema.config.appearance.ColorEnum(value)

                          An enumeration.

                          -blue = 'blue'
                          +blue = 'blue'
                          -default = 'default'
                          +default = 'default'
                          -green = 'green'
                          +green = 'green'
                          -orange = 'orange'
                          +orange = 'orange'
                          -red = 'red'
                          +red = 'red'
                          -violet = 'violet'
                          +violet = 'violet'
                          -yellow = 'yellow'
                          +yellow = 'yellow'
                          -class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
                          +class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
                          -disabled: ComponentDisabledConfig
                          +disabled: ComponentDisabledConfig

                          Disabled components per container. If a component is included here it will not be included in OctoPrint’s UI at all. Note that this might mean that critical functionality will not be available if no replacement is registered.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'disabled': FieldInfo(annotation=ComponentDisabledConfig, required=False, default=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]), description="Disabled components per container. If a component is included here it will not be included in OctoPrint's UI at all. Note that this might mean that critical functionality will not be available if no replacement is registered."), 'order': FieldInfo(annotation=ComponentOrderConfig, required=False, default=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), description='Defines the order of the components within their respective containers.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -order: ComponentOrderConfig
                          +order: ComponentOrderConfig

                          Defines the order of the components within their respective containers.

                          @@ -1170,52 +1435,72 @@
                          -class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
                          +class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
                          -about: List[str]
                          +about: List[str]

                          Disabled about dialog items.

                          -generic: List[str]
                          +generic: List[str]

                          Disabled generic items.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'about': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled about dialog items.'), 'generic': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled generic items.'), 'navbar': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled navbar items.'), 'settings': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled settings.'), 'sidebar': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled sidebar items.'), 'tab': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled tabs.'), 'usersettings': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled user settings.'), 'wizard': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled wizards.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -navbar: List[str]
                          +navbar: List[str]

                          Disabled navbar items.

                          -settings: List[str]
                          +settings: List[str]

                          Disabled settings.

                          -sidebar: List[str]
                          +sidebar: List[str]

                          Disabled sidebar items.

                          -tab: List[str]
                          +tab: List[str]

                          Disabled tabs.

                          -usersettings: List[str]
                          +usersettings: List[str]

                          Disabled user settings.

                          -wizard: List[str]
                          +wizard: List[str]

                          Disabled wizards.

                          @@ -1223,75 +1508,115 @@
                          -class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
                          +class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
                          -about: List[str]
                          +about: List[str]

                          Order of about dialog items.

                          -generic: List[str]
                          +generic: List[str]

                          Order of generic items.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'about': FieldInfo(annotation=List[str], required=False, default=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], description='Order of about dialog items.'), 'generic': FieldInfo(annotation=List[str], required=False, default=[], description='Order of generic items.'), 'navbar': FieldInfo(annotation=List[str], required=False, default=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], description='Order of navbar items.'), 'settings': FieldInfo(annotation=List[str], required=False, default=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], description='Order of settings.'), 'sidebar': FieldInfo(annotation=List[str], required=False, default=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], description='Order of sidebar items.'), 'tab': FieldInfo(annotation=List[str], required=False, default=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], description='Order of tabs.'), 'usersettings': FieldInfo(annotation=List[str], required=False, default=['access', 'interface'], description='Order of user settings.'), 'wizard': FieldInfo(annotation=List[str], required=False, default=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], description='Order of wizards.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -navbar: List[str]
                          +navbar: List[str]

                          Order of navbar items.

                          -settings: List[str]
                          +settings: List[str]

                          Order of settings.

                          -sidebar: List[str]
                          +sidebar: List[str]

                          Order of sidebar items.

                          -tab: List[str]
                          +tab: List[str]

                          Order of tabs.

                          -usersettings: List[str]
                          +usersettings: List[str]

                          Order of user settings.

                          -wizard: List[str]
                          +wizard: List[str]

                          Order of wizards.

                          -
                          +
                          -class octoprint.schema.config.controls.ContainerConfig(*, children: List[Union[ContainerConfig, ControlConfig]] = [], name: Optional[str] = None, layout: LayoutEnum = LayoutEnum.vertical)
                          +class octoprint.schema.config.controls.ContainerConfig
                          -children: List[Union[ContainerConfig, ControlConfig]]
                          +children: List[ContainerConfig | ControlConfig]

                          A list of children controls or containers contained within this container.

                          -layout: LayoutEnum
                          +layout: LayoutEnum

                          The layout to use for laying out the contained children, either from top to bottom (vertical) or from left to right (horizontal).

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'children': FieldInfo(annotation=List[Union[ControlConfig, ContainerConfig]], required=False, default=[], description='A list of children controls or containers contained within this container.'), 'layout': FieldInfo(annotation=LayoutEnum, required=False, default=<LayoutEnum.vertical: 'vertical'>, description='The layout to use for laying out the contained children, either from top to bottom (`vertical`) or from left to right (`horizontal`).'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A name to display above the container, basically a section header.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: Optional[str]
                          +name: str | None

                          A name to display above the container, basically a section header.

                          @@ -1299,61 +1624,81 @@
                          -class octoprint.schema.config.controls.ControlConfig(*, name: str, command: Optional[str] = None, commands: Optional[List[str]] = None, script: Optional[str] = None, javascript: Optional[str] = None, additionalClasses: Optional[str] = None, enabled: Optional[str] = None, input: Optional[List[ControlInputConfig]] = [], regex: Optional[str] = None, template: Optional[str] = None, confirm: Optional[str] = None)
                          +class octoprint.schema.config.controls.ControlConfig(*, name: str, command: str | None = None, commands: List[str] | None = None, script: str | None = None, javascript: str | None = None, additionalClasses: str | None = None, enabled: str | None = None, input: List[ControlInputConfig] | None = [], regex: str | None = None, template: str | None = None, confirm: str | None = None)
                          -additionalClasses: Optional[str]
                          +additionalClasses: str | None

                          Additional classes to apply to the button of a command, commands, script or javascript control, other than the default btn. Can be used to visually style the button, e.g. set to btn-danger to turn the button red.

                          -command: Optional[str]
                          +command: str | None

                          A single GCODE command to send to the printer. Will be rendered as a button which sends the command to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with commands and script. The rendered button be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

                          -commands: Optional[List[str]]
                          +commands: List[str] | None

                          A list of GCODE commands to send to the printer. Will be rendered as a button which sends the commands to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and script. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

                          -confirm: Optional[str]
                          +confirm: str | None

                          A text to display to the user to confirm his button press. Can be used with sensitive custom controls like changing EEPROM values in order to prevent accidental clicks. The text will be displayed in a confirmation dialog.

                          -enabled: Optional[str]
                          +enabled: str | None

                          A JavaScript snippet returning either true or false determining whether the control should be enabled or not. This allows to override the default logic for the enable state of the control (disabled if printer is offline). The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

                          -input: Optional[List[ControlInputConfig]]
                          +input: List[ControlInputConfig] | None

                          A list of definitions of input parameters for a command or commands, to be rendered as additional input fields. command/commands may contain placeholders to be replaced by the values obtained from the user for the defined input fields.

                          -javascript: Optional[str]
                          +javascript: str | None

                          A JavaScript snippet to be executed when the button rendered for command or commands is clicked. This allows to override the direct sending of the command or commands to the printer with more sophisticated behaviour. The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'additionalClasses': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Additional classes to apply to the button of a `command`, `commands`, `script` or `javascript` control, other than the default `btn`. Can be used to visually style the button, e.g. set to `btn-danger` to turn the button red.'), 'command': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A single GCODE command to send to the printer. Will be rendered as a button which sends the command to the printer upon click. The button text will be the value of the `name` attribute. Mutually exclusive with `commands` and `script`. The rendered button be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the `enabled` attribute are not met.'), 'commands': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=None, description='A list of GCODE commands to send to the printer. Will be rendered as a button which sends the commands to the printer upon click. The button text will be the value of the `name` attribute. Mutually exclusive with `command` and `script`. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the `enabled` attribute are not met.'), 'confirm': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A text to display to the user to confirm his button press. Can be used with sensitive custom controls like changing EEPROM values in order to prevent accidental clicks. The text will be displayed in a confirmation dialog.'), 'enabled': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="A JavaScript snippet returning either `true` or `false` determining whether the control should be enabled or not. This allows to override the default logic for the enable state of the control (disabled if printer is offline). The JavaScript snippet is `eval`'d and processed in a context where the control it is part of is provided as local variable `data` and the `ControlViewModel` is available as `self`."), 'input': FieldInfo(annotation=Union[List[ControlInputConfig], NoneType], required=False, default=[], description='A list of definitions of input parameters for a `command` or `commands`, to be rendered as additional input fields. `command`/`commands` may contain placeholders to be replaced by the values obtained from the user for the defined input fields.'), 'javascript': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="A JavaScript snippet to be executed when the button rendered for `command` or `commands` is clicked. This allows to override the direct sending of the command or commands to the printer with more sophisticated behaviour. The JavaScript snippet is `eval`'d and processed in a context where the control it is part of is provided as local variable `data` and the `ControlViewModel` is available as `self`."), 'name': FieldInfo(annotation=str, required=True, description="The name of the control, will be displayed either on the button if it's a control sending a command or as a label for controls which only display output."), 'regex': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A [regular expression <re-syntax>](https://docs.python.org/3/library/re.html#regular-expression-syntax) to match against lines received from the printer to retrieve information from it (e.g. specific output). Together with `template` this allows rendition of received data from the printer within the UI.'), 'script': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The name of a full blown [GCODE script]() to send to the printer. Will be rendered as a button which sends the script to the printer upon click. The button text will be the value of the `name` attribute. Mutually exclusive with `command` and `commands`. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the `enabled` attribute are not met. Values of input parameters will be available in the template context under the `parameter` variable (e.g. an input parameter `speed` will be available in the script template as `parameter.speed`). On top of that all other variables defined in the [GCODE template context]() will be available.'), 'template': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A template to use for rendering the match of `regex`. May contain placeholders in [Python Format String Syntax](https://docs.python.org/3/library/string.html#formatstrings) for either named groups within the regex (e.g. `Temperature: {temperature}` for a regex `T:\\s*(?P<temperature>\\d+(\\.\\d*)`) or positional groups within the regex (e.g. `Position: X={0}, Y={1}, Z={2}, E={3}` for a regex `X:([0-9.]+) Y:([0-9.]+) Z:([0-9.]+) E:([0-9.]+)`).')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: str
                          +name: str

                          The name of the control, will be displayed either on the button if it’s a control sending a command or as a label for controls which only display output.

                          -regex: Optional[str]
                          +regex: str | None

                          //docs.python.org/3/library/re.html#regular-expression-syntax) to match against lines received from the printer to retrieve information from it (e.g. specific output). Together with template this allows rendition of received data from the printer within the UI.

                          -
                          Type
                          +
                          Type:

                          A [regular expression <re-syntax>](https

                          @@ -1361,19 +1706,19 @@
                          -script: Optional[str]
                          +script: str | None

                          The name of a full blown [GCODE script]() to send to the printer. Will be rendered as a button which sends the script to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and commands. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met. Values of input parameters will be available in the template context under the parameter variable (e.g. an input parameter speed will be available in the script template as parameter.speed). On top of that all other variables defined in the [GCODE template context]() will be available.

                          -template: Optional[str]
                          +template: str | None

                          {temperature}` for a regex T:s*(?P<temperature>d+(.d*)) or positional groups within the regex (e.g. Position: X={0}, Y={1}, Z={2}, E={3} for a regex X:([0-9.]+) Y:([0-9.]+) Z:([0-9.]+) E:([0-9.]+)).

                          -
                          Type
                          +
                          Type:

                          A template to use for rendering the match of regex. May contain placeholders in [Python Format String Syntax](https

                          -
                          Type
                          +
                          Type:

                          //docs.python.org/3/library/string.html#formatstrings) for either named groups within the regex (e.g. `Temperature

                          @@ -1383,28 +1728,48 @@
                          -class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: Union[str, int, float, bool], slider: Optional[ControlSliderInputConfig] = None)
                          +class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: str | int | float | bool, slider: ControlSliderInputConfig | None = None)
                          -default: Union[str, int, float, bool]
                          +default: str | int | float | bool

                          Default value for the input field.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'default': FieldInfo(annotation=Union[str, int, float, bool], required=True), 'name': FieldInfo(annotation=str, required=True), 'parameter': FieldInfo(annotation=str, required=True), 'slider': FieldInfo(annotation=Union[ControlSliderInputConfig, NoneType], required=False, default=None)}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: str
                          +name: str

                          Name to display for the input field.

                          -parameter: str
                          +parameter: str

                          Internal parameter name for the input field, used as a placeholder in command/commands.

                          -slider: Optional[ControlSliderInputConfig]
                          +slider: ControlSliderInputConfig | None

                          If this attribute is included, instead of an input field a slider control will be rendered.

                          @@ -1412,22 +1777,42 @@
                          -class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
                          +class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
                          -max: int
                          +max: int

                          Maximum value of the slider.

                          -min: int
                          +min: int

                          Minimum value of the slider.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'max': FieldInfo(annotation=int, required=False, default=255), 'min': FieldInfo(annotation=int, required=False, default=0), 'step': FieldInfo(annotation=int, required=False, default=1)}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -step: int
                          +step: int

                          Step size per slider tick.

                          @@ -1435,32 +1820,52 @@
                          -class octoprint.schema.config.controls.LayoutEnum(value)
                          +class octoprint.schema.config.controls.LayoutEnum(value)

                          An enumeration.

                          -horizontal = 'horizontal'
                          +horizontal = 'horizontal'
                          -vertical = 'vertical'
                          +vertical = 'vertical'
                          -
                          +
                          -class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
                          +class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
                          -enabled: bool
                          +enabled: bool

                          Whether to enable caching. Defaults to true. Setting it to false will cause the UI to always be fully rerendered on request to / on the server.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True), 'preemptive': FieldInfo(annotation=bool, required=False, default=True)}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -preemptive: bool
                          +preemptive: bool

                          Whether to enable the preemptive cache.

                          @@ -1468,55 +1873,75 @@
                          -class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
                          +class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
                          -cache: DevelCacheConfig
                          +cache: DevelCacheConfig

                          Settings for OctoPrint’s internal caching.

                          -enableCsrfProtection: bool
                          +enableCsrfProtection: bool

                          Enable or disable the CSRF protection. Careful, disabling this reduces security.

                          -enableRateLimiter: bool
                          +enableRateLimiter: bool

                          Enable or disable the rate limiter. Careful, disabling this reduces security.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'cache': FieldInfo(annotation=DevelCacheConfig, required=False, default=DevelCacheConfig(enabled=True, preemptive=True), description="Settings for OctoPrint's internal caching."), 'enableCsrfProtection': FieldInfo(annotation=bool, required=False, default=True, description='Enable or disable the CSRF protection. Careful, disabling this reduces security.'), 'enableRateLimiter': FieldInfo(annotation=bool, required=False, default=True, description='Enable or disable the rate limiter. Careful, disabling this reduces security.'), 'pluginTimings': FieldInfo(annotation=bool, required=False, default=False), 'showLoadingAnimation': FieldInfo(annotation=bool, required=False, default=True, description='Enable or disable the loading animation.'), 'sockJsConnectTimeout': FieldInfo(annotation=float, required=False, default=30), 'stylesheet': FieldInfo(annotation=StylesheetEnum, required=False, default=<StylesheetEnum.css: 'css'>, description='Settings for stylesheet preference. OctoPrint will prefer to use the stylesheet type specified here. Usually (on a production install) that will be the compiled css (default). Developers may specify less here too.'), 'useFrozenDictForPrinterState': FieldInfo(annotation=bool, required=False, default=True), 'webassets': FieldInfo(annotation=DevelWebassetsConfig, required=False, default=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), description="Settings for OctoPrint's web asset merging and minifying.")}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -pluginTimings: bool
                          +pluginTimings: bool
                          -showLoadingAnimation: bool
                          +showLoadingAnimation: bool

                          Enable or disable the loading animation.

                          -sockJsConnectTimeout: float
                          +sockJsConnectTimeout: float
                          -stylesheet: StylesheetEnum
                          +stylesheet: StylesheetEnum

                          Settings for stylesheet preference. OctoPrint will prefer to use the stylesheet type specified here. Usually (on a production install) that will be the compiled css (default). Developers may specify less here too.

                          -useFrozenDictForPrinterState: bool
                          +useFrozenDictForPrinterState: bool
                          -webassets: DevelWebassetsConfig
                          +webassets: DevelWebassetsConfig

                          Settings for OctoPrint’s web asset merging and minifying.

                          @@ -1524,13 +1949,13 @@
                          -class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
                          +class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
                          -bundle: bool
                          +bundle: bool

                          if this is set to false, no minification will take place regardless of the minify setting.

                          -
                          Type
                          +
                          Type:

                          If set to true, OctoPrint will merge all JS, all CSS and all Less files into one file per type to reduce request count. Setting it to false will load all assets individually. Note

                          @@ -1538,16 +1963,16 @@
                          -clean_on_startup: bool
                          +clean_on_startup: bool

                          Whether to delete generated web assets on server startup (forcing a regeneration).

                          -minify: bool
                          +minify: bool

                          if bundle is set to false, no minification will take place either.

                          -
                          Type
                          +
                          Type:

                          If set to true, OctoPrint will the core and library javascript assets. Note

                          @@ -1555,39 +1980,79 @@
                          -minify_plugins: bool
                          +minify_plugins: bool

                          if bundle or minify are set to false, no minification of the plugin assets will take place either.

                          -
                          Type
                          +
                          Type:

                          If set to true, OctoPrint will also minify the third party plugin javascript assets. Note

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bundle': FieldInfo(annotation=bool, required=False, default=True, description='If set to true, OctoPrint will merge all JS, all CSS and all Less files into one file per type to reduce request count. Setting it to false will load all assets individually. Note: if this is set to false, no minification will take place regardless of the `minify` setting.'), 'clean_on_startup': FieldInfo(annotation=bool, required=False, default=True, description='Whether to delete generated web assets on server startup (forcing a regeneration).'), 'minify': FieldInfo(annotation=bool, required=False, default=True, description='If set to true, OctoPrint will the core and library javascript assets. Note: if `bundle` is set to false, no minification will take place either.'), 'minify_plugins': FieldInfo(annotation=bool, required=False, default=False, description='If set to true, OctoPrint will also minify the third party plugin javascript assets. Note: if `bundle` or `minify` are set to false, no minification of the plugin assets will take place either.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -class octoprint.schema.config.devel.StylesheetEnum(value)
                          +class octoprint.schema.config.devel.StylesheetEnum(value)

                          An enumeration.

                          -css = 'css'
                          +css = 'css'
                          -less = 'less'
                          +less = 'less'
                          -
                          +
                          -class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
                          +class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'printTime': FieldInfo(annotation=PrintTimeEstimationConfig, required=False, default=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60), description='Parameters for the print time estimation during an ongoing print job.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          + +
                          -printTime: PrintTimeEstimationConfig
                          +printTime: PrintTimeEstimationConfig

                          Parameters for the print time estimation during an ongoing print job.

                          @@ -1595,75 +2060,115 @@
                          -class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
                          +class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
                          -forceDumbAfterMin: float
                          +forceDumbAfterMin: float

                          If no estimate could be calculated until this many minutes into the print and no statistical data is available, use dumb linear estimate.

                          -forceDumbFromPercent: float
                          +forceDumbFromPercent: float

                          If no estimate could be calculated until this percentage and no statistical data is available, use dumb linear estimate. Value between 0 and 1.0.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'forceDumbAfterMin': FieldInfo(annotation=float, required=False, default=30.0, description='If no estimate could be calculated until this many minutes into the print and no statistical data is available, use dumb linear estimate.'), 'forceDumbFromPercent': FieldInfo(annotation=float, required=False, default=0.3, description='If no estimate could be calculated until this percentage and no statistical data is available, use dumb linear estimate. Value between 0 and 1.0.'), 'stableThreshold': FieldInfo(annotation=int, required=False, default=60, description='Average fluctuation between individual calculated estimates to consider in stable range. Seconds of difference.'), 'statsWeighingUntil': FieldInfo(annotation=float, required=False, default=0.5, description="Until which percentage to do a weighted mixture of statistical duration (analysis or past prints) with the result from the calculated estimate if that's already available. Utilized to compensate for the fact that the earlier in a print job, the least accuracy even a stable calculated estimate provides."), 'validityRange': FieldInfo(annotation=float, required=False, default=0.15, description='Range the assumed percentage (based on current estimated statistical, calculated or mixed total vs elapsed print time so far) needs to be around the actual percentage for the result to be used.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -stableThreshold: int
                          +stableThreshold: int

                          Average fluctuation between individual calculated estimates to consider in stable range. Seconds of difference.

                          -statsWeighingUntil: float
                          +statsWeighingUntil: float

                          Until which percentage to do a weighted mixture of statistical duration (analysis or past prints) with the result from the calculated estimate if that’s already available. Utilized to compensate for the fact that the earlier in a print job, the least accuracy even a stable calculated estimate provides.

                          -validityRange: float
                          +validityRange: float

                          Range the assumed percentage (based on current estimated statistical, calculated or mixed total vs elapsed print time so far) needs to be around the actual percentage for the result to be used.

                          -
                          +
                          -class octoprint.schema.config.events.EventSubscription(*, event: str, name: Optional[str] = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
                          +class octoprint.schema.config.events.EventSubscription(*, event: str, name: str | None = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
                          -command: str
                          +command: str

                          The command to execute when the event is triggered, either a GCODE or a system command.

                          -debug: bool
                          +debug: bool

                          If set to true, OctoPrint will log the command after performing all placeholder replacements.

                          -enabled: bool
                          +enabled: bool

                          Whether the event subscription should be enabled.

                          -event: str
                          +event: str

                          The event to subscribe to.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'command': FieldInfo(annotation=str, required=True, description='The command to execute when the event is triggered, either a GCODE or a system command.'), 'debug': FieldInfo(annotation=bool, required=False, default=False, description='If set to `true`, OctoPrint will log the command after performing all placeholder replacements.'), 'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether the event subscription should be enabled.'), 'event': FieldInfo(annotation=str, required=True, description='The event to subscribe to.'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The event name to show on the UI'), 'type': FieldInfo(annotation=SubscriptionTypeEnum, required=True, description='The type of the command.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: Optional[str]
                          +name: str | None

                          The event name to show on the UI

                          -type: SubscriptionTypeEnum
                          +type: SubscriptionTypeEnum

                          The type of the command.

                          @@ -1671,16 +2176,36 @@
                          -class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
                          +class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
                          -enabled: bool
                          +enabled: bool

                          Whether event subscriptions should be enabled or not.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether event subscriptions should be enabled or not.'), 'subscriptions': FieldInfo(annotation=List[EventSubscription], required=False, default=[], description='A list of event subscriptions.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -subscriptions: List[EventSubscription]
                          +subscriptions: List[EventSubscription]

                          A list of event subscriptions.

                          @@ -1688,221 +2213,281 @@
                          -class octoprint.schema.config.events.SubscriptionTypeEnum(value)
                          +class octoprint.schema.config.events.SubscriptionTypeEnum(value)

                          An enumeration.

                          -gcode = 'gcode'
                          +gcode = 'gcode'
                          -system = 'system'
                          +system = 'system'
                          -
                          +
                          -class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
                          +class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
                          -autoUppercaseBlacklist: List[str]
                          +autoUppercaseBlacklist: List[str]

                          Commands that should never be auto-uppercased when sent to the printer through the Terminal tab.

                          -enableDragDropUpload: bool
                          +enableDragDropUpload: bool

                          Enable drag and drop upload overlay

                          -enforceReallyUniversalFilenames: bool
                          +enforceReallyUniversalFilenames: bool

                          Replace all special characters and spaces with text equivalent to make them universally compatible. Most OS filesystems work fine with unicode characters, but just in case you can revert to the older behaviour by setting this to true.

                          -g90InfluencesExtruder: bool
                          +g90InfluencesExtruder: bool

                          Whether G90/G91 also influence absolute/relative mode of extruders.

                          -keyboardControl: bool
                          +keyboardControl: bool

                          Whether to enable the keyboard control feature in the control tab.

                          -modelSizeDetection: bool
                          +modelSizeDetection: bool

                          Whether to enable model size detection and warning (true) or not (false).

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'autoUppercaseBlacklist': FieldInfo(annotation=List[str], required=False, default=['M117', 'M118', 'M707', 'M708'], description='Commands that should never be auto-uppercased when sent to the printer through the Terminal tab.'), 'enableDragDropUpload': FieldInfo(annotation=bool, required=False, default=True, description='Enable drag and drop upload overlay'), 'enforceReallyUniversalFilenames': FieldInfo(annotation=bool, required=False, default=False, description='Replace all special characters and spaces with text equivalent to make them universally compatible. Most OS filesystems work fine with unicode characters, but just in case you can revert to the older behaviour by setting this to true.'), 'g90InfluencesExtruder': FieldInfo(annotation=bool, required=False, default=False, description='Whether `G90`/`G91` also influence absolute/relative mode of extruders.'), 'keyboardControl': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the keyboard control feature in the control tab.'), 'modelSizeDetection': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable model size detection and warning (true) or not (false).'), 'pollWatched': FieldInfo(annotation=bool, required=False, default=False, description="Whether to actively poll the watched folder (true) or to rely on the OS's file system notifications instead (false)."), 'printCancelConfirmation': FieldInfo(annotation=bool, required=False, default=True, description='Whether to show a confirmation on print cancelling (true) or not (false)'), 'printStartConfirmation': FieldInfo(annotation=bool, required=False, default=False, description='Whether to show a confirmation on print start (true) or not (false)'), 'rememberFileFolder': FieldInfo(annotation=bool, required=False, default=False, description='Whether to remember the selected folder on the file manager.'), 'sdSupport': FieldInfo(annotation=bool, required=False, default=True, description='Specifies whether support for SD printing and file management should be enabled.'), 'temperatureGraph': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the temperature graph in the UI or not.'), 'uploadOverwriteConfirmation': FieldInfo(annotation=bool, required=False, default=True)}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -pollWatched: bool
                          +pollWatched: bool

                          Whether to actively poll the watched folder (true) or to rely on the OS’s file system notifications instead (false).

                          -printCancelConfirmation: bool
                          +printCancelConfirmation: bool

                          Whether to show a confirmation on print cancelling (true) or not (false)

                          -printStartConfirmation: bool
                          +printStartConfirmation: bool

                          Whether to show a confirmation on print start (true) or not (false)

                          -rememberFileFolder: bool
                          +rememberFileFolder: bool

                          Whether to remember the selected folder on the file manager.

                          -sdSupport: bool
                          +sdSupport: bool

                          Specifies whether support for SD printing and file management should be enabled.

                          -temperatureGraph: bool
                          +temperatureGraph: bool

                          Whether to enable the temperature graph in the UI or not.

                          -uploadOverwriteConfirmation: bool
                          +uploadOverwriteConfirmation: bool
                          -
                          +
                          -class octoprint.schema.config.folder.FolderConfig(*, uploads: Optional[str] = None, timelapse: Optional[str] = None, timelapse_tmp: Optional[str] = None, logs: Optional[str] = None, virtualSd: Optional[str] = None, watched: Optional[str] = None, plugins: Optional[str] = None, slicingProfiles: Optional[str] = None, printerProfiles: Optional[str] = None, scripts: Optional[str] = None, translations: Optional[str] = None, generated: Optional[str] = None, data: Optional[str] = None)
                          +class octoprint.schema.config.folder.FolderConfig(*, uploads: str | None = None, timelapse: str | None = None, timelapse_tmp: str | None = None, logs: str | None = None, virtualSd: str | None = None, watched: str | None = None, plugins: str | None = None, slicingProfiles: str | None = None, printerProfiles: str | None = None, scripts: str | None = None, translations: str | None = None, generated: str | None = None, data: str | None = None)
                          -data: Optional[str]
                          +data: str | None

                          Absolute path where to store additional data. Defaults to the data folder in OctoPrint’s base folder.

                          -generated: Optional[str]
                          +generated: str | None

                          Absolute path where to store generated files. Defaults to the generated folder in OctoPrint’s base folder.

                          -logs: Optional[str]
                          +logs: str | None

                          Absolute path where to store logs. Defaults to the logs folder in OctoPrint’s base folder.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'data': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store additional data. Defaults to the `data` folder in OctoPrint's base folder."), 'generated': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store generated files. Defaults to the `generated` folder in OctoPrint's base folder."), 'logs': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store logs. Defaults to the `logs` folder in OctoPrint's base folder."), 'plugins': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to locate and install single file plugins. Defaults to the `plugins` folder in OctoPrint's base folder."), 'printerProfiles': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store printer profiles. Defaults to the `printerProfiles` folder in OctoPrint's base folder."), 'scripts': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store (GCODE) scripts. Defaults to the `scripts` folder in OctoPrint's base folder."), 'slicingProfiles': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store slicing profiles. Defaults to the `slicingProfiles` folder in OctoPrint's base folder."), 'timelapse': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store finished timelase recordings. Defaults to the `timelapse` folder in OctoPrint's base folder."), 'timelapse_tmp': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store temporary timelapse snapshots. Defaults to the `timelapse/tmp` folder in OctoPrint's base folder."), 'translations': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store additional translations. Defaults to the `translations` folder in OctoPrint's base folder."), 'uploads': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store gcode uploads. Defaults to the `uploads` folder in OctoPrint's base folder."), 'virtualSd': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store the virtual printer's SD card files. Defaults to the `virtualSd` folder in OctoPrint's base folder."), 'watched': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path to the watched folder. Defaults to the `watched` folder in OctoPrint's base folder.")}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -plugins: Optional[str]
                          +plugins: str | None

                          Absolute path where to locate and install single file plugins. Defaults to the plugins folder in OctoPrint’s base folder.

                          -printerProfiles: Optional[str]
                          +printerProfiles: str | None

                          Absolute path where to store printer profiles. Defaults to the printerProfiles folder in OctoPrint’s base folder.

                          -scripts: Optional[str]
                          +scripts: str | None

                          Absolute path where to store (GCODE) scripts. Defaults to the scripts folder in OctoPrint’s base folder.

                          -slicingProfiles: Optional[str]
                          +slicingProfiles: str | None

                          Absolute path where to store slicing profiles. Defaults to the slicingProfiles folder in OctoPrint’s base folder.

                          -timelapse: Optional[str]
                          +timelapse: str | None

                          Absolute path where to store finished timelase recordings. Defaults to the timelapse folder in OctoPrint’s base folder.

                          -timelapse_tmp: Optional[str]
                          +timelapse_tmp: str | None

                          Absolute path where to store temporary timelapse snapshots. Defaults to the timelapse/tmp folder in OctoPrint’s base folder.

                          -translations: Optional[str]
                          +translations: str | None

                          Absolute path where to store additional translations. Defaults to the translations folder in OctoPrint’s base folder.

                          -uploads: Optional[str]
                          +uploads: str | None

                          Absolute path where to store gcode uploads. Defaults to the uploads folder in OctoPrint’s base folder.

                          -virtualSd: Optional[str]
                          +virtualSd: str | None

                          Absolute path where to store the virtual printer’s SD card files. Defaults to the virtualSd folder in OctoPrint’s base folder.

                          -watched: Optional[str]
                          +watched: str | None

                          Absolute path to the watched folder. Defaults to the watched folder in OctoPrint’s base folder.

                          -
                          +
                          -class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
                          +class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
                          -bedZ: float
                          +bedZ: float

                          Z position considered the location of the bed.

                          -maxExtruders: int
                          +maxExtruders: int

                          Maximum number of extruders to support/to sanity check for.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bedZ': FieldInfo(annotation=float, required=False, default=0.0, description='Z position considered the location of the bed.'), 'maxExtruders': FieldInfo(annotation=int, required=False, default=10, description='Maximum number of extruders to support/to sanity check for.'), 'runAt': FieldInfo(annotation=RunAtEnum, required=False, default=<RunAtEnum.idle: 'idle'>, description='Whether to run the analysis only when idle (not printing), regardless of printing state or never.'), 'throttle_highprio': FieldInfo(annotation=float, required=False, default=0.0, description='Pause between each processed GCODE line batch in high priority mode (e.g. on fresh uploads), seconds.'), 'throttle_lines': FieldInfo(annotation=int, required=False, default=100, description='GCODE line batch size.'), 'throttle_normalprio': FieldInfo(annotation=float, required=False, default=0.01, description='Pause between each processed GCODE line batch in normal priority mode, seconds.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -runAt: RunAtEnum
                          +runAt: RunAtEnum

                          Whether to run the analysis only when idle (not printing), regardless of printing state or never.

                          -throttle_highprio: float
                          +throttle_highprio: float

                          Pause between each processed GCODE line batch in high priority mode (e.g. on fresh uploads), seconds.

                          -throttle_lines: int
                          +throttle_lines: int

                          GCODE line batch size.

                          -throttle_normalprio: float
                          +throttle_normalprio: float

                          Pause between each processed GCODE line batch in normal priority mode, seconds.

                          @@ -1910,254 +2495,374 @@
                          -class octoprint.schema.config.gcode_analysis.RunAtEnum(value)
                          +class octoprint.schema.config.gcode_analysis.RunAtEnum(value)

                          An enumeration.

                          -always = 'always'
                          +always = 'always'
                          -idle = 'idle'
                          +idle = 'idle'
                          -never = 'never'
                          +never = 'never'
                          -
                          +
                          -class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {}, _flags: Dict[str, List[str]] = {})
                          +class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {}, _flags: Dict[str, List[str]] = {})
                          -disabled: List[str]
                          +disabled: List[str]

                          Identifiers of installed but disabled plugins.

                          -flags: Dict[str, List[str]]
                          +flags: Dict[str, List[str]]

                          Configured flags for plugins by plugin identifier.

                          -forced_compatible: List[str]
                          +forced_compatible: List[str]

                          Identifiers of plugins for which python compatibility information will be ignored and the plugin considered compatible in any case. Only for development, do NOT use in production.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'disabled': FieldInfo(annotation=List[str], required=False, default=[], alias='_disabled', alias_priority=2, description='Identifiers of installed but disabled plugins.'), 'flags': FieldInfo(annotation=Dict[str, List[str]], required=False, default={}, alias='_flags', alias_priority=2, description='Configured flags for plugins by plugin identifier.'), 'forced_compatible': FieldInfo(annotation=List[str], required=False, default=[], alias='_forcedCompatible', alias_priority=2, description='Identifiers of plugins for which python compatibility information will be ignored and the plugin considered compatible in any case. Only for development, do **NOT** use in production.'), 'sorting_order': FieldInfo(annotation=Dict[str, Dict[str, int]], required=False, default={}, alias='_sortingOrder', alias_priority=2, description='Custom sorting of hooks and implementations provided by plugins. Two-tiered dictionary structure, plugin identifier mapping to a dictionary of order overrides mapped by sorting context/hook name.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -sorting_order: Dict[str, Dict[str, int]]
                          +sorting_order: Dict[str, Dict[str, int]]

                          Custom sorting of hooks and implementations provided by plugins. Two-tiered dictionary structure, plugin identifier mapping to a dictionary of order overrides mapped by sorting context/hook name.

                          -
                          +
                          -class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
                          +class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'pauseTriggers': FieldInfo(annotation=List[str], required=False, default=[])}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          + +
                          -pauseTriggers: List[str]
                          +pauseTriggers: List[str]
                          -
                          +
                          -class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: Optional[str] = None)
                          +class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: str | None = None)
                          -default: Optional[str]
                          +default: str | None

                          Name of the printer profile to default to.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          -
                          +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'default': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Name of the printer profile to default to.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          + +
                          + +
                          -class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: Optional[str] = None, beforePrinterDisconnected: Optional[str] = None, beforePrintStarted: Optional[str] = None, afterPrintCancelled: Optional[str] = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: Optional[str] = None, beforePrintPaused: Optional[str] = None, afterPrintResumed: Optional[str] = None, beforeToolChange: Optional[str] = None, afterToolChange: Optional[str] = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
                          +class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: str | None = None, beforePrinterDisconnected: str | None = None, beforePrintStarted: str | None = None, afterPrintCancelled: str | None = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: str | None = None, beforePrintPaused: str | None = None, afterPrintResumed: str | None = None, beforeToolChange: str | None = None, afterToolChange: str | None = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
                          -afterPrintCancelled: Optional[str]
                          +afterPrintCancelled: str | None
                          -afterPrintDone: Optional[str]
                          +afterPrintDone: str | None
                          -afterPrintResumed: Optional[str]
                          +afterPrintResumed: str | None
                          -afterPrinterConnected: Optional[str]
                          +afterPrinterConnected: str | None
                          -afterToolChange: Optional[str]
                          +afterToolChange: str | None
                          -beforePrintPaused: Optional[str]
                          +beforePrintPaused: str | None
                          -beforePrintStarted: Optional[str]
                          +beforePrintStarted: str | None
                          -beforePrinterDisconnected: Optional[str]
                          +beforePrinterDisconnected: str | None
                          -beforeToolChange: Optional[str]
                          +beforeToolChange: str | None
                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'afterPrintCancelled': FieldInfo(annotation=Union[str, NoneType], required=False, default="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0"), 'afterPrintDone': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'afterPrintResumed': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'afterPrinterConnected': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'afterToolChange': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforePrintPaused': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforePrintStarted': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforePrinterDisconnected': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforeToolChange': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'snippets': FieldInfo(annotation=Dict[str, str], required=False, default={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -snippets: Dict[str, str]
                          +snippets: Dict[str, str]
                          -class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
                          +class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
                          -gcode: GcodeScriptsConfig
                          +gcode: GcodeScriptsConfig
                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          -
                          +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'gcode': FieldInfo(annotation=GcodeScriptsConfig, required=False, default=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          + +
                          + +
                          -class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)
                          +class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)

                          An enumeration.

                          -always = 'always'
                          +always = 'always'
                          -detect = 'detect'
                          +detect = 'detect'
                          -never = 'never'
                          +never = 'never'
                          -class octoprint.schema.config.serial.InfoWarnNeverEnum(value)
                          +class octoprint.schema.config.serial.InfoWarnNeverEnum(value)

                          An enumeration.

                          -info = 'info'
                          +info = 'info'
                          -never = 'never'
                          +never = 'never'
                          -warn = 'warn'
                          +warn = 'warn'
                          -class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
                          +class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
                          -autoreport_pos: bool
                          +autoreport_pos: bool

                          Whether to enable position autoreport in the firmware if its support is detected

                          -autoreport_sdstatus: bool
                          +autoreport_sdstatus: bool

                          Whether to enable SD printing autoreport in the firmware if its support is detected

                          -autoreport_temp: bool
                          +autoreport_temp: bool

                          Whether to enable temperature autoreport in the firmware if its support is detected

                          -busy_protocol: bool
                          +busy_protocol: bool

                          Whether to shorten the communication timeout if the firmware seems to support the busy protocol

                          -emergency_parser: bool
                          +emergency_parser: bool

                          Whether to send emergency commands out of band if the firmware seems to support the emergency parser

                          -extended_m20: bool
                          +extended_m20: bool

                          Whether to request extended M20 (file list) output from the firmware if its support is detected

                          -lfn_write: bool
                          +lfn_write: bool

                          Whether to enable long filename support for SD card writes if the firmware reports support for it

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'autoreport_pos': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable position autoreport in the firmware if its support is detected'), 'autoreport_sdstatus': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable SD printing autoreport in the firmware if its support is detected'), 'autoreport_temp': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable temperature autoreport in the firmware if its support is detected'), 'busy_protocol': FieldInfo(annotation=bool, required=False, default=True, description='Whether to shorten the communication timeout if the firmware seems to support the busy protocol'), 'emergency_parser': FieldInfo(annotation=bool, required=False, default=True, description='Whether to send emergency commands out of band if the firmware seems to support the emergency parser'), 'extended_m20': FieldInfo(annotation=bool, required=False, default=True, description='Whether to request extended M20 (file list) output from the firmware if its support is detected'), 'lfn_write': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable long filename support for SD card writes if the firmware reports support for it')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -class octoprint.schema.config.serial.SerialConfig(*, port: Optional[str] = None, baudrate: Optional[int] = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', suppressSecondHello: bool = False, disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
                          +class octoprint.schema.config.serial.SerialConfig(*, port: str | None = None, baudrate: int | None = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', suppressSecondHello: bool = False, disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
                          -abortHeatupOnCancel: bool
                          +abortHeatupOnCancel: bool
                          -ackMax: int
                          +ackMax: int
                          -additionalBaudrates: List[int]
                          +additionalBaudrates: List[int]

                          Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer

                          -additionalPorts: List[str]
                          +additionalPorts: List[str]

                          //docs.python.org/3/library/glob.html)

                          -
                          Type
                          +
                          Type:

                          Use this to define additional patterns to consider for serial port listing. Must be a valid [“glob” pattern](http

                          @@ -2165,95 +2870,95 @@
                          -alwaysSendChecksum: bool
                          +alwaysSendChecksum: bool

                          Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.

                          -autoconnect: bool
                          +autoconnect: bool

                          Whether to try to automatically connect to the printer on startup or not

                          -autorefresh: bool
                          +autorefresh: bool

                          Whether to automatically refresh the port list while no connection is established

                          -autorefreshInterval: int
                          +autorefreshInterval: int

                          Interval in seconds at which to refresh the port list while no connection is established

                          -baudrate: Optional[int]
                          +baudrate: int | None

                          The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.

                          -blacklistedBaudrates: List[int]
                          +blacklistedBaudrates: List[int]
                          -blacklistedPorts: List[str]
                          +blacklistedPorts: List[str]
                          -blockWhileDwelling: bool
                          +blockWhileDwelling: bool

                          Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).

                          -blockedCommands: List[str]
                          +blockedCommands: List[str]

                          Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.

                          -capabilities: SerialCapabilities
                          +capabilities: SerialCapabilities
                          -checksumRequiringCommands: List[str]
                          +checksumRequiringCommands: List[str]

                          Commands which need to always be send with a checksum.

                          -disableSdPrintingDetection: bool
                          +disableSdPrintingDetection: bool
                          -disconnectOnErrors: bool
                          +disconnectOnErrors: bool

                          Whether to disconnect from the printer on errors or not.

                          -emergencyCommands: List[str]
                          +emergencyCommands: List[str]
                          -enableShutdownActionCommand: bool
                          +enableShutdownActionCommand: bool

                          Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it’s running on.

                          -encoding: str
                          +encoding: str

                          //docs.python.org/3/library/codecs.html#standard-encodings).

                          -
                          Type
                          +
                          Type:

                          Encoding to use when talking to a machine. ascii limits access to characters 0-127, latin_1 enables access to the “extended” ascii characters 0-255. Other values can be used, see [Python’s standard encodings](https

                          @@ -2261,68 +2966,68 @@
                          -exclusive: bool
                          +exclusive: bool

                          Whether to request the serial port exclusively or not

                          -externalHeatupDetection: bool
                          +externalHeatupDetection: bool

                          Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer’s LCD panel or while printing from SD) or not. Causes issues with Repetier’s “first ok then response” approach to communication, so disable for printers running Repetier firmware.

                          -firmwareDetection: bool
                          +firmwareDetection: bool

                          Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).

                          -helloCommand: str
                          +helloCommand: str

                          Command to send in order to initiate a handshake with the printer.

                          -identicalResendsCountdown: int
                          +identicalResendsCountdown: int

                          If ignoreIdenticalResends is true, how many consecutive identical resends to ignore.

                          -ignoreEmptyPorts: bool
                          +ignoreEmptyPorts: bool
                          -ignoreErrorsFromFirmware: bool
                          +ignoreErrorsFromFirmware: bool

                          Whether to completely ignore errors from the firmware or not.

                          -ignoreIdenticalResends: bool
                          +ignoreIdenticalResends: bool

                          Whether to ignore identical resends from the printer (true, repetier) or not (false).

                          -ignoredCommands: List[str]
                          +ignoredCommands: List[str]

                          Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.

                          -lastLineBufferSize: int
                          +lastLineBufferSize: int
                          -log: bool
                          +log: bool

                          might decrease performance)

                          -
                          Type
                          +
                          Type:

                          Whether to log whole communication to serial.log (warning

                          @@ -2330,200 +3035,215 @@
                          -logPositionOnCancel: bool
                          +logPositionOnCancel: bool
                          -logPositionOnPause: bool
                          +logPositionOnPause: bool
                          -logResends: bool
                          +logResends: bool

                          Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.

                          -longRunningCommands: List[str]
                          +longRunningCommands: List[str]

                          Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.

                          -lowLatency: bool
                          +lowLatency: bool

                          Whether to request low latency mode on the serial port or not

                          -maxCommunicationTimeouts: SerialMaxTimeouts
                          +maxCommunicationTimeouts: SerialMaxTimeouts
                          -maxConsecutiveResends: int
                          +maxConsecutiveResends: int
                          -maxNotSdPrinting: int
                          +maxNotSdPrinting: int
                          -maxWritePasses: int
                          +maxWritePasses: int

                          Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'abortHeatupOnCancel': FieldInfo(annotation=bool, required=False, default=True), 'ackMax': FieldInfo(annotation=int, required=False, default=1), 'additionalBaudrates': FieldInfo(annotation=List[int], required=False, default=[], description='Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer'), 'additionalPorts': FieldInfo(annotation=List[str], required=False, default=[], description='Use this to define additional patterns to consider for serial port listing. Must be a valid ["glob" pattern](http://docs.python.org/3/library/glob.html)'), 'alwaysSendChecksum': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.'), 'autoconnect': FieldInfo(annotation=bool, required=False, default=False, description='Whether to try to automatically connect to the printer on startup or not'), 'autorefresh': FieldInfo(annotation=bool, required=False, default=True, description='Whether to automatically refresh the port list while no connection is established'), 'autorefreshInterval': FieldInfo(annotation=int, required=False, default=1, description='Interval in seconds at which to refresh the port list while no connection is established'), 'baudrate': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.'), 'blacklistedBaudrates': FieldInfo(annotation=List[int], required=False, default=[]), 'blacklistedPorts': FieldInfo(annotation=List[str], required=False, default=[]), 'blockWhileDwelling': FieldInfo(annotation=bool, required=False, default=False, description='Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).'), 'blockedCommands': FieldInfo(annotation=List[str], required=False, default=['M0', 'M1'], description='Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.'), 'capabilities': FieldInfo(annotation=SerialCapabilities, required=False, default=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True)), 'checksumRequiringCommands': FieldInfo(annotation=List[str], required=False, default=['M110'], description='Commands which need to always be send with a checksum.'), 'disableSdPrintingDetection': FieldInfo(annotation=bool, required=False, default=False), 'disconnectOnErrors': FieldInfo(annotation=bool, required=False, default=True, description='Whether to disconnect from the printer on errors or not.'), 'emergencyCommands': FieldInfo(annotation=List[str], required=False, default=['M112', 'M108', 'M410']), 'enableShutdownActionCommand': FieldInfo(annotation=bool, required=False, default=False, description="Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it's running on."), 'encoding': FieldInfo(annotation=str, required=False, default='ascii', description='Encoding to use when talking to a machine. `ascii` limits access to characters 0-127, `latin_1` enables access to the "extended" ascii characters 0-255. Other values can be used, see [Python\'s standard encodings](https://docs.python.org/3/library/codecs.html#standard-encodings).'), 'exclusive': FieldInfo(annotation=bool, required=False, default=True, description='Whether to request the serial port exclusively or not'), 'externalHeatupDetection': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer\'s LCD panel or while printing from SD) or not. Causes issues with Repetier\'s "first ok then response" approach to communication, so disable for printers running Repetier firmware.'), 'firmwareDetection': FieldInfo(annotation=bool, required=False, default=True, description='Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).'), 'helloCommand': FieldInfo(annotation=str, required=False, default='M110 N0', description='Command to send in order to initiate a handshake with the printer.'), 'identicalResendsCountdown': FieldInfo(annotation=int, required=False, default=7, description='If `ignoreIdenticalResends` is true, how many consecutive identical resends to ignore.'), 'ignoreEmptyPorts': FieldInfo(annotation=bool, required=False, default=False), 'ignoreErrorsFromFirmware': FieldInfo(annotation=bool, required=False, default=False, description='Whether to completely ignore errors from the firmware or not.'), 'ignoreIdenticalResends': FieldInfo(annotation=bool, required=False, default=False, description='Whether to ignore identical resends from the printer (true, repetier) or not (false).'), 'ignoredCommands': FieldInfo(annotation=List[str], required=False, default=[], description='Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.'), 'lastLineBufferSize': FieldInfo(annotation=int, required=False, default=50), 'log': FieldInfo(annotation=bool, required=False, default=False, description='Whether to log whole communication to serial.log (warning: might decrease performance)'), 'logPositionOnCancel': FieldInfo(annotation=bool, required=False, default=False), 'logPositionOnPause': FieldInfo(annotation=bool, required=False, default=True), 'logResends': FieldInfo(annotation=bool, required=False, default=True, description='Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.'), 'longRunningCommands': FieldInfo(annotation=List[str], required=False, default=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], description='Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.'), 'lowLatency': FieldInfo(annotation=bool, required=False, default=False, description='Whether to request low latency mode on the serial port or not'), 'maxCommunicationTimeouts': FieldInfo(annotation=SerialMaxTimeouts, required=False, default=SerialMaxTimeouts(idle=2, printing=5, long=5)), 'maxConsecutiveResends': FieldInfo(annotation=int, required=False, default=10), 'maxNotSdPrinting': FieldInfo(annotation=int, required=False, default=2), 'maxWritePasses': FieldInfo(annotation=int, required=False, default=5, description='Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error'), 'neverSendChecksum': FieldInfo(annotation=bool, required=False, default=False), 'notifySuppressedCommands': FieldInfo(annotation=InfoWarnNeverEnum, required=False, default='warn'), 'pausingCommands': FieldInfo(annotation=List[str], required=False, default=['M0', 'M1', 'M25'], description='Commands which should cause OctoPrint to pause any ongoing prints.'), 'port': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The default port to use to connect to the printer. If unset or set to `AUTO`, the port will be auto-detected.'), 'repetierTargetTemp': FieldInfo(annotation=bool, required=False, default=False, description='Whether the printer sends repetier style target temperatures in the format `TargetExtr0:<temperature>` instead of attaching that information to the regular `M105` responses.'), 'resendRatioStart': FieldInfo(annotation=int, required=False, default=100), 'resendRatioThreshold': FieldInfo(annotation=int, required=False, default=10, description='Percentage of resend requests among all sent lines that should be considered critical.'), 'sanityCheckTools': FieldInfo(annotation=bool, required=False, default=True), 'sdAlwaysAvailable': FieldInfo(annotation=bool, required=False, default=False, description="Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don't report the SD card status properly."), 'sdCancelCommand': FieldInfo(annotation=str, required=False, default='M25'), 'sdLowerCase': FieldInfo(annotation=bool, required=False, default=False), 'sdRelativePath': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether firmware expects relative paths for selecting SD files.'), 'sendChecksumWithUnknownCommands': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether OctoPrint should also send linenumber + checksum with commands that are *not* detected as valid GCODE (as in, they do not match the regular expression `^\\s*([GM]\\d+|T)`).'), 'sendM112OnError': FieldInfo(annotation=bool, required=False, default=True), 'supportFAsCommand': FieldInfo(annotation=bool, required=False, default=False, description='Whether to support `F` on its own as a valid GCODE command (true) or not (false).'), 'supportResendsWithoutOk': FieldInfo(annotation=AlwaysDetectNeverEnum, required=False, default='detect', description='Whether to support resends without follow-up ok or not.'), 'supportWait': FieldInfo(annotation=bool, required=False, default=True), 'suppressSecondHello': FieldInfo(annotation=bool, required=False, default=False, description='Whether to suppress the second hello command. Might be required for some printer configurations with custom hello commands.'), 'swallowOkAfterResend': FieldInfo(annotation=bool, required=False, default=True), 'terminalLogSize': FieldInfo(annotation=int, required=False, default=20), 'timeout': FieldInfo(annotation=SerialTimeoutConfig, required=False, default=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), description='Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems'), 'triggerOkForM29': FieldInfo(annotation=bool, required=False, default=True, description='Whether to automatically trigger an ok for `M29` (a lot of versions of this command are buggy and the response skips on the ok).'), 'unknownCommandsNeedAck': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether OctoPrint should also use up acknowledgments (`ok`) for commands that are *not* detected as valid GCODE (as in, they do not match the regular expression `^\\s*([GM]\\d+|T)`).'), 'useParityWorkaround': FieldInfo(annotation=AlwaysDetectNeverEnum, required=False, default='detect'), 'waitForStartOnConnect': FieldInfo(annotation=bool, required=False, default=False, description='Whether OctoPrint should wait for the `start` response from the printer before trying to send commands during connect.'), 'waitToLoadSdFileList': FieldInfo(annotation=bool, required=False, default=True, description='Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -neverSendChecksum: bool
                          +neverSendChecksum: bool
                          -notifySuppressedCommands: InfoWarnNeverEnum
                          +notifySuppressedCommands: InfoWarnNeverEnum
                          -pausingCommands: List[str]
                          +pausingCommands: List[str]

                          Commands which should cause OctoPrint to pause any ongoing prints.

                          -port: Optional[str]
                          +port: str | None

                          The default port to use to connect to the printer. If unset or set to AUTO, the port will be auto-detected.

                          -repetierTargetTemp: bool
                          -

                          <temperature>` instead of attaching that information to the regular M105 responses.

                          -
                          -
                          Type
                          -

                          Whether the printer sends repetier style target temperatures in the format `TargetExtr0

                          -
                          -
                          +repetierTargetTemp: bool +

                          Whether the printer sends repetier style target temperatures in the format TargetExtr0:<temperature> instead of attaching that information to the regular M105 responses.

                          -resendRatioStart: int
                          +resendRatioStart: int
                          -resendRatioThreshold: int
                          +resendRatioThreshold: int

                          Percentage of resend requests among all sent lines that should be considered critical.

                          -sanityCheckTools: bool
                          +sanityCheckTools: bool
                          -sdAlwaysAvailable: bool
                          +sdAlwaysAvailable: bool

                          Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don’t report the SD card status properly.

                          -sdCancelCommand: str
                          +sdCancelCommand: str
                          -sdLowerCase: bool
                          +sdLowerCase: bool
                          -sdRelativePath: bool
                          +sdRelativePath: bool

                          Specifies whether firmware expects relative paths for selecting SD files.

                          -sendChecksumWithUnknownCommands: bool
                          +sendChecksumWithUnknownCommands: bool

                          Specifies whether OctoPrint should also send linenumber + checksum with commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

                          -sendM112OnError: bool
                          +sendM112OnError: bool
                          -supportFAsCommand: bool
                          +supportFAsCommand: bool

                          Whether to support F on its own as a valid GCODE command (true) or not (false).

                          -supportResendsWithoutOk: AlwaysDetectNeverEnum
                          +supportResendsWithoutOk: AlwaysDetectNeverEnum

                          Whether to support resends without follow-up ok or not.

                          -supportWait: bool
                          +supportWait: bool
                          -suppressSecondHello: bool
                          +suppressSecondHello: bool

                          Whether to suppress the second hello command. Might be required for some printer configurations with custom hello commands.

                          -swallowOkAfterResend: bool
                          +swallowOkAfterResend: bool
                          -terminalLogSize: int
                          +terminalLogSize: int
                          -timeout: SerialTimeoutConfig
                          +timeout: SerialTimeoutConfig

                          Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems

                          -triggerOkForM29: bool
                          +triggerOkForM29: bool

                          Whether to automatically trigger an ok for M29 (a lot of versions of this command are buggy and the response skips on the ok).

                          -unknownCommandsNeedAck: bool
                          +unknownCommandsNeedAck: bool

                          Specifies whether OctoPrint should also use up acknowledgments (ok) for commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

                          -useParityWorkaround: AlwaysDetectNeverEnum
                          +useParityWorkaround: AlwaysDetectNeverEnum
                          -waitForStartOnConnect: bool
                          +waitForStartOnConnect: bool

                          Whether OctoPrint should wait for the start response from the printer before trying to send commands during connect.

                          -waitToLoadSdFileList: bool
                          +waitToLoadSdFileList: bool

                          Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.

                          @@ -2531,22 +3251,42 @@
                          -class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
                          +class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
                          -idle: int
                          +idle: int

                          Max. timeouts when the printer is idle

                          -long: int
                          +long: int

                          Max. timeouts when a long running command is active

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'idle': FieldInfo(annotation=int, required=False, default=2, description='Max. timeouts when the printer is idle'), 'long': FieldInfo(annotation=int, required=False, default=5, description='Max. timeouts when a long running command is active'), 'printing': FieldInfo(annotation=int, required=False, default=5, description='Max. timeouts when the printer is printing')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -printing: int
                          +printing: int

                          Max. timeouts when the printer is printing

                          @@ -2554,109 +3294,149 @@
                          -class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
                          +class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
                          -baudrateDetectionPause: float
                          +baudrateDetectionPause: float
                          -communication: float
                          +communication: float

                          Timeout during serial communication, in seconds

                          -communicationBusy: float
                          +communicationBusy: float

                          Timeout during serial communication when busy protocol support is detected, in seconds

                          -connection: float
                          +connection: float

                          Timeout for waiting to establish a connection with the selected port, in seconds

                          -detectionConsecutive: float
                          +detectionConsecutive: float
                          -detectionFirst: float
                          +detectionFirst: float
                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'baudrateDetectionPause': FieldInfo(annotation=float, required=False, default=1.0), 'communication': FieldInfo(annotation=float, required=False, default=30.0, description='Timeout during serial communication, in seconds'), 'communicationBusy': FieldInfo(annotation=float, required=False, default=3.0, description='Timeout during serial communication when busy protocol support is detected, in seconds'), 'connection': FieldInfo(annotation=float, required=False, default=10.0, description='Timeout for waiting to establish a connection with the selected port, in seconds'), 'detectionConsecutive': FieldInfo(annotation=float, required=False, default=2.0), 'detectionFirst': FieldInfo(annotation=float, required=False, default=10.0), 'posAutoreport': FieldInfo(annotation=float, required=False, default=5.0), 'positionLogWait': FieldInfo(annotation=float, required=False, default=10.0), 'resendOk': FieldInfo(annotation=float, required=False, default=0.5), 'sdStatus': FieldInfo(annotation=float, required=False, default=1.0, description='Timeout after which to query the SD status while SD printing'), 'sdStatusAutoreport': FieldInfo(annotation=float, required=False, default=1.0), 'temperature': FieldInfo(annotation=float, required=False, default=5.0, description='Timeout after which to query temperature when no target is set'), 'temperatureAutoreport': FieldInfo(annotation=float, required=False, default=2.0), 'temperatureTargetSet': FieldInfo(annotation=float, required=False, default=2.0, description='Timeout after which to query temperature when a target is set')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -posAutoreport: float
                          +posAutoreport: float
                          -positionLogWait: float
                          +positionLogWait: float
                          -resendOk: float
                          +resendOk: float
                          -sdStatus: float
                          +sdStatus: float

                          Timeout after which to query the SD status while SD printing

                          -sdStatusAutoreport: float
                          +sdStatusAutoreport: float
                          -temperature: float
                          +temperature: float

                          Timeout after which to query temperature when no target is set

                          -temperatureAutoreport: float
                          +temperatureAutoreport: float
                          -temperatureTargetSet: float
                          +temperatureTargetSet: float

                          Timeout after which to query temperature when a target is set

                          -
                          +
                          -class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: Optional[str] = None, systemRestartCommand: Optional[str] = None, serverRestartCommand: Optional[str] = None, localPipCommand: Optional[str] = None)
                          +class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: str | None = None, systemRestartCommand: str | None = None, serverRestartCommand: str | None = None, localPipCommand: str | None = None)
                          -localPipCommand: Optional[str]
                          +localPipCommand: str | None

                          pip command associated with OctoPrint, used for installing plugins and updates, if unset (default) the command will be autodetected based on the current python executable - unless you have a really special setup this is the right way to do it and there should be no need to ever touch this setting.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'localPipCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='pip command associated with OctoPrint, used for installing plugins and updates, if unset (default) the command will be autodetected based on the current python executable - unless you have a really special setup this is the right way to do it and there should be no need to ever touch this setting.'), 'serverRestartCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Command to restart OctoPrint.'), 'systemRestartCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Command to restart the system OctoPrint is running on.'), 'systemShutdownCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Command to shut down the system OctoPrint is running on.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -serverRestartCommand: Optional[str]
                          +serverRestartCommand: str | None

                          Command to restart OctoPrint.

                          -systemRestartCommand: Optional[str]
                          +systemRestartCommand: str | None

                          Command to restart the system OctoPrint is running on.

                          -systemShutdownCommand: Optional[str]
                          +systemShutdownCommand: str | None

                          Command to shut down the system OctoPrint is running on.

                          @@ -2664,16 +3444,36 @@
                          -class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: Optional[SameSiteEnum] = SameSiteEnum.lax)
                          +class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: SameSiteEnum | None = SameSiteEnum.lax)
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'samesite': FieldInfo(annotation=Union[SameSiteEnum, NoneType], required=False, default=<SameSiteEnum.lax: 'Lax'>, description='`SameSite` setting to use on the cookies. Possible values are `None`, `Lax` and `Strict`. Defaults to `Lax`. Be advised that if forced unset, this has security implications as many browsers now default to `Lax` unless you configure cookies to be set with `Secure` flag set, explicitly set `SameSite` setting here and also serve OctoPrint over https. The `Lax` setting is known to cause with embedding OctoPrint in frames. See also ["Feature: Cookies default to SameSite=Lax"](https://www.chromestatus.com/feature/5088147346030592), ["Feature: Reject insecure SameSite=None cookies"](https://www.chromestatus.com/feature/5633521622188032) and [issue #3482](https://github.com/OctoPrint/OctoPrint/issues/3482).'), 'secure': FieldInfo(annotation=bool, required=False, default=False, description='Whether to set the `Secure` flag to true on cookies. Only set to true if you are running OctoPrint behind a reverse proxy taking care of SSL termination.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          + +
                          -samesite: Optional[SameSiteEnum]
                          +samesite: SameSiteEnum | None

                          //www.chromestatus.com/feature/5088147346030592), [“Feature: Reject insecure SameSite=None cookies”](https://www.chromestatus.com/feature/5633521622188032) and [issue #3482](https://github.com/OctoPrint/OctoPrint/issues/3482).

                          -
                          Type
                          +
                          Type:

                          SameSite setting to use on the cookies. Possible values are None, Lax and Strict. Defaults to Lax. Be advised that if forced unset, this has security implications as many browsers now default to Lax unless you configure cookies to be set with Secure flag set, explicitly set SameSite setting here and also serve OctoPrint over https. The Lax setting is known to cause with embedding OctoPrint in frames. See also [“Feature

                          -
                          Type
                          +
                          Type:

                          Cookies default to SameSite=Lax”](https

                          @@ -2681,7 +3481,7 @@
                          -secure: bool
                          +secure: bool

                          Whether to set the Secure flag to true on cookies. Only set to true if you are running OctoPrint behind a reverse proxy taking care of SSL termination.

                          @@ -2689,16 +3489,36 @@
                          -class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
                          +class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
                          -critical: int
                          +critical: int

                          Threshold (bytes) after which to consider disk space becoming critical, defaults to 200MB.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'critical': FieldInfo(annotation=int, required=False, default=209715200, description='Threshold (bytes) after which to consider disk space becoming critical, defaults to 200MB.'), 'warning': FieldInfo(annotation=int, required=False, default=524288000, description='Threshold (bytes) after which to consider disk space becoming sparse, defaults to 500MB.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -warning: int
                          +warning: int

                          Threshold (bytes) after which to consider disk space becoming sparse, defaults to 500MB.

                          @@ -2706,16 +3526,36 @@
                          -class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
                          +class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
                          -enabled: bool
                          +enabled: bool

                          Whether to enable the check.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the check.'), 'trustedSubnets': FieldInfo(annotation=List[str], required=False, default=[], description='Additional non-local subnets to consider trusted, in CIDR notation, e.g. `192.168.1.0/24`.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -trustedSubnets: List[str]
                          +trustedSubnets: List[str]

                          Additional non-local subnets to consider trusted, in CIDR notation, e.g. 192.168.1.0/24.

                          @@ -2723,34 +3563,54 @@
                          -class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: Optional[bool] = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
                          +class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: bool | None = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
                          -enabled: Optional[bool]
                          +enabled: bool | None

                          Whether the online check is enabled. Ships unset, the user will be asked to make a decision as part of the setup wizard.

                          -host: str
                          +host: str

                          DNS host against which to check, defaults to Cloudflare’s DNS.

                          -interval: int
                          +interval: int

                          Interval in which to check for online connectivity (in seconds), defaults to 15 minutes.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, description='Whether the online check is enabled. Ships unset, the user will be asked to make a decision as part of the setup wizard.'), 'host': FieldInfo(annotation=str, required=False, default='1.1.1.1', description="DNS host against which to check, defaults to Cloudflare's DNS."), 'interval': FieldInfo(annotation=int, required=False, default=900, description='Interval in which to check for online connectivity (in seconds), defaults to 15 minutes.'), 'name': FieldInfo(annotation=str, required=False, default='octoprint.org', description="Host name for which to check name resolution, defaults to OctoPrint's main domain."), 'port': FieldInfo(annotation=int, required=False, default=53, description='DNS port against which to check, defaults to the standard DNS port.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: str
                          +name: str

                          Host name for which to check name resolution, defaults to OctoPrint’s main domain.

                          -port: int
                          +port: int

                          DNS port against which to check, defaults to the standard DNS port.

                          @@ -2758,19 +3618,39 @@
                          -class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: Optional[bool] = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
                          +class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: bool | None = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
                          -enabled: Optional[bool]
                          +enabled: bool | None

                          Whether use of the blacklist is enabled. If unset, the user will be asked to make a decision as part of the setup wizard.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, description='Whether use of the blacklist is enabled. If unset, the user will be asked to make a decision as part of the setup wizard.'), 'timeout': FieldInfo(annotation=float, required=False, default=3.05, description='Timeout for fetching the blacklist, in seconds (default: 3.05 seconds).'), 'ttl': FieldInfo(annotation=int, required=False, default=900, description='Time to live of the cached blacklist, in seconds (default: 15 minutes).'), 'url': FieldInfo(annotation=str, required=False, default='https://plugins.octoprint.org/blacklist.json', description='The URL from which to fetch the blacklist.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -timeout: float
                          +timeout: float

                          3.05 seconds).

                          -
                          Type
                          +
                          Type:

                          Timeout for fetching the blacklist, in seconds (default

                          @@ -2778,10 +3658,10 @@
                          -ttl: int
                          +ttl: int

                          15 minutes).

                          -
                          Type
                          +
                          Type:

                          Time to live of the cached blacklist, in seconds (default

                          @@ -2789,7 +3669,7 @@
                          -url: str
                          +url: str

                          The URL from which to fetch the blacklist.

                          @@ -2797,16 +3677,36 @@
                          -class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
                          +class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
                          -exceptions: List[str]
                          +exceptions: List[str]

                          Which server paths to exclude from the preemptive cache, e.g. /some/path.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'exceptions': FieldInfo(annotation=List[str], required=False, default=[], description='Which server paths to exclude from the preemptive cache, e.g. `/some/path`.'), 'until': FieldInfo(annotation=int, required=False, default=7, description='How many days to leave unused entries in the preemptive cache config.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -until: int
                          +until: int

                          How many days to leave unused entries in the preemptive cache config.

                          @@ -2814,25 +3714,45 @@
                          -class octoprint.schema.config.server.PythonEolCheckConfig(*, enabled: bool = True, url: str = 'https://get.octoprint.org/python-eol', ttl: int = 1440, fallback: Dict[str, PythonEolEntry] = {'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}})
                          +class octoprint.schema.config.server.PythonEolCheckConfig(*, enabled: bool = True, url: str = 'https://get.octoprint.org/python-eol', ttl: int = 1440, fallback: Dict[str, PythonEolEntry] = {'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}})
                          -enabled: bool
                          +enabled: bool

                          Whether to enable the Python EOL warning.

                          -fallback: Dict[str, PythonEolEntry]
                          +fallback: Dict[str, PythonEolEntry]

                          Fallback data for Python EOL data, in case the online check fails.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the Python EOL warning.'), 'fallback': FieldInfo(annotation=Dict[str, PythonEolEntry], required=False, default={'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}}, description='Fallback data for Python EOL data, in case the online check fails.'), 'ttl': FieldInfo(annotation=int, required=False, default=1440, description='Time to live of the cached Python EOL data, in minutes (default: 24 hours).'), 'url': FieldInfo(annotation=str, required=False, default='https://get.octoprint.org/python-eol', description='URL to fetch the Python EOL data from.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -ttl: int
                          +ttl: int

                          24 hours).

                          -
                          Type
                          +
                          Type:

                          Time to live of the cached Python EOL data, in minutes (default

                          @@ -2840,7 +3760,7 @@
                          -url: str
                          +url: str

                          URL to fetch the Python EOL data from.

                          @@ -2848,89 +3768,129 @@
                          -class octoprint.schema.config.server.PythonEolEntry(*, date: str, last_octoprint: Optional[str] = None)
                          +class octoprint.schema.config.server.PythonEolEntry(*, date: str, last_octoprint: str | None = None)
                          -date: str
                          +date: str

                          The date when the Python version will reach EOL, in format YYYY-MM-DD.

                          -last_octoprint: Optional[str]
                          +last_octoprint: str | None

                          The last OctoPrint version that will support this Python version, optional.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'date': FieldInfo(annotation=str, required=True, description='The date when the Python version will reach EOL, in format YYYY-MM-DD.'), 'last_octoprint': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The last OctoPrint version that will support this Python version, optional.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: Optional[str] = None, schemeHeader: Optional[str] = None, hostHeader: Optional[str] = None, serverHeader: Optional[str] = None, portHeader: Optional[str] = None, prefixFallback: Optional[str] = None, schemeFallback: Optional[str] = None, hostFallback: Optional[str] = None, serverFallback: Optional[str] = None, portFallback: Optional[str] = None, trustedProxies: List[str] = [], trustLocalhostProxies: bool = True)
                          +class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: str | None = None, schemeHeader: str | None = None, hostHeader: str | None = None, serverHeader: str | None = None, portHeader: str | None = None, prefixFallback: str | None = None, schemeFallback: str | None = None, hostFallback: str | None = None, serverFallback: str | None = None, portFallback: str | None = None, trustedProxies: List[str] = [], trustLocalhostProxies: bool = True)
                          -hostFallback: Optional[str]
                          +hostFallback: str | None

                          Use this option to define an optional forced host under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname than OctoPrint itself but can’t configure said reverse proxy to send a host HTTP header (X-Forwarded-Host by default, see above) with forwarded requests.

                          -hostHeader: Optional[str]
                          +hostHeader: str | None

                          The request header from which to determine the host under which OctoPrint is served by the reverse proxy.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'hostFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Use this option to define an optional forced host under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname than OctoPrint itself but can't configure said reverse proxy to send a host HTTP header (X-Forwarded-Host by default, see above) with forwarded requests."), 'hostHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The request header from which to determine the host under which OctoPrint is served by the reverse proxy.'), 'portFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'portHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'prefixFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Use this option to define an optional URL prefix (with a leading /, so absolute to your server's root) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy under a different root endpoint than `/` and can't configure said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with forwarded requests."), 'prefixHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The request header from which to determine the URL prefix under which OctoPrint is served by the reverse proxy.'), 'schemeFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Use this option to define an optional forced scheme (http or https) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy that also does HTTPS determination but can't configure said reverse proxy to send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests."), 'schemeHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The request header from which to determine the scheme (http or https) under which a specific request to OctoPrint was made to the reverse proxy.'), 'serverFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'serverHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'trustLocalhostProxies': FieldInfo(annotation=bool, required=False, default=True, description='Whether to trust the local machine to act as a reverse proxy. Defaults to true, will ensure that `127.0.0.0/8` and `::1` will always be considered to be included in `trustedProxies`. If you want to explicitly disable trusting the local machine, set this to false and don\'t include the local machine in trustedProxies (as in, don\'t include "127.0.0.1", "127.0.0.0/8" or "::1").'), 'trustedProxies': FieldInfo(annotation=List[str], required=False, default=[], description="List of trusted proxy servers for which to ignore the IP address when trying to determine the connecting client's IP address. A reverse proxy on the same machine as OctoPrint (e.g. as found on OctoPi) will be handled correctly by default through `trustLocalhostProxies`, further proxies in front of that you'll have to add yourself here.")}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -portFallback: Optional[str]
                          +portFallback: str | None
                          -portHeader: Optional[str]
                          +portHeader: str | None
                          -prefixFallback: Optional[str]
                          +prefixFallback: str | None

                          Use this option to define an optional URL prefix (with a leading /, so absolute to your server’s root) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy under a different root endpoint than / and can’t configure said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with forwarded requests.

                          -prefixHeader: Optional[str]
                          +prefixHeader: str | None

                          The request header from which to determine the URL prefix under which OctoPrint is served by the reverse proxy.

                          -schemeFallback: Optional[str]
                          +schemeFallback: str | None

                          Use this option to define an optional forced scheme (http or https) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy that also does HTTPS determination but can’t configure said reverse proxy to send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests.

                          -schemeHeader: Optional[str]
                          +schemeHeader: str | None

                          The request header from which to determine the scheme (http or https) under which a specific request to OctoPrint was made to the reverse proxy.

                          -serverFallback: Optional[str]
                          +serverFallback: str | None
                          -serverHeader: Optional[str]
                          +serverHeader: str | None
                          -trustLocalhostProxies: bool
                          +trustLocalhostProxies: bool

                          Whether to trust the local machine to act as a reverse proxy. Defaults to true, will ensure that 127.0.0.0/8 and ::1 will always be considered to be included in trustedProxies. If you want to explicitly disable trusting the local machine, set this to false and don’t include the local machine in trustedProxies (as in, don’t include “127.0.0.1”, “127.0.0.0/8” or “::1”).

                          -trustedProxies: List[str]
                          +trustedProxies: List[str]

                          List of trusted proxy servers for which to ignore the IP address when trying to determine the connecting client’s IP address. A reverse proxy on the same machine as OctoPrint (e.g. as found on OctoPi) will be handled correctly by default through trustLocalhostProxies, further proxies in front of that you’ll have to add yourself here.

                          @@ -2938,129 +3898,149 @@
                          -class octoprint.schema.config.server.SameSiteEnum(value)
                          +class octoprint.schema.config.server.SameSiteEnum(value)

                          An enumeration.

                          -lax = 'Lax'
                          +lax = 'Lax'
                          -none = 'None'
                          +none = 'None'
                          -strict = 'Strict'
                          +strict = 'Strict'
                          -class octoprint.schema.config.server.ServerConfig(*, host: ~typing.Optional[str] = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: ~typing.Dict[str, str] = {}, secretKey: ~typing.Optional[str] = None, heartbeat: int = 900, reverseProxy: ~octoprint.schema.config.server.ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads: ~octoprint.schema.config.server.UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: ~octoprint.schema.config.server.CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: ~octoprint.schema.config.server.OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: ~octoprint.schema.config.server.PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck: ~octoprint.schema.config.server.PythonEolCheckConfig = PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}}), diskspace: ~octoprint.schema.config.server.DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: ~octoprint.schema.config.server.PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: ~octoprint.schema.config.server.IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: ~octoprint.schema.config.server.CookiesConfig = CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths: ~typing.List[str] = [])
                          +class octoprint.schema.config.server.ServerConfig(*, host: str | None = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: Dict[str, str] = {}, secretKey: str | None = None, heartbeat: int = 900, reverseProxy: ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads: UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck: PythonEolCheckConfig = PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), diskspace: DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: CookiesConfig = CookiesConfig(secure=False, samesite='Lax'), allowedLoginRedirectPaths: List[str] = [])
                          -allowFraming: bool
                          +allowFraming: bool

                          Whether to allow OctoPrint to be embedded in a frame or not. Note that depending on your setup you might have to set SameSite to None, Secure to true and serve OctoPrint through a reverse proxy that enables https for cookies and thus logging in to work.

                          -allowedLoginRedirectPaths: List[str]
                          +allowedLoginRedirectPaths: List[str]

                          List of paths that are allowed to be used as redirect targets for the login page, in addition to the default ones (/, /recovery/ and /plugin/appkeys/auth/)

                          -commands: CommandsConfig
                          +commands: CommandsConfig

                          Commands to restart/shutdown octoprint or the system it’s running on.

                          -cookies: CookiesConfig
                          +cookies: CookiesConfig

                          Settings for further configuration of the cookies that OctoPrint sets (login, remember me, …).

                          -diskspace: DiskspaceConfig
                          +diskspace: DiskspaceConfig

                          Settings of when to display what disk space warning.

                          -firstRun: bool
                          +firstRun: bool

                          If this option is true, OctoPrint will show the First Run wizard and set the setting to false after that completes.

                          -heartbeat: int
                          +heartbeat: int
                          -host: Optional[str]
                          +host: str | None

                          Use this option to define the host to which to bind the server. If unset, OctoPrint will attempt to bind on all available interfaces, IPv4 and v6 unless either is disabled.

                          -ignoreIncompleteStartup: bool
                          +ignoreIncompleteStartup: bool

                          Set this to true to make OctoPrint ignore incomplete startups. Helpful for development.

                          -ipCheck: IpCheckConfig
                          +ipCheck: IpCheckConfig

                          Configuration of the client IP check to warn about connections from external networks.

                          -maxSize: int
                          +maxSize: int

                          Maximum size of requests other than file uploads in bytes, defaults to 100KB.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'allowFraming': FieldInfo(annotation=bool, required=False, default=False, description='Whether to allow OctoPrint to be embedded in a frame or not. Note that depending on your setup you might have to set SameSite to None, Secure to true and serve OctoPrint through a reverse proxy that enables https for cookies and thus logging in to work.'), 'allowedLoginRedirectPaths': FieldInfo(annotation=List[str], required=False, default=[], description='List of paths that are allowed to be used as redirect targets for the login page, in addition to the default ones (`/`, `/recovery/` and `/plugin/appkeys/auth/`)'), 'commands': FieldInfo(annotation=CommandsConfig, required=False, default=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), description="Commands to restart/shutdown octoprint or the system it's running on."), 'cookies': FieldInfo(annotation=CookiesConfig, required=False, default=CookiesConfig(secure=False, samesite='Lax'), description='Settings for further configuration of the cookies that OctoPrint sets (login, remember me, ...).'), 'diskspace': FieldInfo(annotation=DiskspaceConfig, required=False, default=DiskspaceConfig(warning=524288000, critical=209715200), description='Settings of when to display what disk space warning.'), 'firstRun': FieldInfo(annotation=bool, required=False, default=True, description='If this option is true, OctoPrint will show the First Run wizard and set the setting to false after that completes.'), 'heartbeat': FieldInfo(annotation=int, required=False, default=900), 'host': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Use this option to define the host to which to bind the server. If unset, OctoPrint will attempt to bind on all available interfaces, IPv4 and v6 unless either is disabled.'), 'ignoreIncompleteStartup': FieldInfo(annotation=bool, required=False, default=False, description='Set this to true to make OctoPrint ignore incomplete startups. Helpful for development.'), 'ipCheck': FieldInfo(annotation=IpCheckConfig, required=False, default=IpCheckConfig(enabled=True, trustedSubnets=[]), description='Configuration of the client IP check to warn about connections from external networks.'), 'maxSize': FieldInfo(annotation=int, required=False, default=102400, description='Maximum size of requests other than file uploads in bytes, defaults to 100KB.'), 'onlineCheck': FieldInfo(annotation=OnlineCheckConfig, required=False, default=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), description='Configuration of the regular online connectivity check.'), 'pluginBlacklist': FieldInfo(annotation=PluginBlacklistConfig, required=False, default=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), description='Configuration of the plugin blacklist.'), 'port': FieldInfo(annotation=int, required=False, default=5000, description='Use this option to define the port to which to bind the server.'), 'preemptiveCache': FieldInfo(annotation=PreemptiveCacheConfig, required=False, default=PreemptiveCacheConfig(exceptions=[], until=7), description='Configuration of the preemptive cache.'), 'pythonEolCheck': FieldInfo(annotation=PythonEolCheckConfig, required=False, default=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), description='Configuration of the Python EOL warning.'), 'reverseProxy': FieldInfo(annotation=ReverseProxyConfig, required=False, default=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), description="Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, ...) that doesn't correctly set the [required headers](https://community.octoprint.org/t/reverse-proxy-configuration-examples/1107). These are necessary in order to make OctoPrint generate correct external URLs so that AJAX requests and download URLs work, and so that client IPs are read correctly."), 'secretKey': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Secret key for encrypting cookies and such, randomly generated on first run.'), 'seenWizards': FieldInfo(annotation=Dict[str, str], required=False, default={}), 'startOnceInSafeMode': FieldInfo(annotation=bool, required=False, default=False, description='If this option is true, OctoPrint will enable safe mode on the next server start and reset the setting to false'), 'uploads': FieldInfo(annotation=UploadsConfig, required=False, default=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), description='Settings for file uploads to OctoPrint, such as maximum allowed file size and header suffixes to use for streaming uploads. OctoPrint does some nifty things internally in order to allow streaming of large file uploads to the application rather than just storing them in memory. For that it needs to do some rewriting of the incoming upload HTTP requests, storing the uploaded file to a temporary location on disk and then sending an internal request to the application containing the original filename and the location of the temporary file.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -onlineCheck: OnlineCheckConfig
                          +onlineCheck: OnlineCheckConfig

                          Configuration of the regular online connectivity check.

                          -pluginBlacklist: PluginBlacklistConfig
                          +pluginBlacklist: PluginBlacklistConfig

                          Configuration of the plugin blacklist.

                          -port: int
                          +port: int

                          Use this option to define the port to which to bind the server.

                          -preemptiveCache: PreemptiveCacheConfig
                          +preemptiveCache: PreemptiveCacheConfig

                          Configuration of the preemptive cache.

                          -pythonEolCheck: PythonEolCheckConfig
                          +pythonEolCheck: PythonEolCheckConfig

                          Configuration of the Python EOL warning.

                          -reverseProxy: ReverseProxyConfig
                          +reverseProxy: ReverseProxyConfig

                          //community.octoprint.org/t/reverse-proxy-configuration-examples/1107). These are necessary in order to make OctoPrint generate correct external URLs so that AJAX requests and download URLs work, and so that client IPs are read correctly.

                          -
                          Type
                          +
                          Type:

                          Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, …) that doesn’t correctly set the [required headers](https

                          @@ -3068,24 +4048,24 @@
                          -secretKey: Optional[str]
                          +secretKey: str | None

                          Secret key for encrypting cookies and such, randomly generated on first run.

                          -seenWizards: Dict[str, str]
                          +seenWizards: Dict[str, str]
                          -startOnceInSafeMode: bool
                          +startOnceInSafeMode: bool

                          If this option is true, OctoPrint will enable safe mode on the next server start and reset the setting to false

                          -uploads: UploadsConfig
                          +uploads: UploadsConfig

                          Settings for file uploads to OctoPrint, such as maximum allowed file size and header suffixes to use for streaming uploads. OctoPrint does some nifty things internally in order to allow streaming of large file uploads to the application rather than just storing them in memory. For that it needs to do some rewriting of the incoming upload HTTP requests, storing the uploaded file to a temporary location on disk and then sending an internal request to the application containing the original filename and the location of the temporary file.

                          @@ -3093,80 +4073,140 @@
                          -class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
                          +class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
                          -maxSize: int
                          +maxSize: int

                          Maximum size of uploaded files in bytes, defaults to 1GB.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'maxSize': FieldInfo(annotation=int, required=False, default=1073741824, description='Maximum size of uploaded files in bytes, defaults to 1GB.'), 'nameSuffix': FieldInfo(annotation=str, required=False, default='name', description='Suffix used for storing the filename in the file upload headers when streaming uploads.'), 'pathSuffix': FieldInfo(annotation=str, required=False, default='path', description='Suffix used for storing the path to the temporary file in the file upload headers when streaming uploads.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -nameSuffix: str
                          +nameSuffix: str

                          Suffix used for storing the filename in the file upload headers when streaming uploads.

                          -pathSuffix: str
                          +pathSuffix: str

                          Suffix used for storing the path to the temporary file in the file upload headers when streaming uploads.

                          -
                          +
                          -class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: Optional[str] = None, defaultProfiles: Dict[str, str] = {})
                          +class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: str | None = None, defaultProfiles: Dict[str, str] = {})
                          -defaultProfiles: Dict[str, str]
                          +defaultProfiles: Dict[str, str]

                          Default slicing profiles per slicer, maps slicer identifier to profile identifier.

                          -defaultSlicer: Optional[str]
                          +defaultSlicer: str | None

                          Default slicer to use.

                          -enabled: bool
                          +enabled: bool

                          Whether to enable slicing support or not.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'defaultProfiles': FieldInfo(annotation=Dict[str, str], required=False, default={}, description='Default slicing profiles per slicer, maps slicer identifier to profile identifier.'), 'defaultSlicer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Default slicer to use.'), 'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable slicing support or not.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -
                          +
                          -class octoprint.schema.config.system.ActionConfig(*, action: str, name: Optional[str] = None, command: Optional[str] = None, confirm: Optional[str] = None, **extra_data: Any)
                          +class octoprint.schema.config.system.ActionConfig(*, action: str, name: str | None = None, command: str | None = None, async_: bool = False, confirm: str | None = None)
                          -action: str
                          +action: str

                          The identifier used internally to identify the action. Set to divider to generate a divider in the menu.

                          -async_: bool
                          +async_: bool

                          Whether to run the command asynchronously.

                          -command: Optional[str]
                          +command: str | None

                          The command to execute when the action is selected. Must be set if the action is not a divider.

                          -confirm: Optional[str]
                          +confirm: str | None

                          An optional confirmation message to show before executing the command.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'action': FieldInfo(annotation=str, required=True, description='The identifier used internally to identify the action. Set to `divider` to generate a divider in the menu.'), 'async_': FieldInfo(annotation=bool, required=False, default=False, alias='async', alias_priority=2, description='Whether to run the command asynchronously.'), 'command': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The command to execute when the action is selected. Must be set if the action is not a divider.'), 'confirm': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='An optional confirmation message to show before executing the command.'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The name of the action that will be shown on the menu. Must be set if the action is not a divider.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: Optional[str]
                          +name: str | None

                          The name of the action that will be shown on the menu. Must be set if the action is not a divider.

                          @@ -3174,39 +4214,79 @@
                          -class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
                          +class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
                          -actions: List[ActionConfig]
                          +actions: List[ActionConfig]

                          A list of system actions to show in the UI.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'actions': FieldInfo(annotation=List[ActionConfig], required=False, default=[], description='A list of system actions to show in the UI.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -
                          +
                          -class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
                          +class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
                          -cutoff: int
                          +cutoff: int

                          Cut off time for the temperature data, in minutes.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'cutoff': FieldInfo(annotation=int, required=False, default=30, description='Cut off time for the temperature data, in minutes.'), 'profiles': FieldInfo(annotation=List[TemperatureProfile], required=False, default=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], description='Temperature profiles to offer in the UI for quick pre-heating.'), 'sendAutomatically': FieldInfo(annotation=bool, required=False, default=False, description='Whether to send new temperature settings made in the UI automatically.'), 'sendAutomaticallyAfter': FieldInfo(annotation=int, required=False, default=1, description='After what time to send the new temperature settings automatically, in seconds.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -profiles: List[TemperatureProfile]
                          +profiles: List[TemperatureProfile]

                          Temperature profiles to offer in the UI for quick pre-heating.

                          -sendAutomatically: bool
                          +sendAutomatically: bool

                          Whether to send new temperature settings made in the UI automatically.

                          -sendAutomaticallyAfter: int
                          +sendAutomaticallyAfter: int

                          After what time to send the new temperature settings automatically, in seconds.

                          @@ -3214,42 +4294,82 @@
                          -class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
                          +class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
                          -bed: int
                          +bed: int

                          Bed temperature to set with the profile.

                          -extruder: int
                          +extruder: int

                          Hotend temperature to set with the profile.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bed': FieldInfo(annotation=int, required=True, description='Bed temperature to set with the profile.'), 'extruder': FieldInfo(annotation=int, required=True, description='Hotend temperature to set with the profile.'), 'name': FieldInfo(annotation=str, required=True, description='Name of the profile.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: str
                          +name: str

                          Name of the profile.

                          -
                          +
                          -class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
                          +class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'name': FieldInfo(annotation=str, required=True, description='The name of the filter.'), 'regex': FieldInfo(annotation=str, required=True, description='The regular expression to match. Use [JavaScript regular expressions](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions).')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          + +
                          -name: str
                          +name: str

                          The name of the filter.

                          -regex: str
                          +regex: str

                          //developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions).

                          -
                          Type
                          +
                          Type:

                          The regular expression to match. Use [JavaScript regular expressions](https

                          @@ -3257,62 +4377,82 @@
                          -
                          +
                          -class octoprint.schema.config.webcam.RenderAfterPrintEnum(value)
                          +class octoprint.schema.config.webcam.RenderAfterPrintEnum(value)

                          An enumeration.

                          -always = 'always'
                          +always = 'always'
                          -failure = 'failure'
                          +failure = 'failure'
                          -off = 'off'
                          +off = 'off'
                          -success = 'success'
                          +success = 'success'
                          -class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, renderAfterPrint: RenderAfterPrintEnum = RenderAfterPrintEnum.always, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
                          +class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, renderAfterPrint: RenderAfterPrintEnum = RenderAfterPrintEnum.always, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
                          -fps: int
                          +fps: int

                          The framerate at which to render the movie.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'fps': FieldInfo(annotation=int, required=False, default=25, description='The framerate at which to render the movie.'), 'options': FieldInfo(annotation=TimelapseOptions, required=False, default=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None), description='Additional options depending on the timelapse type.'), 'postRoll': FieldInfo(annotation=int, required=False, default=0, description='The number of seconds in the rendered video to add after a finished print. The exact way how the additional images will be recorded depends on timelapse type. `zchange` timelapses will take one final picture and add it `fps * postRoll` times. `timed` timelapses continue to record just like at the beginning, so the recording will continue another `fps * postRoll * interval` seconds. This behaviour can be overridden by setting the `capturePostRoll` option to `false`, in which case the post roll will be created identically to `zchange` mode.'), 'renderAfterPrint': FieldInfo(annotation=RenderAfterPrintEnum, required=False, default=<RenderAfterPrintEnum.always: 'always'>, description='Determines whether rendering the timelapse should be done automatically after the print is finished. This can be done always, only after successful prints, only after failed prints, or never.'), 'type': FieldInfo(annotation=TimelapseTypeEnum, required=False, default=<TimelapseTypeEnum.off: 'off'>, description='The timelapse type.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -options: TimelapseOptions
                          +options: TimelapseOptions

                          Additional options depending on the timelapse type.

                          -postRoll: int
                          +postRoll: int

                          The number of seconds in the rendered video to add after a finished print. The exact way how the additional images will be recorded depends on timelapse type. zchange timelapses will take one final picture and add it fps * postRoll times. timed timelapses continue to record just like at the beginning, so the recording will continue another fps * postRoll * interval seconds. This behaviour can be overridden by setting the capturePostRoll option to false, in which case the post roll will be created identically to zchange mode.

                          -renderAfterPrint: RenderAfterPrintEnum
                          +renderAfterPrint: RenderAfterPrintEnum

                          Determines whether rendering the timelapse should be done automatically after the print is finished. This can be done always, only after successful prints, only after failed prints, or never.

                          -type: TimelapseTypeEnum
                          +type: TimelapseTypeEnum

                          The timelapse type.

                          @@ -3320,13 +4460,13 @@
                          -class octoprint.schema.config.webcam.TimelapseOptions(*, interval: Optional[int] = None, capturePostRoll: Optional[bool] = None, retractionZHop: Optional[float] = None)
                          +class octoprint.schema.config.webcam.TimelapseOptions(*, interval: int | None = None, capturePostRoll: bool | None = None, retractionZHop: float | None = None)
                          -capturePostRoll: Optional[bool]
                          +capturePostRoll: bool | None

                          Whether to capture the snapshots for the post roll (true) or just copy the last captured snapshot from the print over and over again (false).

                          -
                          Type
                          +
                          Type:

                          timed timelapses only

                          @@ -3334,21 +4474,41 @@
                          -interval: Optional[int]
                          +interval: int | None

                          The interval which to leave between images in seconds.

                          -
                          Type
                          +
                          Type:

                          timed timelapses only

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'capturePostRoll': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, description='`timed` timelapses only: Whether to capture the snapshots for the post roll (true) or just copy the last captured snapshot from the print over and over again (false).'), 'interval': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='`timed` timelapses only: The interval which to leave between images in seconds.'), 'retractionZHop': FieldInfo(annotation=Union[float, NoneType], required=False, default=None, description='`zchange` timelapses only: z-hop height during retractions to ignore for capturing snapshots.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -retractionZHop: Optional[float]
                          +retractionZHop: float | None

                          z-hop height during retractions to ignore for capturing snapshots.

                          -
                          Type
                          +
                          Type:

                          zchange timelapses only

                          @@ -3358,101 +4518,121 @@
                          -class octoprint.schema.config.webcam.TimelapseTypeEnum(value)
                          +class octoprint.schema.config.webcam.TimelapseTypeEnum(value)

                          An enumeration.

                          -off = 'off'
                          +off = 'off'
                          -timed = 'timed'
                          +timed = 'timed'
                          -zchange = 'zchange'
                          +zchange = 'zchange'
                          -class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: ~typing.Optional[str] = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: ~octoprint.schema.config.webcam.TimelapseConfig = TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, renderAfterPrint=<RenderAfterPrintEnum.always: 'always'>, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
                          +class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: str | None = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: TimelapseConfig = TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
                          -bitrate: str
                          +bitrate: str

                          The bitrate to use for rendering the timelapse video. This gets directly passed to ffmpeg.

                          -cleanTmpAfterDays: int
                          +cleanTmpAfterDays: int

                          After how many days unrendered timelapses will be deleted.

                          -defaultWebcam: str
                          +defaultWebcam: str

                          The name of the default webcam

                          -ffmpeg: Optional[str]
                          +ffmpeg: str | None

                          Path to ffmpeg binary to use for creating timelapse recordings. Timelapse support will be disabled if not set.

                          -ffmpegCommandline: str
                          +ffmpegCommandline: str
                          -ffmpegThreads: int
                          +ffmpegThreads: int

                          Number of how many threads to instruct ffmpeg to use for encoding.

                          -ffmpegThumbnailCommandline: str
                          +ffmpegThumbnailCommandline: str
                          -ffmpegVideoCodec: str
                          +ffmpegVideoCodec: str

                          Videocodec to be used for encoding.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bitrate': FieldInfo(annotation=str, required=False, default='10000k', description='The bitrate to use for rendering the timelapse video. This gets directly passed to ffmpeg.'), 'cleanTmpAfterDays': FieldInfo(annotation=int, required=False, default=7, description='After how many days unrendered timelapses will be deleted.'), 'defaultWebcam': FieldInfo(annotation=str, required=False, default='classic', description='The name of the default webcam'), 'ffmpeg': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Path to ffmpeg binary to use for creating timelapse recordings. Timelapse support will be disabled if not set.'), 'ffmpegCommandline': FieldInfo(annotation=str, required=False, default='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"'), 'ffmpegThreads': FieldInfo(annotation=int, required=False, default=1, description='Number of how many threads to instruct ffmpeg to use for encoding.'), 'ffmpegThumbnailCommandline': FieldInfo(annotation=str, required=False, default='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"'), 'ffmpegVideoCodec': FieldInfo(annotation=str, required=False, default='libx264', description='Videocodec to be used for encoding.'), 'snapshotWebcam': FieldInfo(annotation=str, required=False, default='classic', description='The name of the default webcam to use for snapshots'), 'timelapse': FieldInfo(annotation=TimelapseConfig, required=False, default=TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), description='The default timelapse settings.'), 'timelapseEnabled': FieldInfo(annotation=bool, required=False, default=True, description='Use this option to enable timelapse support via snapshot, e.g. via MJPG-Streamer. Timelapse support will be disabled if not set.'), 'watermark': FieldInfo(annotation=bool, required=False, default=True, description='Whether to include a "created with OctoPrint" watermark in the generated timelapse recordings.'), 'webcamEnabled': FieldInfo(annotation=bool, required=False, default=True, description='Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer. Webcam support will be disabled if not set.')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -snapshotWebcam: str
                          +snapshotWebcam: str

                          The name of the default webcam to use for snapshots

                          -timelapse: TimelapseConfig
                          +timelapse: TimelapseConfig

                          The default timelapse settings.

                          -timelapseEnabled: bool
                          +timelapseEnabled: bool

                          Use this option to enable timelapse support via snapshot, e.g. via MJPG-Streamer. Timelapse support will be disabled if not set.

                          -watermark: bool
                          +watermark: bool

                          Whether to include a “created with OctoPrint” watermark in the generated timelapse recordings.

                          -webcamEnabled: bool
                          +webcamEnabled: bool

                          Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer. Webcam support will be disabled if not set.

                          @@ -3460,77 +4640,97 @@
                          -

                          octoprint.schema.webcam

                          +

                          octoprint.schema.webcam

                          -class octoprint.schema.webcam.RatioEnum(value)
                          +class octoprint.schema.webcam.RatioEnum(value)

                          An enumeration.

                          -four_three = '4:3'
                          +four_three = '4:3'
                          -sixteen_nine = '16:9'
                          +sixteen_nine = '16:9'
                          -class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: Optional[WebcamCompatibility] = None)
                          +class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: WebcamCompatibility | None = None)
                          -canSnapshot: bool
                          +canSnapshot: bool

                          Whether this webcam can take a snapshot.

                          -compat: Optional[WebcamCompatibility]
                          +compat: WebcamCompatibility | None

                          A compatibility configuration to allow older clients to make use of this webcam

                          -displayName: str
                          +displayName: str

                          Displayable name for this webcam

                          -extras: dict
                          +extras: dict

                          Unstructured data describing this webcam

                          -flipH: bool
                          +flipH: bool

                          Whether to flip the webcam horizontally.

                          -flipV: bool
                          +flipV: bool

                          Whether to flip the webcam vertically.

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'canSnapshot': FieldInfo(annotation=bool, required=False, default=False, description='Whether this webcam can take a snapshot.'), 'compat': FieldInfo(annotation=Union[WebcamCompatibility, NoneType], required=False, default=None, description='A compatibility configuration to allow older clients to make use of this webcam'), 'displayName': FieldInfo(annotation=str, required=True, description='Displayable name for this webcam'), 'extras': FieldInfo(annotation=dict, required=False, default={}, description='Unstructured data describing this webcam'), 'flipH': FieldInfo(annotation=bool, required=False, default=False, description='Whether to flip the webcam horizontally.'), 'flipV': FieldInfo(annotation=bool, required=False, default=False, description='Whether to flip the webcam vertically.'), 'name': FieldInfo(annotation=str, required=True, description='Identifier of this webcam'), 'rotate90': FieldInfo(annotation=bool, required=False, default=False, description='Whether to rotate the webcam 90° counter clockwise.'), 'snapshotDisplay': FieldInfo(annotation=str, required=False, default=None, description='Human readable information about how a snapshot is captured or a HTTP URL from which the snapshot is loaded (optional, only for user reference)')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -name: str
                          +name: str

                          Identifier of this webcam

                          -rotate90: bool
                          +rotate90: bool

                          Whether to rotate the webcam 90° counter clockwise.

                          -snapshotDisplay: str
                          +snapshotDisplay: str

                          Human readable information about how a snapshot is captured or a HTTP URL from which the snapshot is loaded (optional, only for user reference)

                          @@ -3538,52 +4738,72 @@
                          -class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
                          +class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
                          -cacheBuster: bool
                          +cacheBuster: bool

                          Whether the URL should be randomized to bust caches

                          +
                          +
                          +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                          +

                          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                          +
                          + +
                          +
                          +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                          +

                          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                          +
                          + +
                          +
                          +model_fields: ClassVar[Dict[str, FieldInfo]] = {'cacheBuster': FieldInfo(annotation=bool, required=False, default=False, description='Whether the URL should be randomized to bust caches'), 'snapshot': FieldInfo(annotation=str, required=False, default=None, description='The URL to get the snapshot from'), 'snapshotSslValidation': FieldInfo(annotation=bool, required=False, default=True, description='Whether to validate SSL certificates when retrieving a snapshot'), 'snapshotTimeout': FieldInfo(annotation=int, required=False, default=5, description='The timeout when retrieving snapshots'), 'stream': FieldInfo(annotation=str, required=True, description='The URL to get an MJPEG stream from'), 'streamRatio': FieldInfo(annotation=RatioEnum, required=False, default=<RatioEnum.sixteen_nine: '16:9'>, description="The stream's native aspect ratio"), 'streamTimeout': FieldInfo(annotation=int, required=False, default=5, description='The timeout of the stream in seconds'), 'streamWebrtcIceServers': FieldInfo(annotation=List[str], required=False, default=['stun:stun.l.google.com:19302'], description='The WebRTC STUN and TURN servers')}
                          +

                          Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                          +

                          This replaces Model.__fields__ from Pydantic V1.

                          +
                          +
                          -snapshot: str
                          +snapshot: str

                          The URL to get the snapshot from

                          -snapshotSslValidation: bool
                          +snapshotSslValidation: bool

                          Whether to validate SSL certificates when retrieving a snapshot

                          -snapshotTimeout: int
                          +snapshotTimeout: int

                          The timeout when retrieving snapshots

                          -stream: str
                          +stream: str

                          The URL to get an MJPEG stream from

                          -streamRatio: RatioEnum
                          +streamRatio: RatioEnum

                          The stream’s native aspect ratio

                          -streamTimeout: int
                          +streamTimeout: int

                          The timeout of the stream in seconds

                          -streamWebrtcIceServers: List[str]
                          +streamWebrtcIceServers: List[str]

                          The WebRTC STUN and TURN servers

                          diff --git a/devel/modules/server.html b/devel/modules/server.html index d6c37328b..b12ce2890 100644 --- a/devel/modules/server.html +++ b/devel/modules/server.html @@ -1,26 +1,26 @@ - + - + octoprint.server — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -118,7 +118,6 @@
                        • OctoPrintFlaskResponse
                        • @@ -141,6 +140,12 @@
                        • PrefixAwareJinjaEnvironment.join_path()
                      • +
                      • ReverseProxyInfo +
                      • SettingsCheckUpdater
                        • SettingsCheckUpdater.build_done()
                        • SettingsCheckUpdater.needs_rebuild()
                        • @@ -330,61 +335,61 @@
                          -

                          octoprint.server

                          +

                          octoprint.server

                          -exception octoprint.server.CannotStartServerException
                          +exception octoprint.server.CannotStartServerException
                          -class octoprint.server.OctoPrintAnonymousIdentity
                          +class octoprint.server.OctoPrintAnonymousIdentity
                          -

                          octoprint.server.util

                          +

                          octoprint.server.util

                          -octoprint.server.util.corsRequestHandler()
                          +octoprint.server.util.corsRequestHandler()

                          before_request handler for blueprints which sets CORS headers for OPTIONS requests if enabled

                          -octoprint.server.util.corsResponseHandler(resp)
                          +octoprint.server.util.corsResponseHandler(resp)

                          after_request handler for blueprints for which CORS is supported.

                          Sets Access-Control-Allow-Origin headers for Origin request header on response.

                          -octoprint.server.util.csrfRequestHandler()
                          +octoprint.server.util.csrfRequestHandler()

                          before_request handler for blueprints which checks for CRFS double token on relevant requests & methods.

                          -octoprint.server.util.csrfResponseHandler(resp)
                          +octoprint.server.util.csrfResponseHandler(resp)

                          after_request handler for updating the CSRF cookie on each response.

                          -octoprint.server.util.get_api_key(request: Union[Request, tornado.httputil.HTTPServerRequest]) Optional[str]
                          +octoprint.server.util.get_api_key(request: Request | tornado.httputil.HTTPServerRequest) str | None

                          Extracts the API key from the given request.

                          The request may be a Flask or Tornado request object. Attempts will be made to read the API key from the “apikey” request parameter, the “X-Api-Key” header, or the “Authorization” header in “Bearer” mode.

                          -
                          Parameters
                          +
                          Parameters:

                          request – the request object, either a Flask or a Tornado request

                          -
                          Returns
                          +
                          Returns:

                          the API key, or None if not found

                          -
                          Return type
                          +
                          Return type:

                          str

                          @@ -392,7 +397,7 @@
                          -octoprint.server.util.get_user_for_apikey(apikey, remote_address: Optional[str] = None) Optional[User]
                          +octoprint.server.util.get_user_for_apikey(apikey, remote_address: str | None = None) User | None

                          Tries to find a user based on the given API key.

                          Will only perform any action if the API key is not None and not empty.

                          If the API key is the cli key and the client’s address is a loopback address, @@ -401,16 +406,16 @@

                          If the API key is neither, the key will be passed to all registered key validators and the first non-None result will be returned.

                          -
                          Parameters
                          +
                          Parameters:
                          • apikey (str) – the API key to check

                          • remote_address (str) – the remote address of the client, optional

                          -
                          Returns
                          +
                          Returns:

                          the user found, or None if none was found

                          -
                          Return type
                          +
                          Return type:

                          octoprint.access.users.User

                          @@ -418,13 +423,13 @@
                          -octoprint.server.util.get_user_for_authorization_header(request: Request, header: str = 'Authorization') Optional[User]
                          +octoprint.server.util.get_user_for_authorization_header(request: Request, header: str = 'Authorization') User | None

                          Tries to find a user based on the Authorization request header.

                          Will only perform any action if the trustBasicAuthentication setting is enabled.

                          If configured accordingly, will also check if the password used for the Basic Authentication matches the one stored for the user.

                          -
                          Parameters
                          +
                          Parameters:
                          • request – the request object

                          • header (str) – the header to check for the authorization header, defaults to “Authorization”

                          • @@ -435,18 +440,18 @@
                            -octoprint.server.util.get_user_for_remote_user_header(request: Request) Optional[User]
                            +octoprint.server.util.get_user_for_remote_user_header(request: Request) User | None

                            Tries to find a user based on the configured remote user request header.

                            Will only perform any action if the trustRemoteUser setting is enabled.

                            -octoprint.server.util.has_permissions(*permissions)
                            +octoprint.server.util.has_permissions(*permissions)

                            Determines if the current user (either from the session, api key or authorization header) has all of the requested permissions.

                            -
                            Parameters
                            +
                            Parameters:

                            *permissions – list of all permissions required to pass the check

                            @@ -455,7 +460,7 @@
                            -octoprint.server.util.noCachingExceptGetResponseHandler(resp)
                            +octoprint.server.util.noCachingExceptGetResponseHandler(resp)

                            after_request handler for blueprints which shall set no caching headers on their responses to any requests that are not sent with method GET.

                            See noCachingResponseHandler().

                            @@ -463,7 +468,7 @@
                            -octoprint.server.util.noCachingResponseHandler(resp)
                            +octoprint.server.util.noCachingResponseHandler(resp)

                            after_request handler for blueprints which shall set no caching headers on their responses.

                            Sets Cache-Control, Pragma and Expires headers accordingly @@ -472,16 +477,16 @@

                            -octoprint.server.util.optionsAllowOrigin(request)
                            +octoprint.server.util.optionsAllowOrigin(request)

                            Shortcut for request handling for CORS OPTIONS requests to set CORS headers.

                            -octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)
                            +octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)

                            Requires a login with fresh credentials.

                            -
                            Parameters
                            +
                            Parameters:
                            • permissions – list of all permissions required to pass the check

                            • user_id – required user to pass the check

                            • @@ -493,11 +498,11 @@
                              -octoprint.server.util.require_login(*permissions)
                              +octoprint.server.util.require_login(*permissions)

                              Returns a redirect response to the login view if the permission requirements are not met.

                              -
                              Parameters
                              +
                              Parameters:

                              *permissions – a list of permissions required to pass the check

                              @@ -506,10 +511,10 @@
                              -octoprint.server.util.require_login_with(permissions=None, user_id=None)
                              +octoprint.server.util.require_login_with(permissions=None, user_id=None)

                              Requires a login with the given permissions and/or user id.

                              -
                              Parameters
                              +
                              Parameters:
                              • permissions – list of all permissions required to pass the check

                              • user_id – required user to pass the check

                              • @@ -521,22 +526,22 @@
                                -octoprint.server.util.validate_local_redirect(url, allowed_paths)
                                +octoprint.server.util.validate_local_redirect(url, allowed_paths)

                                Validates the given local redirect URL against the given allowed paths.

                                An url is valid for a local redirect if it has neither scheme nor netloc defined, and its path is one of the given allowed paths.

                                -
                                Parameters
                                +
                                Parameters:
                                • url (str) – URL to validate

                                • allowed_paths (List[str]) – List of allowed paths, only paths contained or prefixed (if allowed path ends with “*”) will be considered valid.

                                -
                                Returns
                                +
                                Returns:

                                Whether the url passed validation or not.

                                -
                                Return type
                                +
                                Return type:

                                bool

                                @@ -544,19 +549,19 @@
                          -

                          octoprint.server.util.flask

                          +

                          octoprint.server.util.flask

                          -class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)
                          +class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)

                          Slightly improved version of SimpleCache.

                          Setting default_timeout or timeout to -1 will have no timeout be applied at all.

                          -add(key, value, timeout=None)
                          +add(key, value, timeout=None)

                          Works like set() but does not overwrite the values of already existing keys.

                          -
                          Parameters
                          +
                          Parameters:
                          • key – the key to set

                          • value – the value for the key

                          • @@ -565,11 +570,11 @@ 0 indicates that the cache never expires.

                          -
                          Returns
                          +
                          Returns:

                          Same as set(), but also False for already existing keys.

                          -
                          Return type
                          +
                          Return type:

                          boolean

                          @@ -577,16 +582,16 @@
                          -delete(key)
                          +delete(key)

                          Delete key from the cache.

                          -
                          Parameters
                          +
                          Parameters:

                          key – the key to delete.

                          -
                          Returns
                          +
                          Returns:

                          Whether the key existed and has been deleted.

                          -
                          Return type
                          +
                          Return type:

                          boolean

                          @@ -594,13 +599,13 @@
                          -get(key)
                          +get(key)

                          Look up key in the cache and return the value for it.

                          -
                          Parameters
                          +
                          Parameters:

                          key – the key to be looked up.

                          -
                          Returns
                          +
                          Returns:

                          The value if it exists and is readable, else None.

                          @@ -608,11 +613,11 @@
                          -set(key, value, timeout=None)
                          +set(key, value, timeout=None)

                          Add a new key/value to the cache (overwrites value, if key already exists in the cache).

                          -
                          Parameters
                          +
                          Parameters:
                          • key – the key to set

                          • value – the value for the key

                          • @@ -621,12 +626,12 @@ 0 indicates that the cache never expires.

                          -
                          Returns
                          +
                          Returns:

                          True if key has been updated, False for backend errors. Pickling errors, however, will raise a subclass of pickle.PickleError.

                          -
                          Return type
                          +
                          Return type:

                          boolean

                          @@ -636,23 +641,23 @@
                          -class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
                          +class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
                          -property cookies
                          +property cookies

                          A dict with the contents of all cookies transmitted with the request.

                          -property server_name
                          +property server_name

                          Short cut to the request’s server name header

                          -property server_port
                          +property server_port

                          Short cut to the request’s server port header

                          @@ -660,13 +665,13 @@
                          -class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Optional[Union[Iterable[bytes], bytes, Iterable[str], str]] = None, status: Optional[Union[int, str, HTTPStatus]] = None, headers: Optional[Union[Mapping[str, Union[str, int, Iterable[Union[str, int]]]], Iterable[Tuple[str, Union[str, int]]]]] = None, mimetype: Optional[str] = None, content_type: Optional[str] = None, direct_passthrough: bool = False)
                          +class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Iterable[bytes] | bytes | Iterable[str] | str | None = None, status: int | str | HTTPStatus | None = None, headers: Mapping[str, str | Iterable[str]] | Iterable[tuple[str, str]] | None = None, mimetype: str | None = None, content_type: str | None = None, direct_passthrough: bool = False)
                          +delete_cookie(key, path='/', domain=None)

                          Delete a cookie. Fails silently if key doesn’t exist.

                          -
                          Parameters
                          +
                          Parameters:
                          • key – the key (name) of the cookie to be deleted.

                          • path – if the cookie that should be deleted was limited to a @@ -683,25 +688,14 @@

                          -
                          -
                          -response: Union[Iterable[str], Iterable[bytes]]
                          -

                          The response body to send as the WSGI iterable. A list of strings -or bytes represents a fixed-length response, any other iterable -is a streaming response. Strings are encoded to bytes as UTF-8.

                          -

                          Do not set to a plain string or bytes, that will cause sending -the response to be very inefficient as it will iterate one byte -at a time.

                          -
                          -
                          +set_cookie(key, value='', *args, **kwargs)

                          Sets a cookie.

                          A warning is raised if the size of the cookie header exceeds max_cookie_size, but the header will still be set.

                          -
                          Parameters
                          +
                          Parameters:
                          • key – the key (name) of the cookie to be set.

                          • value – the value of the cookie.

                          • @@ -712,7 +706,7 @@
                          • path – limits the cookie to a given path, per default it will span the whole domain.

                          • domain – if you want to set a cross-domain cookie. For example, -domain=".example.com" will set a cookie that is +domain="example.com" will set a cookie that is readable by the domain www.example.com, foo.example.com etc. Otherwise, a cookie will only be readable by the domain that set it.

                          • @@ -730,21 +724,21 @@
                            -class octoprint.server.util.flask.OctoPrintJsonProvider(app: Flask)
                            +class octoprint.server.util.flask.OctoPrintJsonProvider(app: App)
                            -static default(object_)
                            +static default(object_)
                            -dumps(obj: Any, **kwargs: Any) str
                            +dumps(obj: Any, **kwargs: Any) str

                            Serialize data as JSON to a string.

                            Keyword arguments are passed to json.dumps(). Sets some parameter defaults from the default, ensure_ascii, and sort_keys attributes.

                            -
                            Parameters
                            +
                            Parameters:
                            • obj – The data to serialize.

                            • kwargs – Passed to json.dumps().

                            • @@ -757,10 +751,10 @@
                              -class octoprint.server.util.flask.OctoPrintSessionInterface
                              +class octoprint.server.util.flask.OctoPrintSessionInterface
                              -save_session(app, session, response)
                              +save_session(app, session, response)

                              This is called at the end of each request, after generating a response, before removing the request context. It is skipped if is_null_session() returns True.

                              @@ -768,7 +762,7 @@
                              +should_set_cookie(app, session)

                              Used by session backends to determine if a Set-Cookie header should be set for this session cookie for this response. If the session has been modified, the cookie is set. If the session is permanent and @@ -776,7 +770,7 @@ always set.

                              This check is usually skipped if the session was deleted.

                              -

                              New in version 0.11.

                              +

                              Added in version 0.11.

                              @@ -784,10 +778,10 @@
                              -class octoprint.server.util.flask.PluginAssetResolver
                              +class octoprint.server.util.flask.PluginAssetResolver
                              -resolve_output_to_path(ctx, target, bundle)
                              +resolve_output_to_path(ctx, target, bundle)

                              Given target, this has to return the absolute filesystem path to which the output file of bundle should be written.

                              @@ -799,7 +793,7 @@
                              -split_prefix(ctx, item)
                              +split_prefix(ctx, item)

                              See if item has blueprint prefix, return (directory, rel_path).

                              @@ -807,10 +801,10 @@
                              -class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
                              +class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
                              -join_path(template, parent)
                              +join_path(template, parent)

                              Join a template with the parent. By default all the lookups are relative to the loader root so this method returns the template parameter unchanged, but if the paths should be relative to the @@ -822,18 +816,43 @@

                              +
                              +
                              +class octoprint.server.util.flask.ReverseProxyInfo(*, client_ip: str, server_protocol: str, server_name: str, server_port: int, server_path: str, cookie_suffix: str, trusted_proxies: List[str] = [], headers: Dict[str, str] = {})
                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'client_ip': FieldInfo(annotation=str, required=True), 'cookie_suffix': FieldInfo(annotation=str, required=True), 'headers': FieldInfo(annotation=Dict[str, str], required=False, default={}), 'server_name': FieldInfo(annotation=str, required=True), 'server_path': FieldInfo(annotation=str, required=True), 'server_port': FieldInfo(annotation=int, required=True), 'server_protocol': FieldInfo(annotation=str, required=True), 'trusted_proxies': FieldInfo(annotation=List[str], required=False, default=[])}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              +
                              -class octoprint.server.util.flask.SettingsCheckUpdater
                              +class octoprint.server.util.flask.SettingsCheckUpdater
                              -build_done(bundle, ctx)
                              +build_done(bundle, ctx)

                              This will be called once a bundle has been successfully built.

                              -needs_rebuild(bundle, ctx)
                              +needs_rebuild(bundle, ctx)

                              Returns True if the given bundle needs to be rebuilt, False otherwise.

                              @@ -842,23 +861,23 @@
                              -octoprint.server.util.flask.check_lastmodified(lastmodified: Union[int, float, datetime]) bool
                              +octoprint.server.util.flask.check_lastmodified(lastmodified: int | float | datetime) bool

                              Compares the provided lastmodified value with the value of the If-Modified-Since header.

                              If lastmodified is an int or float, it’s assumed to be a Unix timestamp and converted to a timezone aware datetime instance in UTC.

                              If lastmodified is a datetime instance, it needs to be timezone aware or the result will always be False.

                              -
                              Parameters
                              +
                              Parameters:

                              lastmodified (Union[int, float, datetime]) – The last modified value to compare against

                              -
                              Raises
                              +
                              Raises:

                              ValueError – If anything but an int, float or datetime instance is passed

                              -
                              Returns
                              +
                              Returns:

                              true if the values indicate that the document is still up to date

                              -
                              Return type
                              +
                              Return type:

                              bool

                              @@ -866,7 +885,7 @@
                              -octoprint.server.util.flask.firstrun_only_access(func)
                              +octoprint.server.util.flask.firstrun_only_access(func)

                              If you decorate a view with this, it will ensure that first setup has _not_ been done for OctoPrint’s Access Control. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                              @@ -874,7 +893,7 @@
                              +octoprint.server.util.flask.get_cookie_suffix(request)

                              Request specific suffix for set and read cookies

                              We need this because cookies are not port-specific and we don’t want to overwrite our session and other cookies from one OctoPrint instance on our machine with those of another @@ -883,14 +902,14 @@

                              -octoprint.server.util.flask.get_flask_user_from_request(request)
                              +octoprint.server.util.flask.get_flask_user_from_request(request)

                              Retrieves the current flask user from the request context. Uses API key if available, otherwise the current user session if available.

                              -
                              Parameters
                              +
                              Parameters:

                              request – flask request from which to retrieve the current user

                              -
                              Returns
                              +
                              Returns:

                              the user (might be an anonymous user)

                              @@ -898,12 +917,12 @@
                              -octoprint.server.util.flask.make_api_error(message, status)
                              +octoprint.server.util.flask.make_api_error(message, status)

                              Helper to generate API error responses in JSON format.

                              Turns something like make_api_error("Not Found", 404) into a JSON response with body {"error": "Not Found"}.

                              -
                              Parameters
                              +
                              Parameters:
                              • message – The error message to put into the response

                              • status – The HTTP status code

                              • @@ -915,12 +934,12 @@
                                -octoprint.server.util.flask.make_text_response(message, status)
                                +octoprint.server.util.flask.make_text_response(message, status)

                                Helper to generate basic text responses.

                                Response will have the provided message as body, the provided status code, and a content type of “text/plain”.

                                -
                                Parameters
                                +
                                Parameters:
                                • message – The message in the response body

                                • status – The HTTP status code

                                • @@ -932,7 +951,7 @@
                                  -octoprint.server.util.flask.no_firstrun_access(func)
                                  +octoprint.server.util.flask.no_firstrun_access(func)

                                  If you decorate a view with this, it will ensure that first setup has been done for OctoPrint’s Access Control.

                                  If OctoPrint’s Access Control has not been setup yet (indicated by the userManager @@ -942,12 +961,12 @@

                                  -octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)
                                  +octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)

                                  Validates that the given request is made by an authorized user, identified either by API key or existing Flask session, and that the credentials have been checked recently if it’s a Flask session.

                                  Must be executed in an existing Flask request context!

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • request – The Flask request object

                                  • request – The required permission

                                  • @@ -958,12 +977,12 @@
                                    -octoprint.server.util.flask.permission_validator(request, permission)
                                    +octoprint.server.util.flask.permission_validator(request, permission)

                                    Validates that the given request is made by an authorized user, identified either by API key or existing Flask session.

                                    Must be executed in an existing Flask request context!

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • request – The Flask request object

                                    • request – The required permission

                                    • @@ -974,17 +993,17 @@
                                      -octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)
                                      +octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)

                                      Redirects from flask to tornado, flask request context must exist.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                        -
                                      • request

                                      • -
                                      • target

                                      • -
                                      • code

                                      • +
                                      • request

                                      • +
                                      • target

                                      • +
                                      • code

                                      -
                                      Returns
                                      +
                                      Returns:

                                      @@ -992,7 +1011,7 @@
                                      -octoprint.server.util.flask.require_credentials_checked_recently(func)
                                      +octoprint.server.util.flask.require_credentials_checked_recently(func)

                                      If you decorate a view with this, it will ensure that only users who entered their password recently in this login session are allowed to proceed. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                                      @@ -1000,19 +1019,19 @@
                                      -octoprint.server.util.flask.restricted_access(func)
                                      +octoprint.server.util.flask.restricted_access(func)

                                      This combines no_firstrun_access() and login_required.

                          -

                          octoprint.server.util.sockjs

                          +

                          octoprint.server.util.sockjs

                          -class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
                          +class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
                          -remove_handler(handler)
                          +remove_handler(handler)

                          Detach active handler from the session

                          handler

                          Handler to remove

                          @@ -1022,7 +1041,7 @@
                          -set_handler(handler, start_heartbeat=True)
                          +set_handler(handler, start_heartbeat=True)

                          Set active handler for the session

                          handler

                          Associate active Tornado handler with the session

                          @@ -1036,15 +1055,15 @@
                          -

                          octoprint.server.util.tornado

                          +

                          octoprint.server.util.tornado

                          -class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          tornado.web.RequestHandler mixin that makes sure to set CORS headers similarly to the Flask backed API endpoints.

                          -set_default_headers()
                          +set_default_headers()

                          Override this to set HTTP headers at the beginning of the request.

                          For example, this is the place to set a custom Server header. Note that setting such headers in the normal flow of request @@ -1056,14 +1075,14 @@

                          -class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)
                          +class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)

                          A custom implementation of tornado.http1connection.HTTP1Connection which upon checking the Content-Length of the request against the configured maximum utilizes max_body_sizes and default_max_body_size as a fallback.

                          -class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)
                          +class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)

                          An implementation of tornado.http1connection.HTTP1ConnectionParameters that adds two new parameters max_body_sizes and default_max_body_size.

                          For a description of these please see the documentation of CustomHTTPServer above.

                          @@ -1071,7 +1090,7 @@
                          -class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: Optional[HTTP1ConnectionParameters] = None, context: Optional[object] = None)
                          +class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: HTTP1ConnectionParameters | None = None, context: object | None = None)

                          A custom implementation of tornado.http1connection.HTTP1ServerConnection which utilizes a CustomHTTP1Connection instead of a tornado.http1connection.HTTP1Connection in _server_request_loop. The implementation logic is otherwise the same as tornado.http1connection.HTTP1ServerConnection.

                          @@ -1079,7 +1098,7 @@
                          -class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)
                          +class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)

                          Custom implementation of tornado.httpserver.HTTPServer that allows defining max body sizes depending on path and method.

                          The implementation is mostly taken from tornado.httpserver.HTTPServer, the only difference is the creation @@ -1092,7 +1111,7 @@

                          default_max_body_size is the default maximum body size to apply if no specific one from max_body_sizes matches.

                          -handle_stream(stream, address)
                          +handle_stream(stream, address)

                          Override to handle a new .IOStream from an incoming connection.

                          This method may be a coroutine; if so any exceptions it raises asynchronously will be logged. Accepting of incoming connections @@ -1108,44 +1127,44 @@

                          -initialize(*args, **kwargs)
                          +initialize(*args, **kwargs)
                          -class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          tornado.web.RequestHandler that redirects to another url and logs a deprecation warning.

                          -
                          Parameters
                          +
                          Parameters:

                          url (str) – URL to which to redirect

                          -initialize(url)
                          +initialize(url)
                          -class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          -initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                          +initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                          -class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          A RequestHandler that generates data from a generator function and returns it to the client.

                          -
                          Parameters
                          +
                          Parameters:
                          • generator (function) – A generator function that returns the data to be written to the client. The function will be called without any parameters.

                          • @@ -1161,24 +1180,24 @@
                          -initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
                          +initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
                          -class octoprint.server.util.tornado.GlobalHeaderTransform(request)
                          +class octoprint.server.util.tornado.GlobalHeaderTransform(request)
                          -class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          Customized tornado.web.StaticFileHandler that allows delivery of the requested resource as attachment and access and request path validation through optional callbacks. Note that access validation takes place before path validation.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (str) – The system path from which to serve files (this will be forwarded to the initialize method of :class:~tornado.web.StaticFileHandler)

                          • @@ -1212,7 +1231,7 @@
                          -compute_etag()
                          +compute_etag()

                          Computes the etag header to be used for this request.

                          By default uses a hash of the content written so far.

                          May be overridden to provide custom etag implementations, @@ -1221,44 +1240,44 @@

                          -get_content_type()
                          +get_content_type()

                          Returns the Content-Type header to be used for this request.

                          -

                          New in version 3.1.

                          +

                          Added in version 3.1.

                          -classmethod get_content_version(abspath)
                          +classmethod get_content_version(abspath)

                          Returns a version string for the resource at the given path.

                          This class method may be overridden by subclasses. The default implementation is a SHA-512 hash of the file’s contents.

                          -

                          New in version 3.1.

                          +

                          Added in version 3.1.

                          -initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
                          +initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
                          -property original_absolute_path
                          +property original_absolute_path

                          The path of the uncompressed file corresponding to the compressed file

                          -set_extra_headers(path)
                          +set_extra_headers(path)

                          For subclass to add extra headers to the response

                          -streamed_get(path, include_body=True)
                          +streamed_get(path, include_body=True)

                          Version of StaticFileHandler.get that doesn’t support ranges or ETag but streams the content. Helpful for files that might still change while being transmitted (e.g. log files)

                          @@ -1267,17 +1286,17 @@
                          -class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          -log_exception(typ, value, tb, *args, **kwargs)
                          +log_exception(typ, value, tb, *args, **kwargs)

                          Override to customize logging of uncaught exceptions.

                          By default logs instances of HTTPError as warnings without stack traces (on the tornado.general logger), and all other exceptions as errors with stack traces (on the tornado.application logger).

                          -

                          New in version 3.1.

                          +

                          Added in version 3.1.

                          @@ -1285,11 +1304,11 @@
                          -class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          tornado.web.RequestHandler that returns static data of a configured content_type.

                          -
                          Parameters
                          +
                          Parameters:
                          • data (str) – The data with which to respond

                          • content_type (str) – The content type with which to respond. Defaults to text/plain

                          • @@ -1298,34 +1317,34 @@
                          -initialize(data='', content_type='text/plain')
                          +initialize(data='', content_type='text/plain')
                          -class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          -initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                          +initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                          -class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          -initialize(access_validation=None)
                          +initialize(access_validation=None)
                          -class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          A RequestHandler similar to tornado.web.FallbackHandler which fetches any files contained in the request bodies of content type multipart, stores them in temporary files and supplies the fallback with the file’s name, content_type, path and size instead via a rewritten body.

                          @@ -1383,18 +1402,18 @@ where necessary.

                          -BODY_METHODS = ('POST', 'PATCH', 'PUT')
                          +BODY_METHODS = ('POST', 'PATCH', 'PUT')

                          The request methods that may contain a request body.

                          -data_received(chunk)
                          +data_received(chunk)

                          Called by Tornado on receiving a chunk of the request body. If request is a multipart request, takes care of processing the multipart data structure via _process_multipart_data(). If not, just adds the chunk to internal in-memory buffer.

                          -
                          Parameters
                          +
                          Parameters:

                          chunk – chunk of data received from Tornado

                          @@ -1402,39 +1421,39 @@
                          -async delete(*args, **kwargs)
                          +async delete(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          -async get(*args, **kwargs)
                          +async get(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          -async head(*args, **kwargs)
                          +async head(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          -initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
                          +initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
                          -is_multipart()
                          +is_multipart()

                          Checks whether this request is a multipart request

                          -on_finish()
                          +on_finish()

                          Called after the end of a request.

                          Override this method to perform cleanup, logging, etc. This method is a counterpart to prepare. on_finish may @@ -1444,28 +1463,28 @@

                          -async options(*args, **kwargs)
                          +async options(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          -async patch(*args, **kwargs)
                          +async patch(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          -async post(*args, **kwargs)
                          +async post(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          -prepare()
                          +prepare()

                          Prepares the processing of the request. If it’s a request that may contain a request body (as defined in UploadStorageFallbackHandler.BODY_METHODS) prepares the multipart parsing if content type fits. If it’s a body-less request, just calls the fallback with an empty body and finishes the request.

                          @@ -1473,7 +1492,7 @@
                          -async put(*args, **kwargs)
                          +async put(*args, **kwargs)

                          Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                          @@ -1482,7 +1501,7 @@
                          -class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                          +class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                          tornado.web.RequestHandler that proxies requests to a preconfigured url and returns the response. Allows delivery of the requested content as attachment and access validation through an optional callback.

                          @@ -1499,7 +1518,7 @@
          -
          Parameters
          +
          Parameters:
          • url (str) – URL to forward any requests to. A 404 response will be returned if this is not set. Defaults to None.

          • as_attachment (bool) – Whether to serve files with Content-Disposition: attachment header (True) @@ -1514,17 +1533,17 @@

          -initialize(url=None, as_attachment=False, basename=None, access_validation=None)
          +initialize(url=None, as_attachment=False, basename=None, access_validation=None)
          -class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
          +class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

          GeneratingDataHandler that returns a snapshot from the configured webcam.

          -
          Parameters
          +
          Parameters:
          • as_attachment (bool | str) – Whether to serve files with Content-Disposition: attachment header (True) or not. Defaults to False. If a string is given it will be used as the filename of the attachment.

          • @@ -1537,14 +1556,14 @@
          -initialize(as_attachment=False, access_validation=None)
          +initialize(as_attachment=False, access_validation=None)
          -class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)
          +class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)

          A WSGI container for use with Tornado that allows supplying the request body to be used for wsgi.input in the generated WSGI environment upon call.

          A RequestHandler can thus provide the WSGI application with a stream for the request body, or a modified body.

          @@ -1561,12 +1580,12 @@ removed_headers arguments. forced_headers will be added to the response, removed_headers will be removed.

          -static environ(request, body=None)
          +static environ(request, body=None)

          Converts a tornado.httputil.HTTPServerRequest to a WSGI environment.

          An optional body to be used for populating wsgi.input can be supplied (either a string or a stream). If not supplied, request.body will be wrapped into a io.BytesIO stream and used instead.

          -
          Parameters
          +
          Parameters:
          • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

          • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

          • @@ -1577,10 +1596,10 @@
            -async handle_request(request, body=None, future=None)
            +async handle_request(request, body=None, future=None)

            Wraps the call against the WSGI app, deriving the WSGI environment from the supplied Tornado HTTPServerRequest.

            -
            Parameters
            +
            Parameters:
            • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

            • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

            • @@ -1594,13 +1613,13 @@
              -octoprint.server.util.tornado.access_validation_factory(app, validator, *args)
              +octoprint.server.util.tornado.access_validation_factory(app, validator, *args)

              Creates an access validation wrapper using the supplied validator.

              -
              Parameters
              +
              Parameters:

              validator – the access validator to use inside the validation wrapper

              -
              Returns
              +
              Returns:

              an access validator taking a request as parameter and performing the request validation

              @@ -1608,21 +1627,21 @@
              -octoprint.server.util.tornado.enable_per_message_deflate_extension()
              +octoprint.server.util.tornado.enable_per_message_deflate_extension()

              This configures tornado.websocket.WebSocketHandler.get_compression_options to support the permessage-deflate extension to the websocket protocol, minimizing data bandwidth if clients support the extension as well

              -octoprint.server.util.tornado.fix_json_encode()
              +octoprint.server.util.tornado.fix_json_encode()

              This makes tornado.escape.json_encode use octoprint.util.JsonEncoding.encode as fallback in order to allow serialization of globally registered types like frozendict and others.

              -octoprint.server.util.tornado.fix_tornado_xheader_handling()
              +octoprint.server.util.tornado.fix_tornado_xheader_handling()

              This fixes tornado.httpserver._HTTPRequestContext._apply_xheaders to only use “X-Forwarded-For” header for rewriting the remote_ip field, utilizing the set of trusted downstreams, instead of blindly trusting X-Real-Ip, and to also fetch the scheme from “X-Forwarded-Proto” if available.

              @@ -1630,21 +1649,21 @@
              -octoprint.server.util.tornado.fix_websocket_check_origin()
              +octoprint.server.util.tornado.fix_websocket_check_origin()

              This fixes tornado.websocket.WebSocketHandler.check_origin to do the same origin check against the Host header case-insensitively, as defined in RFC6454, Section 4, item 5.

              -octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)
              +octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)

              Creates a request path validation wrapper returning the defined status code if the supplied path_filter returns False.

              -
              Parameters
              +
              Parameters:

              path_filter – the path filter to use on the requested path, should return False for requests that should be responded with the provided error code.

              -
              Returns
              +
              Returns:

              a request path validator taking a request path as parameter and performing the request validation

              diff --git a/devel/modules/settings.html b/devel/modules/settings.html index 131a5e67e..fe3bfcc3b 100644 --- a/devel/modules/settings.html +++ b/devel/modules/settings.html @@ -1,26 +1,26 @@ - + - + octoprint.settings — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -200,30 +200,30 @@
              -

              octoprint.settings

              +

              octoprint.settings

              This module represents OctoPrint’s settings management. Within this module the default settings for the core application are defined and the instance of the Settings is held, which offers getter and setter methods for the raw configuration values as well as various convenience methods to access the paths to base folders of various types and the configuration file itself.

              -octoprint.settings.default_settings = dict(...)
              +octoprint.settings.default_settings = dict(...)

              The default settings of the core application.

              -octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>
              +octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>

              Values that are considered to be equivalent to the boolean True value, used for type conversion in various places.

              -octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)
              +octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)

              Factory method for initially constructing and consecutively retrieving the Settings singleton.

              -
              Parameters
              +
              Parameters:
              • init (boolean) – A flag indicating whether this is the initial call to construct the singleton (True) or not (False, default). If this is set to True and the plugin manager has already been initialized, a ValueError @@ -237,13 +237,13 @@

              • overlays (list) – List of paths to config overlays to put between default settings and config.yaml

              -
              Returns
              +
              Returns:

              The fully initialized Settings instance.

              -
              Return type
              +
              Return type:

              Settings

              -
              Raises
              +
              Raises:

              ValueErrorinit is True but settings are already initialized or vice versa.

              @@ -251,7 +251,7 @@
              -class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)
              +class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)

              The Settings class allows managing all of OctoPrint’s settings. It takes care of initializing the settings directory, loading the configuration from config.yaml, persisting changes to disk etc and provides access methods for getting and setting specific values from the overall settings structure via paths.

              @@ -274,10 +274,6 @@

              the following paths could be used:

              ---- @@ -316,32 +312,32 @@

              However, these would be invalid paths: ["key"], ["serial", "port", "value"], ["server", "host", 3].

              -OVERLAY_KEY = '__overlay__'
              +OVERLAY_KEY = '__overlay__'
              -add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
              +add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
              -add_path_update_callback(path, callback)
              +add_path_update_callback(path, callback)
              -backup(suffix=None, path=None, ext=None, hidden=False)
              +backup(suffix=None, path=None, ext=None, hidden=False)
              -checkBaseFolder(type)
              +checkBaseFolder(type)
              -property config
              +property config

              A view of the local config as stored in config.yaml

              Does not support modifications, they will be thrown away silently. If you need to modify anything in the settings, utilize the provided set and remove methods.

              @@ -349,154 +345,154 @@
              -property config_hash
              +property config_hash
              -property config_yaml
              +property config_yaml
              -property effective
              +property effective
              -property effective_hash
              +property effective_hash
              -property effective_yaml
              +property effective_yaml
              -get(path, **kwargs)
              +get(path, **kwargs)
              -getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
              +getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
              -getBoolean(path, **kwargs)
              +getBoolean(path, **kwargs)
              -getFloat(path, **kwargs)
              +getFloat(path, **kwargs)
              -getInt(path, **kwargs)
              +getInt(path, **kwargs)
              -has(path, **kwargs)
              +has(path, **kwargs)
              -property last_modified
              +property last_modified

              Returns: (int) The last modification time of the configuration file.

              -property last_modified_or_made_dirty
              +property last_modified_or_made_dirty
              -listScripts(script_type)
              +listScripts(script_type)
              -load(migrate=False)
              +load(migrate=False)
              -loadScript(script_type, name, context=None, source=False)
              +loadScript(script_type, name, context=None, source=False)
              -load_overlay(overlay, migrate=True)
              +load_overlay(overlay, migrate=True)
              -load_overlays(overlays, migrate=True)
              +load_overlays(overlays, migrate=True)
              -remove(path, config=None, error_on_path=False, defaults=None)
              +remove(path, config=None, error_on_path=False, defaults=None)
              -remove_overlay(key)
              +remove_overlay(key)
              -remove_path_update_callback(path, callback)
              +remove_path_update_callback(path, callback)
              -sanity_check_folders(folders=None)
              +sanity_check_folders(folders=None)
              -save(force=False, trigger_event=False)
              +save(force=False, trigger_event=False)
              -saveScript(script_type, name, script)
              +saveScript(script_type, name, script)
              -set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
              +set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
              -setBaseFolder(type, path, force=False, validate=True)
              +setBaseFolder(type, path, force=False, validate=True)
              -setBoolean(path, value, **kwargs)
              +setBoolean(path, value, **kwargs)
              -setFloat(path, value, **kwargs)
              +setFloat(path, value, **kwargs)
              -setInt(path, value, **kwargs)
              +setInt(path, value, **kwargs)
              -warn_about_risky_settings()
              +warn_about_risky_settings()
              diff --git a/devel/modules/slicing.html b/devel/modules/slicing.html index 2fcc6d785..2663fa610 100644 --- a/devel/modules/slicing.html +++ b/devel/modules/slicing.html @@ -1,26 +1,26 @@ - + - + octoprint.slicing — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -197,14 +197,14 @@
              -

              octoprint.slicing

              +

              octoprint.slicing

              In this module the slicing support of OctoPrint is encapsulated.

              -class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)
              +class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)

              A wrapper for slicing profiles, both meta data and actual profile data.

              -
              Parameters
              +
              Parameters:
              • slicer (str) – Identifier of the slicer this profile belongs to.

              • name (str) – Identifier of this slicing profile.

              • @@ -219,7 +219,7 @@
                -class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)
                +class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)

                A wrapper for a temporary slicing profile to be used for a slicing job, based on a SlicingProfile with optional overrides applied through the supplied save_profile method.

                Usage example:

                @@ -230,7 +230,7 @@
              -
              Parameters
              +
              Parameters:
              • save_profile (callable) – Method to use for saving the temporary profile, also responsible for applying the supplied overrides. This will be called according to the method signature of @@ -244,10 +244,10 @@

                -class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)
                +class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)

                The SlicingManager is responsible for managing available slicers and slicing profiles.

                -
                Parameters
                +
                Parameters:
                -all_profiles(slicer, require_configured=False)
                +all_profiles(slicer, require_configured=False)

                Retrieves all profiles for slicer slicer.

                If require_configured is set to True (default is False), only will return the profiles if the slicer is already configured, otherwise a SlicerNotConfigured exception will be raised.

                -
                Parameters
                +
                Parameters:
                • slicer (str) – Identifier of the slicer for which to retrieve all slicer profiles

                • require_configured (boolean) – Whether to require the slicer slicer to be already configured (True) @@ -270,13 +270,13 @@ exception will be raised.

                -
                Returns
                +
                Returns:

                A dict of all SlicingProfile instances available for the slicer slicer, mapped by the identifier.

                -
                Return type
                +
                Return type:

                dict of SlicingProfile

                -
                Raises
                +
                Raises:
                • UnknownSlicer – The slicer slicer is unknown.

                • SlicerNotConfigured – The slicer slicer is not configured and require_configured was True.

                • @@ -287,17 +287,17 @@
                  -cancel_slicing(slicer_name, source_path, dest_path)
                  +cancel_slicing(slicer_name, source_path, dest_path)

                  Cancels the slicing job on slicer slicer_name from source_path to dest_path.

                  -
                  Parameters
                  +
                  Parameters:
                  • slicer_name (str) – Identifier of the slicer on which to cancel the job.

                  • source_path (str) – The absolute path to the source file being sliced.

                  • dest_path (str) – The absolute path to the destination file being sliced to.

                  -
                  Raises
                  +
                  Raises:

                  UnknownSlicer – The slicer specified via slicer_name is unknown.

                  @@ -305,17 +305,17 @@
                  -property configured_slicers
                  +property configured_slicers

                  Returns: (list of str) Identifiers of all available configured slicers.

                  -property default_slicer
                  +property default_slicer

                  Retrieves the default slicer.

                  -
                  Returns
                  +
                  Returns:

                  (str) The identifier of the default slicer or None if the default slicer is not registered in the

                  system.

                  @@ -327,17 +327,17 @@
                  -delete_profile(slicer, name)
                  +delete_profile(slicer, name)

                  Deletes the profile name for the specified slicer.

                  If the profile does not exist, nothing will happen.

                  -
                  Parameters
                  +
                  Parameters:
                  • slicer (str) – Identifier of the slicer for which to delete the profile.

                  • name (str) – Identifier of the profile to delete.

                  -
                  Raises
                  +
                  Raises:
                  • UnknownSlicer – The slicer slicer is unknown.

                  • CouldNotDeleteProfile – There was an error while deleting the profile.

                  • @@ -348,25 +348,25 @@
                    -get_profile_path(slicer, name, must_exist=False)
                    +get_profile_path(slicer, name, must_exist=False)

                    Retrieves the path to the profile named name for slicer slicer.

                    If must_exist is set to True (defaults to False) a UnknownProfile exception will be raised if the profile doesn’t exist yet.

                    -
                    Parameters
                    +
                    Parameters:
                    • slicer (str) – Identifier of the slicer to which the profile belongs to.

                    • name (str) – Identifier of the profile for which to retrieve the path.

                    • must_exist (boolean) – Whether the path must exist (True) or not (False, default).

                    -
                    Returns
                    +
                    Returns:

                    The absolute path to the profile identified by name for slicer slicer.

                    -
                    Return type
                    +
                    Return type:

                    str

                    -
                    Raises
                    +
                    Raises:
                    • UnknownSlicer – The slicer slicer is unknown.

                    • UnknownProfile – The profile named name doesn’t exist and must_exist was True.

                    • @@ -377,18 +377,18 @@
                      -get_slicer(slicer, require_configured=True)
                      +get_slicer(slicer, require_configured=True)

                      Retrieves the slicer named slicer. If require_configured is set to True (the default) an exception will be raised if the slicer is not yet configured.

                      -
                      Parameters
                      +
                      Parameters:
                      • slicer (str) – Identifier of the slicer to return

                      • require_configured (boolean) – Whether to raise an exception if the slicer has not been configured yet (True, the default), or also return an unconfigured slicer (False).

                      -
                      Raises
                      +
                      Raises:
                      • UnknownSlicer – The slicer is unknown.

                      • SlicerNotConfigured – The slicer is not yet configured and require_configured was set to True.

                      • @@ -399,19 +399,19 @@
                        -get_slicer_profile_path(slicer)
                        +get_slicer_profile_path(slicer)

                        Retrieves the path where the profiles for slicer slicer are stored.

                        -
                        Parameters
                        +
                        Parameters:

                        slicer (str) – Identifier of the slicer for which to retrieve the path.

                        -
                        Returns
                        +
                        Returns:

                        The absolute path to the folder where the slicer’s profiles are stored.

                        -
                        Return type
                        +
                        Return type:

                        str

                        -
                        Raises
                        +
                        Raises:

                        UnknownSlicer – The slicer slicer is unknown.

                        @@ -419,26 +419,26 @@
                        -initialize()
                        +initialize()

                        Initializes the slicing manager by loading and initializing all available SlicerPlugin implementations.

                        -load_profile(slicer, name, require_configured=True)
                        +load_profile(slicer, name, require_configured=True)

                        Loads the slicing profile for slicer with the given profile name and returns it. If it can’t be loaded due to an IOError None will be returned instead.

                        If require_configured is True (the default) a SlicerNotConfigured exception will be raised if the indicated slicer has not yet been configured.

                        -
                        Returns
                        +
                        Returns:

                        The requested slicing profile or None if it could not be loaded.

                        -
                        Return type
                        +
                        Return type:

                        SlicingProfile

                        -
                        Raises
                        +
                        Raises:
                        • UnknownSlicer – The slicer specified via slicer is unknown.

                        • SlicerNotConfigured – The slicer specified via slicer has not yet been configured and @@ -451,13 +451,13 @@

                          -profiles_last_modified(slicer)
                          +profiles_last_modified(slicer)

                          Retrieves the last modification date of slicer’s profiles.

                          -
                          Parameters
                          +
                          Parameters:

                          slicer (str) – the slicer for which to retrieve the last modification date

                          -
                          Returns
                          +
                          Returns:

                          (float) the time stamp of the last modification of the slicer’s profiles

                          @@ -465,21 +465,21 @@
                          -property registered_slicers
                          +property registered_slicers

                          Returns: (list of str) Identifiers of all available slicers.

                          -reload_slicers()
                          +reload_slicers()

                          Retrieves all registered SlicerPlugin implementations and registers them as available slicers.

                          -save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)
                          +save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)

                          Saves the slicer profile profile for slicer slicer under name name.

                          profile may be either a SlicingProfile or a dict.

                          If it’s a SlicingProfile, its slicer`, name and - if @@ -492,7 +492,7 @@

                          If the profile is the first profile to be saved for the slicer, it will automatically be marked as default.

                          -
                          Parameters
                          +
                          Parameters:
                          • slicer (str) – Identifier of the slicer for which to save the profile.

                          • name (str) – Identifier under which to save the profile.

                          • @@ -505,13 +505,13 @@
                          • description (str) – A description of the profile.

                          -
                          Returns
                          +
                          Returns:

                          The saved profile (including the applied overrides).

                          -
                          Return type
                          +
                          Return type:

                          SlicingProfile

                          -
                          Raises
                          +
                          Raises:
                          • ValueError – The supplied profile is neither a SlicingProfile nor a dict.

                          • UnknownSlicer – The slicer slicer is unknown.

                          • @@ -524,10 +524,10 @@
                            -set_default_profile(slicer, name, require_configured=False, require_exists=True)
                            +set_default_profile(slicer, name, require_configured=False, require_exists=True)

                            Sets the given profile as default profile for the slicer.

                            -
                            Parameters
                            +
                            Parameters:
                            • slicer (str) – Identifier of the slicer for which to set the default profile.

                            • @@ -541,7 +541,7 @@ UnknownProfile error if true and the profile is unknown.

                            -
                            Raises
                            +
                            Raises:
                            • UnknownSlicer – The slicer slicer is unknown

                            • @@ -557,7 +557,7 @@
                              -slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)
                              +slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)

                              Slices source_path to dest_path using slicer slicer_name and slicing profile profile_name. Since slicing happens asynchronously, callback will be called when slicing has finished (either successfully or not), with callback_args and callback_kwargs supplied.

                              @@ -585,7 +585,7 @@

                              If the source_path is to be a sliced at a different position than the print bed center, this position can be supplied as a dictionary defining the x and y coordinate in print bed coordinates of the model’s center.

                              -
                              Parameters
                              +
                              Parameters:
                              • slicer_name (str) – The identifier of the slicer to use for slicing.

                              • source_path (str) – The absolute path to the source file to slice.

                              • @@ -609,7 +609,7 @@ Example: dict(x=10,y=20).

                              -
                              Raises
                              +
                              Raises:
                              • UnknownSlicer – The slicer specified via slicer_name is unknown.

                              • SlicerNotConfigured – The slice specified via slicer_name is not configured yet.

                              • @@ -620,7 +620,7 @@
                                -property slicing_enabled
                                +property slicing_enabled

                                Returns: (boolean) True if there is at least one configured slicer available, False otherwise.

                                @@ -629,29 +629,29 @@
                                -

                                octoprint.slicing.exceptions

                                +

                                octoprint.slicing.exceptions

                                Slicing related exceptions.

                                -class octoprint.slicing.exceptions.SlicingException
                                +class octoprint.slicing.exceptions.SlicingException

                                Base exception of all slicing related exceptions.

                                -class octoprint.slicing.exceptions.SlicingCancelled
                                +class octoprint.slicing.exceptions.SlicingCancelled

                                Bases: SlicingException

                                Raised if a slicing job was cancelled.

                                -class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)
                                +class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)

                                Bases: SlicingException

                                Base exception of all slicer related exceptions.

                                -slicer
                                +slicer

                                Identifier of the slicer for which the exception was raised.

                                @@ -659,31 +659,31 @@
                                -class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)
                                +class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)

                                Bases: SlicerException

                                Raised if a slicer is unknown.

                                -class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)
                                +class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)

                                Bases: SlicerException

                                Raised if a slicer is not yet configured but must be configured to proceed.

                                -class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)
                                +class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)

                                Base exception of all slicing profile related exceptions.

                                -slicer
                                +slicer

                                Identifier of the slicer to which the profile belongs.

                                -profile
                                +profile

                                Identifier of the profile for which the exception was raised.

                                @@ -691,14 +691,14 @@
                                -class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)
                                +class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)

                                Bases: ProfileException

                                Raised if a slicing profile does not exist but must exist to proceed.

                                -class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)
                                +class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)

                                Bases: ProfileException

                                Raised if a slicing profile already exists and must not be overwritten.

                                diff --git a/devel/modules/util.html b/devel/modules/util.html index 6d81e21c1..625260963 100644 --- a/devel/modules/util.html +++ b/devel/modules/util.html @@ -1,26 +1,26 @@ - + - + octoprint.util — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -232,34 +232,34 @@
                                -

                                octoprint.util

                                +

                                octoprint.util

                                This module bundles commonly used utility methods or helper classes that are used in multiple places within OctoPrint’s source code.

                                -class octoprint.util.CaseInsensitiveSet(*args)
                                +class octoprint.util.CaseInsensitiveSet(*args)

                                Basic case insensitive set

                                Any str values will be stored and compared in lower case. Other value types are left as-is.

                                -class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                                +class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                                -copy() a shallow copy of od
                                +copy() a shallow copy of od
                                -class octoprint.util.PrependableQueue(maxsize=0)
                                +class octoprint.util.PrependableQueue(maxsize=0)
                                -class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)
                                +class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)

                                This class represents an action that should be run repeatedly in an interval. It is similar to python’s own threading.Timer class, but instead of only running once the function will be run again and again, sleeping the stated interval in between.

                                @@ -301,7 +301,7 @@
                                -
                                Parameters
                                +
                                Parameters:
                                • interval (float or callable) – The interval between each function call, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                                • @@ -323,7 +323,7 @@
                                -run()
                                +run()

                                Method representing the thread’s activity.

                                You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -335,7 +335,7 @@

                                -class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)
                                +class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)

                                This class represents an action that should be run after a specified amount of time. It is similar to python’s own threading.Timer class, with the addition of being able to reset the counter to zero.

                                ResettableTimers are started, as with threads, by calling their start() method. The timer can be stopped (in @@ -353,7 +353,7 @@

                                -
                                Parameters
                                +
                                Parameters:
                                • interval (float or callable) – The interval before calling function, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                                • @@ -368,7 +368,7 @@
                                -run()
                                +run()

                                Method representing the thread’s activity.

                                You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -380,15 +380,15 @@

                                -exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                                +exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                                -class octoprint.util.TypedQueue(maxsize=0)
                                +class octoprint.util.TypedQueue(maxsize=0)
                                -get(*args, **kwargs)
                                +get(*args, **kwargs)

                                Remove and return an item from the queue.

                                If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until an item is available. If ‘timeout’ is @@ -401,7 +401,7 @@

                                -put(item, item_type=None, *args, **kwargs)
                                +put(item, item_type=None, *args, **kwargs)

                                Put an item into the queue.

                                If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until a free slot is available. If ‘timeout’ is @@ -416,27 +416,27 @@

                                -octoprint.util.chunks(l, n)
                                +octoprint.util.chunks(l, n)

                                Yield successive n-sized chunks from l.

                                Taken from http://stackoverflow.com/a/312464/2028598

                                -octoprint.util.count(gen)
                                +octoprint.util.count(gen)

                                Used instead of len(generator), which doesn’t work

                                -octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                +octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                A decorator for deprecated methods. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                -
                                Parameters
                                +
                                Parameters:
                                • message (string) – The message to include in the deprecation warning.

                                • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -449,10 +449,10 @@

                                • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                -
                                Returns
                                +
                                Returns:

                                The wrapped function with the deprecation warnings in place.

                                -
                                Return type
                                +
                                Return type:

                                function

                                @@ -460,18 +460,18 @@
                                -octoprint.util.deserialize(filename, encoding='utf-8')
                                +octoprint.util.deserialize(filename, encoding='utf-8')

                                Deserializes data from a file

                                In the current implementation this uses json.loads and - if the file is found to be compressed - zlib.decompress.

                                -
                                Parameters
                                +
                                Parameters:
                                • filename (str) – The file to deserialize from

                                • encoding (str) – The encoding to use for the file, defaults to utf-8

                                -
                                Returns
                                +
                                Returns:

                                The deserialized data structure

                                @@ -479,7 +479,7 @@
                                -octoprint.util.dict_clean(a, b)
                                +octoprint.util.dict_clean(a, b)

                                Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                                Example:

                                @@ -493,7 +493,7 @@
                                -
                                Parameters
                                +
                                Parameters:
                                • a (dict) – The dictionary to clean against b.

                                • b (dict) – The dictionary containing the key structure to clean from a.

                                • @@ -508,7 +508,7 @@
                                  -octoprint.util.dict_contains_keys(keys, dictionary)
                                  +octoprint.util.dict_contains_keys(keys, dictionary)

                                  Recursively deep-checks if dictionary contains all keys found in keys.

                                  Example:

                                  >>> positive = dict(foo="some_other_bar", fnord=dict(b=100))
                                  @@ -521,16 +521,16 @@
                                   
                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • a (dict) – The dictionary to check for the keys from b.

                                  • b (dict) – The dictionary whose keys to check a for.

                                  -
                                  Returns
                                  +
                                  Returns:

                                  True if all keys found in b are also present in a, False otherwise.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  boolean

                                  @@ -538,7 +538,7 @@
                                  -octoprint.util.dict_filter(dictionary, filter_function)
                                  +octoprint.util.dict_filter(dictionary, filter_function)

                                  Filters a dictionary with the provided filter_function

                                  Example:

                                  >>> data = dict(key1="value1", key2="value2", other_key="other_value", foo="bar", bar="foo")
                                  @@ -563,7 +563,7 @@
                                   
                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • dictionary (dict) – The dictionary to filter

                                  • filter_function (callable) – The filter function to apply, called with key and @@ -571,14 +571,14 @@ keep and False for values to strip

                                  -
                                  Returns
                                  +
                                  Returns:

                                  A shallow copy of the provided dictionary, stripped of the key-value-pairs

                                  for which the filter_function returned False

                                  -
                                  Return type
                                  +
                                  Return type:

                                  dict

                                  @@ -586,7 +586,7 @@
                                  -octoprint.util.dict_flatten(dictionary, prefix='', separator='.')
                                  +octoprint.util.dict_flatten(dictionary, prefix='', separator='.')

                                  Flatten a dictionary.

                                  Example::
                                  >>> data = {'a': {'a1': 'a1', 'a2': 'a2'}, 'b': 'b'}
                                  @@ -600,7 +600,7 @@
                                   
                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • dictionary – the dictionary to flatten

                                  • prefix – the key prefix, initially an empty string

                                  • @@ -613,7 +613,7 @@
                                    -octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)
                                    +octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)

                                    Recursively deep-merges two dictionaries.

                                    Based on https://www.xormedia.com/recursively-merge-dictionaries-in-python/

                                    Example:

                                    @@ -649,7 +649,7 @@
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • a (dict) – The dictionary to merge b into

                                    • b (dict) – The dictionary to merge into a

                                    • @@ -657,10 +657,10 @@
                                    • in_place (boolean) – If set to True, a will be merged with b in place, meaning a will be modified

                                    -
                                    Returns
                                    +
                                    Returns:

                                    b deep-merged into a

                                    -
                                    Return type
                                    +
                                    Return type:

                                    dict

                                    @@ -668,7 +668,7 @@
                                    -octoprint.util.dict_minimal_mergediff(source, target)
                                    +octoprint.util.dict_minimal_mergediff(source, target)

                                    Recursively calculates the minimal dict that would be needed to be deep merged with a in order to produce the same result as deep merging a and b.

                                    Example:

                                    @@ -682,20 +682,20 @@
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • source (dict) – Source dictionary

                                    • target (dict) – Dictionary to compare to source dictionary and derive diff for

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The minimal dictionary to deep merge on source to get the same result

                                    as deep merging target on source.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    dict

                                    @@ -703,7 +703,7 @@
                                    -octoprint.util.dict_sanitize(a, b)
                                    +octoprint.util.dict_sanitize(a, b)

                                    Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                                    Example:

                                    @@ -717,7 +717,7 @@
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • a (dict) – The dictionary to clean against b.

                                    • b (dict) – The dictionary containing the key structure to clean from a.

                                    • @@ -732,36 +732,36 @@
                                      -class octoprint.util.fallback_dict(custom, *fallbacks)
                                      +class octoprint.util.fallback_dict(custom, *fallbacks)
                                      -items() a set-like object providing a view on D's items
                                      +items() a set-like object providing a view on D's items
                                      -keys() a set-like object providing a view on D's keys
                                      +keys() a set-like object providing a view on D's keys
                                      -values() an object providing a view on D's values
                                      +values() an object providing a view on D's values
                                      -octoprint.util.filter_non_ascii(line)
                                      +octoprint.util.filter_non_ascii(line)

                                      Filter predicate to test if a line contains non ASCII characters.

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      line (string) – The line to test

                                      -
                                      Returns
                                      +
                                      Returns:

                                      True if the line contains non ASCII characters, False otherwise.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      boolean

                                      @@ -769,7 +769,7 @@
                                      -octoprint.util.get_bom(filename, encoding)
                                      +octoprint.util.get_bom(filename, encoding)

                                      Check if the file has a BOM and if so return it.

                                      Params:

                                      filename (str): The file to check. @@ -777,7 +777,7 @@

                                      -
                                      Returns
                                      +
                                      Returns:

                                      (bytes) the BOM or None if there is no BOM.

                                      @@ -785,19 +785,19 @@
                                      -octoprint.util.get_class(name)
                                      +octoprint.util.get_class(name)

                                      Retrieves the class object for a given fully qualified class name.

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      name (string) – The fully qualified class name, including all modules separated by .

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The class if it could be found.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      type

                                      -
                                      Raises
                                      +
                                      Raises:

                                      ImportError

                                      @@ -805,14 +805,14 @@
                                      -octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")
                                      +octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")

                                      Retrieves the exception info of the last raised exception and returns it as a string formatted as <exception type>: <exception message> @ <source file>:<function name>:<line number>.

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The formatted exception information.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      string

                                      @@ -820,16 +820,16 @@
                                      -octoprint.util.get_formatted_datetime(d)
                                      +octoprint.util.get_formatted_datetime(d)

                                      Formats a datetime instance as “YYYY-mm-dd HH:MM” and returns the resulting string.

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      d (datetime.datetime) – The datetime instance to format

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The datetime formatted as “YYYY-mm-dd HH:MM”

                                      -
                                      Return type
                                      +
                                      Return type:

                                      string

                                      @@ -837,18 +837,18 @@
                                      -octoprint.util.get_formatted_size(num)
                                      +octoprint.util.get_formatted_size(num)

                                      Formats the given byte count as a human readable rounded size expressed in the most pressing unit among B(ytes), K(ilo)B(ytes), M(ega)B(ytes), G(iga)B(ytes) and T(era)B(ytes), with one decimal place.

                                      Based on http://stackoverflow.com/a/1094933/2028598

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      num (int) – The byte count to format

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The formatted byte count.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      string

                                      @@ -856,16 +856,16 @@
                                      -octoprint.util.get_formatted_timedelta(d)
                                      +octoprint.util.get_formatted_timedelta(d)

                                      Formats a timedelta instance as “HH:MM:ss” and returns the resulting string.

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      d (datetime.timedelta) – The timedelta instance to format

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The timedelta formatted as “HH:MM:ss”

                                      -
                                      Return type
                                      +
                                      Return type:

                                      string

                                      @@ -873,14 +873,14 @@
                                      -octoprint.util.get_fully_qualified_classname(o)
                                      +octoprint.util.get_fully_qualified_classname(o)

                                      Returns the fully qualified class name for an object.

                                      Based on https://stackoverflow.com/a/2020083

                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      o – the object of which to determine the fqcn

                                      -
                                      Returns
                                      +
                                      Returns:

                                      (str) the fqcn of the object

                                      @@ -888,19 +888,19 @@
                                      -octoprint.util.is_allowed_file(filename, extensions)
                                      +octoprint.util.is_allowed_file(filename, extensions)

                                      Determines if the provided filename has one of the supplied extensions. The check is done case-insensitive.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • filename (string) – The file name to check against the extensions.

                                      • extensions (list) – The extensions to check against, a list of strings

                                      -
                                      Returns
                                      +
                                      Returns:

                                      True if the file name’s extension matches one of the allowed extensions, False otherwise.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      boolean

                                      @@ -908,14 +908,14 @@
                                      -octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                      +octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                      A decorator for methods pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • message (string) – The message to include in the deprecation warning.

                                      • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -928,10 +928,10 @@

                                      • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The wrapped function with the deprecation warnings in place.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      function

                                      @@ -939,7 +939,7 @@
                                      -octoprint.util.pp(value)
                                      +octoprint.util.pp(value)
                                      >>> pp(dict())
                                       'dict()'
                                       >>> pp(dict(a=1, b=2, c=3))
                                      @@ -962,7 +962,7 @@
                                       
                                       
                                      -octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)
                                      +octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)

                                      Serializes data to a file

                                      In the current implementation this uses json.dumps.

                                      If compressed is True (the default), the serialized data put through zlib.compress.

                                      @@ -972,7 +972,7 @@

                                      This is not thread-safe, if concurrent access is required, the caller needs to ensure that only one thread is writing to the file at any given time.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • filename (str) – The file to write to

                                      • data (object) – The data to serialize

                                      • @@ -985,20 +985,20 @@
                                        -octoprint.util.to_bytes(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                        +octoprint.util.to_bytes(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                        Make sure s_or_u is a byte string.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        -
                                        Returns
                                        +
                                        Returns:

                                        converted bytes.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        bytes

                                        @@ -1006,7 +1006,7 @@
                                        -octoprint.util.to_native_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                        +octoprint.util.to_native_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                        Deprecated since version 1.8.0: to_native_str is no longer needed, use to_unicode instead

                                        @@ -1014,7 +1014,7 @@
                                        -octoprint.util.to_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                        +octoprint.util.to_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                        Deprecated since version 1.3.11: to_str has been renamed to to_bytes and in a future version will become the new to_unicode

                                        @@ -1022,20 +1022,20 @@
                                        -octoprint.util.to_unicode(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                        +octoprint.util.to_unicode(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                        Make sure s_or_u is a string (str).

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        -
                                        Returns
                                        +
                                        Returns:

                                        converted string.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        str

                                        @@ -1043,12 +1043,12 @@
                                        -octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                        +octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                        A function for deprecated variables. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • message (string) – The message to include in the deprecation warning.

                                        • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1058,10 +1058,10 @@

                                        • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The value of the variable with the deprecation warnings in place.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        value

                                        @@ -1069,12 +1069,12 @@
                                        -octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                        +octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                        A decorator for variables pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • message (string) – The message to include in the deprecation warning.

                                        • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1084,10 +1084,10 @@

                                        • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The value of the variable with the deprecation warnings in place.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        value

                                        @@ -1095,10 +1095,10 @@
                                -

                                octoprint.util.commandline

                                +

                                octoprint.util.commandline

                                -class octoprint.util.commandline.CommandlineCaller
                                +class octoprint.util.commandline.CommandlineCaller

                                The CommandlineCaller is a utility class that allows running command line commands while logging their stdout and stderr via configurable callback functions.

                                Callbacks are expected to have a signature matching

                                @@ -1138,17 +1138,17 @@
                                -call(command: Union[str, List[str], Tuple[str]], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[Optional[int], List[str], List[str]]
                                +call(command: str | List[str] | Tuple[str], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[int | None, List[str], List[str]]

                                Calls a command

                                -
                                Parameters
                                +
                                Parameters:
                                • command (list, tuple or str) – command to call

                                • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                                -
                                Returns
                                +
                                Returns:

                                (tuple) a 3-tuple of return code, full stdout and full stderr output

                                @@ -1156,20 +1156,20 @@
                                -checked_call(command: Union[str, List[str], Tuple[str]], **kwargs) Tuple[int, List[str], List[str]]
                                +checked_call(command: str | List[str] | Tuple[str], **kwargs) Tuple[int, List[str], List[str]]

                                Calls a command and raises an error if it doesn’t return with return code 0

                                -
                                Parameters
                                +
                                Parameters:
                                • command (list, tuple or str) – command to call

                                • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                                -
                                Returns
                                +
                                Returns:

                                (tuple) a 3-tuple of return code, full stdout and full stderr output

                                -
                                Raises
                                +
                                Raises:

                                CommandlineError

                                @@ -1177,19 +1177,19 @@
                                -on_log_call
                                +on_log_call

                                Callback for the called command line

                                -on_log_stderr
                                +on_log_stderr

                                Callback for stderr output

                                -on_log_stdout
                                +on_log_stdout

                                Callback for stdout output

                                @@ -1197,10 +1197,10 @@
                                -exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)
                                +exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)

                                Raised by checked_call() on non zero return codes

                                -
                                Parameters
                                +
                                Parameters:
                                • returncode (int) – the return code of the command

                                • stdout (str) – the stdout output produced by the command

                                • @@ -1212,22 +1212,22 @@
                                  -class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                                  +class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                                  -octoprint.util.commandline.clean_ansi(line: Union[str, bytes]) Union[str, bytes]
                                  +octoprint.util.commandline.clean_ansi(line: str | bytes) str | bytes

                                  Removes ANSI control codes from line.

                                  Note: This function also still supports an input of bytes, leading to an output of bytes. This if for reasons of backwards compatibility only, should no longer be used and considered to be deprecated and to be removed in a future version of OctoPrint. A warning will be logged.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  line (str or bytes) – the line to process

                                  -
                                  Returns
                                  +
                                  Returns:

                                  (str or bytes) The line without any ANSI control codes

                                  @@ -1239,11 +1239,11 @@
                                -

                                octoprint.util.platform

                                +

                                octoprint.util.platform

                                This module bundles platform specific flags and implementations.

                                -octoprint.util.platform.CLOSE_FDS = True
                                +octoprint.util.platform.CLOSE_FDS = True

                                Default setting for close_fds parameter to Popen/sarge.run.

                                Set close_fds on every sub process to this to ensure file handlers will be closed on child processes on platforms.

                                @@ -1251,12 +1251,12 @@
                                -octoprint.util.platform.get_os()
                                +octoprint.util.platform.get_os()

                                Returns a canonical OS identifier.

                                Currently the following OS are recognized: win32, linux (sys.platform = linux*), macos (sys.platform = darwin) and freebsd (sys.platform = freebsd*).

                                -
                                Returns
                                +
                                Returns:

                                (str) mapped OS identifier

                                @@ -1264,10 +1264,10 @@
                                -octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)
                                +octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)

                                Tests if the current_os or sys.platform are blacklisted or whitelisted in compatibility_entries

                                -
                                Returns
                                +
                                Returns:

                                (bool) True if the os is compatible, False otherwise

                                @@ -1275,7 +1275,7 @@
                                -octoprint.util.platform.set_close_exec(handle)
                                +octoprint.util.platform.set_close_exec(handle)

                                Set close_exec flag on handle, if supported by the OS.

                                diff --git a/devel/plugins/concepts.html b/devel/plugins/concepts.html index 1274a9977..a040a72d5 100644 --- a/devel/plugins/concepts.html +++ b/devel/plugins/concepts.html @@ -1,26 +1,26 @@ - + - + General Concepts — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -140,7 +140,7 @@
                                -

                                General Concepts

                                +

                                General Concepts

                                OctoPrint’s plugins are Python Packages which in their top-level module define a bunch of control properties defining metadata (like name, version etc of the plugin) as well as information on how to initialize the plugin and into what @@ -152,7 +152,7 @@

                                Plugin mixin implementations will get a bunch of properties injected by OctoPrint plugin system to help them work.

                                -

                                Lifecycle

                                +

                                Lifecycle

                                There are three sources of installed plugins that OctoPrint will check during start up:

                                  diff --git a/devel/plugins/controlproperties.html b/devel/plugins/controlproperties.html index 022d8100e..1164bc108 100644 --- a/devel/plugins/controlproperties.html +++ b/devel/plugins/controlproperties.html @@ -1,26 +1,26 @@ - + - + Control Properties — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -137,7 +137,7 @@
                                  -

                                  Control Properties

                                  +

                                  Control Properties

                                  As already mentioned earlier, plugins are Python packages which provide certain pieces of metadata to tell OctoPrint’s plugin subsystem about themselves. These are simple package attributes defined in the top most package file, e.g.:

                                  import octoprint.plugin
                                  diff --git a/devel/plugins/distributing.html b/devel/plugins/distributing.html
                                  index 996b41c6c..f2c45370c 100644
                                  --- a/devel/plugins/distributing.html
                                  +++ b/devel/plugins/distributing.html
                                  @@ -1,26 +1,26 @@
                                   
                                  -
                                  +
                                   
                                  -  
                                  +  
                                   
                                     
                                     Distributing your plugin — OctoPrint devel documentation
                                  -      
                                  -      
                                  -      
                                  +      
                                  +      
                                  +      
                                   
                                     
                                     
                                     
                                  -        
                                  -        
                                  -        
                                  -        
                                  -        
                                  -        
                                  -        
                                  +        
                                  +        
                                  +        
                                  +        
                                  +        
                                  +        
                                  +        
                                           
                                       
                                       
                                  @@ -143,28 +143,28 @@
                                              
                                  -

                                  Distributing your plugin

                                  +

                                  Distributing your plugin

                                  You can distribute a plugin with OctoPrint via two ways.

                                  - +
                                  -

                                  Manual file distribution

                                  +

                                  Manual file distribution

                                  You can have your users copy it to OctoPrint’s plugin folder (normally located at ~/.octoprint/plugins under Linux, %APPDATA%\OctoPrint\plugins on Windows and ~/Library/Application Support/OctoPrint on Mac). In this case your plugin will be distributed directly as a Python module (a single .py file containing all of your plugin’s code directly and named like your plugin) or a package (a folder named like your plugin + __init.py__ contained within).

                                  -

                                  Proper packages installable via pip

                                  +

                                  Proper packages installable via pip

                                  You can have your users install it via pip and register it for the entry point octoprint.plugin via your plugin’s setup.py, this way it will be found automatically by OctoPrint upon initialization of the -plugin subsystem 1.

                                  +plugin subsystem [1].

                                  For an example of how the directory structure and related files would look like in this case, please take a look at the helloworld example from OctoPrint’s example plugins.

                                  This variant is highly recommended for pretty much any plugin besides the most basic ones since it also allows @@ -180,17 +180,18 @@

                                Footnotes

                                -
                                -
                                1
                                -

                                The automatic registration will only work within the same Python installation (this also includes virtual +

                                -
                                + +
                                -

                                Registering with the official plugin repository

                                +

                                Registering with the official plugin repository

                                Once it is ready for general consumption, you might want to register your plugin with the official OctoPrint Plugin Repository. You can find instructions on how to do that in the Plugin Repository’s help pages.

                                @@ -199,7 +200,7 @@ plugin.

                                -

                                Version management after the official plugin repository release

                                +

                                Version management after the official plugin repository release

                                Once your plugin is available in the official plugin repository, you probably want to create and distribute new versions. For “beta” users you can use the manual file distribution method, or a more elegant release channels (see below). After you finalized a new plugin version, don’t forget to actually update the version in the setup.py, diff --git a/devel/plugins/gettingstarted.html b/devel/plugins/gettingstarted.html index 7a430f5cd..e297d0c88 100644 --- a/devel/plugins/gettingstarted.html +++ b/devel/plugins/gettingstarted.html @@ -1,26 +1,26 @@ - + - + Plugin Tutorial — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -146,8 +146,8 @@

                                -

                                Plugin Tutorial

                                - +

                                Over the course of this little tutorial we’ll build a full fledged, installable OctoPrint plugin that displays “Hello World!” at some locations throughout OctoPrint and also offers some other basic functionality to give you an idea of what you can achieve with OctoPrint’s plugin system.

                                @@ -235,7 +235,7 @@ but not Python 2 (so you can use modern language features), and going forward you really should no longer have to care about the end-of-life Python 2.

                                -

                                Saying hello: How to make the plugin actually do something

                                +

                                Saying hello: How to make the plugin actually do something

                                Apart from being discovered by OctoPrint, our plugin does nothing yet. We want to change that. Let’s make it print “Hello World!” to the log upon server startup. Modify our helloworld.py like this:

                                import octoprint.plugin
                                @@ -269,7 +269,7 @@
                                 for our little plugin here, or more generally octoprint.plugins.<plugin identifier>.

                                -

                                Growing up: How to make it distributable

                                +

                                Growing up: How to make it distributable

                                If you now want to distribute this plugin to other OctoPrint users (since it is so awesome to be greeted upon server startup), let’s take a look at how you’d go about that now before our plugin gets more complicated.

                                You basically have two options to distribute your plugin. One would be about the exact same way we are using it now, @@ -286,7 +286,7 @@

                                (venv) $ pip install "cookiecutter>=2.1.1,<3"
                                 
                                -

                                Then we can use the octoprint dev plugin:new command 1 to generate a new OctoPrint plugin skeleton for us:

                                +

                                Then we can use the octoprint dev plugin:new command [1] to generate a new OctoPrint plugin skeleton for us:

                                (venv) $ cd ~/devel
                                 (venv) $ octoprint dev plugin:new helloworld
                                 Cloning into 'cookiecutter-octoprint-plugin'...
                                @@ -481,7 +481,7 @@
                                 

                                Something is still a bit ugly though. Take a look into __init__.py and setup.py. It seems like we have a bunch of information now defined twice:

                                -
                                Listing 39 __init__.py
                                +
                                Listing 39 __init__.py
                                __plugin_name__ = "Hello World"
                                 __plugin_version__ = "1.0.0"
                                 __plugin_description__ = "A quick \"Hello World\" example plugin for OctoPrint"
                                @@ -489,7 +489,7 @@
                                 
                                -
                                Listing 40 setup.py
                                +
                                Listing 40 setup.py
                                # ...
                                 
                                 # The plugin's human readable name. Can be overwritten within OctoPrint's internal data via __plugin_name__ in the
                                @@ -558,7 +558,7 @@
                                 

                                But let’s add some more features instead.

                                -

                                Frontend fun: How to add functionality to OctoPrint’s web interface

                                +

                                Frontend fun: How to add functionality to OctoPrint’s web interface

                                Outputting a log line upon server startup is all nice and well, but we want to greet not only the administrator of our OctoPrint instance but actually everyone that opens OctoPrint in their browser. Therefore, we need to modify OctoPrint’s web interface itself.

                                @@ -602,7 +602,7 @@

                                Now look at that!

                                -

                                Settings Galore: How to make parts of your plugin user adjustable

                                +

                                Settings Galore: How to make parts of your plugin user adjustable

                                Remember that Wikipedia link we added to our little link in the navigation bar? It links to the English Wikipedia. But what if we want to allow our users to adjust that according to their wishes, e.g. to link to the German language node about “Hello World” programs instead?

                                @@ -761,7 +761,7 @@

                                Congratulations, you’ve just made your Plugin configurable :)

                                -

                                More frontend fun: Adding custom javascript to your frontend components

                                +

                                More frontend fun: Adding custom javascript to your frontend components

                                In the previous section we set that custom_bindings parameter to False since we wanted OctoPrint to bind the SettingsViewModel to our settings dialog and the NavigationViewModel to our entry in the nav bar.

                                But what if we want to define our own, with more functionality that is already available? Let’s take a look. We’ll now @@ -900,7 +900,7 @@

                                More frontend fun: Adding custom javascri of the same article.

                                -

                                Style matters: Injecting custom CSS into the page

                                +

                                Style matters: Injecting custom CSS into the page

                                So it appears that this stuff is working great already. Only one thing is a bit ugly, let’s take another look at our helloworld_tab.jinja2:

                                <div class="input-append">
                                @@ -1004,7 +1004,7 @@ 

                                Style matters: Injecting custom CSS into generated CSS files (and compiles them on the fly in your browser using lessjs), which makes development so much easier. Let’s try that, so you know how it works for future bigger projects.

                                Add another folder to our static folder called less and within that create a file helloworld.less. Put -into that the same content as into our CSS file. Compile that LESS file to CSS 2, overwriting our old helloworld.css +into that the same content as into our CSS file. Compile that LESS file to CSS [2], overwriting our old helloworld.css in the process. The folder structure of our plugin should now look like this:

                                octoprint_helloworld/
                                     static/
                                @@ -1138,7 +1138,7 @@ 

                                Style matters: Injecting custom CSS into

                                -

                                Where do we go from here?

                                +

                                Where do we go from here?

                                You’ve now seen how easy it is to add functionality to OctoPrint with this little tutorial. You can find the full source code of the little Hello World plugin we built together here on Github.

                                But I want to invite you to dive deeper into OctoPrint’s plugin system. To get an idea of all the other various plugin types @@ -1158,21 +1158,23 @@

                                Where do we go from here?Footnotes

                                -
                                -
                                1
                                -

                                Instead of the octoprint dev plugin:new you could also have manually called cookiecutter with the +

                                -
                                2
                                -

                                Refer to the LESS documentation on how to do that. If you are developing + +

                                -
                                + +

                                diff --git a/devel/plugins/helpers.html b/devel/plugins/helpers.html index eb1bbd4d9..11bdc592f 100644 --- a/devel/plugins/helpers.html +++ b/devel/plugins/helpers.html @@ -1,26 +1,26 @@ - + - + Helpers — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -137,14 +137,14 @@
                                -

                                Helpers

                                +

                                Helpers

                                Helpers are methods that plugins can expose to other plugins in order to make common functionality available on the system. They are registered with the OctoPrint plugin system through the use of the control property __plugin_helpers__.

                                An example for providing some helper functions to the system can be found in the Discovery Plugin, which provides its SSDP browsing and Zeroconf browsing and publishing functions as helper methods.

                                -
                                Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                                +
                                Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                                def __plugin_load__():
                                     if not pybonjour:
                                         # no pybonjour available, we can't use that
                                @@ -172,7 +172,7 @@
                                 Using get_helpers() plugins can retrieve exported helper methods and call
                                 them as (hopefully) documented.

                                -
                                Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                                +
                                Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                                def on_after_startup(self):
                                     host = self._settings.get(["hostname"])
                                     port = self._settings.getInt(["port"])
                                diff --git a/devel/plugins/hooks.html b/devel/plugins/hooks.html
                                index 634828416..4ac92fbe5 100644
                                --- a/devel/plugins/hooks.html
                                +++ b/devel/plugins/hooks.html
                                @@ -1,26 +1,26 @@
                                 
                                -
                                +
                                 
                                -  
                                +  
                                 
                                   
                                   Hooks — OctoPrint devel documentation
                                -      
                                -      
                                -      
                                +      
                                +      
                                +      
                                 
                                   
                                   
                                   
                                -        
                                -        
                                -        
                                -        
                                -        
                                -        
                                -        
                                +        
                                +        
                                +        
                                +        
                                +        
                                +        
                                +        
                                         
                                     
                                     
                                @@ -191,8 +191,8 @@
                                            
                                -

                                Hooks

                                -
                                +

                                Hooks

                                +
                              - +
                              -

                              General Concepts

                              +

                              General Concepts

                              Hooks are the smaller siblings of mixins, allowing to extend functionality or data processing where a custom mixin type would be too much overhead. Where mixins are based on classes, hooks are based on methods. Like with the mixin implementations, plugins inform OctoPrint about hook handlers using a control property, __plugin_hooks__.

                              @@ -306,7 +306,7 @@ property instead, manually instantiate your implementation instance and then add its hook handler method to the __plugin_hooks__ property and itself to the __plugin_implementation__ property. See the following example.

                              - +
                              # coding=utf-8
                               
                               import octoprint.plugin
                              @@ -335,7 +335,7 @@
                               
                              -

                              Execution Order

                              +

                              Execution Order

                              Hooks may also define an order number to allow influencing the execution order of the registered hook handlers. Instead of registering only a callback as hook handler, it is also possible to register a 2-tuple consisting of a callback and an integer value used for ordering handlers. They way this works is that OctoPrint will first sort all registered @@ -344,7 +344,7 @@

                              An example should help clear this up. Let’s assume we have the following plugin ordertest which defines a new hook called octoprint.plugin.ordertest.callback:

                              -
                              Listing 15 ordertest.py
                              +
                              Listing 15 ordertest.py
                              import octoprint.plugin
                               
                               class OrderTestPlugin(octoprint.plugin.StartupPlugin):
                              @@ -368,7 +368,7 @@
                               

                              And these three plugins defining handlers for that hook:

                              -
                              Listing 16 oneorderedhook.py
                              +
                              Listing 16 oneorderedhook.py
                              import logging
                               
                                def callback(*args, **kwargs):
                              @@ -383,7 +383,7 @@
                               
                              -
                              Listing 17 anotherorderedhook.py
                              +
                              Listing 17 anotherorderedhook.py
                              import logging
                               
                               def callback(*args, **kwargs):
                              @@ -398,7 +398,7 @@
                               
                              -
                              Listing 18 yetanotherhook.py
                              +
                              Listing 18 yetanotherhook.py
                              import logging
                               
                               def callback(*args, **kwargs):
                              @@ -431,7 +431,7 @@
                               
                              -

                              Available plugin hooks

                              +

                              Available plugin hooks

                              Note

                              All of the hooks below take at least two parameters, *args and **kwargs. Make sure those are @@ -439,7 +439,7 @@ They will act as placeholders if additional parameters are added to the hooks in the future and will allow your plugin to stay compatible to OctoPrint without any necessary adjustments from you in these cases.

                              - +
                              -

                              octoprint.access.permissions

                              +

                              octoprint.access.permissions

                              -additional_permissions_hook(*args, **kwargs)
                              +additional_permissions_hook(*args, **kwargs)
                              -

                              New in version 1.4.0.

                              +

                              Added in version 1.4.0.

                              Return a list of additional permissions to register in the system on behalf of the plugin. Use this to add granular permissions to your plugin which can be configured for users and user groups in the general @@ -543,10 +543,10 @@

                              Once registered it can be referenced under the key PLUGIN_APPKEYS_ADMIN.

                              -
                              Returns
                              +
                              Returns:

                              A list of additional permissions to register in the system.

                              -
                              Return type
                              +
                              Return type:

                              A list of dicts.

                              @@ -554,12 +554,12 @@
                              -

                              octoprint.access.users.factory

                              +

                              octoprint.access.users.factory

                              -user_manager_factory_hook(components, settings, *args, **kwargs)
                              +user_manager_factory_hook(components, settings, *args, **kwargs)
                              -

                              New in version 1.4.0.

                              +

                              Added in version 1.4.0.

                              Return a UserManager instance to use as global user manager object. This will be called only once during initial server startup.

                              @@ -582,16 +582,16 @@ FilebasedUserManager will be instantiated, linked to the default user storage file ~/.octoprint/users.yaml.

                              -
                              Parameters
                              +
                              Parameters:
                              • components (dict) – System components to use for user manager instance initialization

                              • settings (SettingsManager) – The global settings manager instance to fetch configuration values from if necessary

                              -
                              Returns
                              +
                              Returns:

                              The userManager instance to use globally.

                              -
                              Return type
                              +
                              Return type:

                              UserManager subclass or None

                              @@ -599,12 +599,12 @@
                              -

                              octoprint.accesscontrol.keyvalidator

                              +

                              octoprint.accesscontrol.keyvalidator

                              -acl_keyvalidator_hook(apikey, *args, **kwargs)
                              +acl_keyvalidator_hook(apikey, *args, **kwargs)
                              -

                              New in version 1.3.6.

                              +

                              Added in version 1.3.6.

                              Via this hook plugins may validate their own customized API keys to be used to access OctoPrint’s API.

                              apikey will be the API key as read from the request headers.

                              @@ -615,7 +615,7 @@

                              Allows using a user’s id as their API key (for obvious reasons this is NOT recommended in production environments and merely provided for educational purposes):

                              - +
                              # Needs OctoPrint 1.3.6 or newer
                               
                               def hook(apikey, *args, **kwargs):
                              @@ -631,16 +631,16 @@
                               
                              -

                              New in version 1.3.6.

                              +

                              Added in version 1.3.6.

                              -
                              Parameters
                              +
                              Parameters:

                              apikey (str) – The API key to validate

                              -
                              Returns
                              +
                              Returns:

                              The user in whose name the request will be processed further

                              -
                              Return type
                              +
                              Return type:

                              User

                              @@ -648,12 +648,12 @@
                              -

                              octoprint.cli.commands

                              +

                              octoprint.cli.commands

                              -cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                              +cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                              -

                              New in version 1.3.0.

                              +

                              Added in version 1.3.0.

                              By providing a handler for this hook plugins may register commands on OctoPrint’s command line interface (CLI).

                              Handlers are expected to return a list of callables annotated as Click commands to register with the @@ -665,7 +665,7 @@

                              Registers two new commands, custom_cli_command:greet and custom_cli_command:random with OctoPrint:

                              - +
                              # Needs OctoPrint 1.3.x or newer
                               
                               import click
                              @@ -792,11 +792,11 @@
                               anything else like that. The only things available are the settings and the plugin manager.

                              -
                              Returns
                              +
                              Returns:

                              A list of Click commands or groups to provide on OctoPrint’s CLI.

                              -
                              Return type
                              +
                              Return type:

                              list

                              @@ -804,12 +804,12 @@
                              -

                              octoprint.comm.protocol.firmware.info

                              +

                              octoprint.comm.protocol.firmware.info

                              -firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                              +firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                              -

                              New in version 1.3.9.

                              +

                              Added in version 1.3.9.

                              Be notified of firmware information received from the printer following an M115.

                              Hook handlers may use this to react/adjust behaviour based on reported firmware data. OctoPrint parses the received @@ -829,7 +829,7 @@

                              This includes I/O of any kind.

                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (object) – The MachineCom instance which triggered the hook.

                              • firmware_name (str) – The parsed name of the firmware

                              • @@ -841,12 +841,12 @@
                              -

                              octoprint.comm.protocol.firmware.capabilities

                              +

                              octoprint.comm.protocol.firmware.capabilities

                              -firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                              +firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                              -

                              New in version 1.3.9.

                              +

                              Added in version 1.3.9.

                              Be notified of capability report entries received from the printer.

                              Hook handlers may use this to react to custom firmware capabilities. OctoPrint parses the received capability @@ -860,7 +860,7 @@

                              This includes I/O of any kind.

                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (object) – The MachineCom instance which triggered the hook.

                              • capability (str) – The name of the parsed capability

                              • @@ -873,12 +873,12 @@
                              -

                              octoprint.comm.protocol.firmware.capability_report

                              +

                              octoprint.comm.protocol.firmware.capability_report

                              -firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                              +firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                              -

                              New in version 1.9.0.

                              +

                              Added in version 1.9.0.

                              Be notified when all capability report entries are received from the printer.

                              Hook handlers may use this to react to the end of the custom firmware capability report. OctoPrint parses the received @@ -890,7 +890,7 @@

                              This includes I/O of any kind.

                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (object) – The MachineCom instance which triggered the hook.

                              • firmware_capabilities (dict) – Reported capabilities (capability name mapped to enabled flag)

                              • @@ -901,12 +901,12 @@
                              -

                              octoprint.comm.protocol.action

                              +

                              octoprint.comm.protocol.action

                              -protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                              +protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              React to a action command received from the printer.

                              Hook handlers may use this to react to custom firmware messages. OctoPrint parses the received action @@ -921,7 +921,7 @@

                              Example:

                              Logs if the custom action (// action:custom) is received from the printer’s firmware.

                              - +
                              # coding=utf-8
                               
                               import octoprint.plugin
                              @@ -949,7 +949,7 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (object) – The MachineCom instance which triggered the hook.

                              • line (str) – The complete line as received from the printer, format // action:<command>

                              • @@ -966,7 +966,7 @@
                              -

                              octoprint.comm.protocol.atcommand.<phase>

                              +

                              octoprint.comm.protocol.atcommand.<phase>

                              This describes actually two hooks:

                                @@ -976,9 +976,9 @@
                              -protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                              +protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                              -

                              New in version 1.3.7.

                              +

                              Added in version 1.3.7.

                              Trigger on @ commands as they progress through the queuing and sending phases of the comm layer. See the gcode phase hook for a @@ -998,7 +998,7 @@

                              Pause the print on @wait (this mirrors the implementation of the built-in @pause command, just with a different name).

                              - +
                              # coding=utf-8
                               
                               def custom_atcommand_handler(comm, phase, command, parameters, tags=None, *args, **kwargs):
                              @@ -1022,7 +1022,7 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (object) – The MachineCom instance which triggered the hook.

                              • phase (str) – The current phase in the command progression, either queuing or sending. Will always @@ -1036,7 +1036,7 @@

                              -

                              octoprint.comm.protocol.gcode.<phase>

                              +

                              octoprint.comm.protocol.gcode.<phase>

                              This actually describes four hooks:

                                @@ -1048,9 +1048,9 @@
                              -protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                              +protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Pre- and postprocess commands as they progress through the various phases of being sent to the printer. The phases are the following:

                              @@ -1175,7 +1175,7 @@

                              The following hook handler replaces all M107 (“Fan Off”, deprecated) with an M106 S0 (“Fan On” with speed parameter) upon queuing and logs all sent M106.

                              - +
                              # coding=utf-8
                               
                               import octoprint.plugin
                              @@ -1205,7 +1205,7 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (object) – The MachineCom instance which triggered the hook.

                              • phase (str) – The current phase in the command progression, either queuing, queued, sending or @@ -1220,7 +1220,7 @@

                              • tags – Tags attached to the command

                              -
                              Returns
                              +
                              Returns:

                              None, 1-tuple, 2-tuple or string, see the description above for details.

                              @@ -1228,12 +1228,12 @@
                              -

                              octoprint.comm.protocol.gcode.received

                              +

                              octoprint.comm.protocol.gcode.received

                              -gcode_received_hook(comm_instance, line, *args, **kwargs)
                              +gcode_received_hook(comm_instance, line, *args, **kwargs)
                              -

                              New in version 1.3.0.

                              +

                              Added in version 1.3.0.

                              Get the returned lines sent by the printer. Handlers should return the received line or in any case, the modified version of it. If the handler returns None, processing will be aborted and the communication layer will get an @@ -1248,7 +1248,7 @@

                              Example:

                              Looks for the response of an M115, which contains information about the MACHINE_TYPE, among other things.

                              - +
                              # coding=utf-8
                               
                               import logging
                              @@ -1275,16 +1275,16 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                              • line (str) – The line received from the printer.

                              -
                              Returns
                              +
                              Returns:

                              The received line or in any case, a modified version of it.

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -1292,12 +1292,12 @@
                              -

                              octoprint.comm.protocol.gcode.error

                              +

                              octoprint.comm.protocol.gcode.error

                              -gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                              +gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                              -

                              New in version 1.3.7.

                              +

                              Added in version 1.3.7.

                              Get the messages of any errors messages sent by the printer, with the leading Error: or !! already stripped. Handlers should return True if they handled that error internally and it should not be processed by @@ -1315,7 +1315,7 @@

                              Looks for error messages containing “fan error” or “bed missing” (ignoring case) and marks them as handled by the plugin.

                              - +
                              import logging
                               
                               _HANDLED_ERRORS = ('fan error', 'bed missing')
                              @@ -1335,16 +1335,16 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                              • error_message (str) – The error message received from the printer.

                              -
                              Returns
                              +
                              Returns:

                              True if the error was handled in the plugin and should not be processed further, False (or None) otherwise.

                              -
                              Return type
                              +
                              Return type:

                              bool

                              @@ -1352,12 +1352,12 @@
                              -

                              octoprint.comm.protocol.scripts

                              +

                              octoprint.comm.protocol.scripts

                              -protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                              +protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Changed in version 1.3.7.

                              @@ -1375,7 +1375,7 @@

                              Example 1:

                              Appends an M117 OctoPrint connected to the configured afterPrinterConnected GCODE script.

                              - +
                              # coding=utf-8
                               
                               def message_on_connect(comm, script_type, script_name, *args, **kwargs):
                              @@ -1395,7 +1395,7 @@
                               

                              Example 2:

                              Provides the variable myvariable to the configured beforePrintStarted GCODE script.

                              - +
                              # coding=utf-8
                               
                               def gcode_script_variables(comm, script_type, script_name, *args, **kwargs):
                              @@ -1414,17 +1414,17 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                              • script_type (str) – The type of the script for which the hook was called, currently only “gcode” is supported here.

                              • script_name (str) – The name of the script for which the hook was called.

                              -
                              Returns
                              +
                              Returns:

                              A 2-tuple in the form (prefix, postfix), 3-tuple in the form (prefix, postfix, variables), or None

                              -
                              Return type
                              +
                              Return type:

                              tuple or None

                              @@ -1432,12 +1432,12 @@
                              -

                              octoprint.comm.protocol.temperatures.received

                              +

                              octoprint.comm.protocol.temperatures.received

                              -protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                              +protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                              -

                              New in version 1.3.6.

                              +

                              Added in version 1.3.6.

                              Get the parsed temperatures returned by the printer, allowing handlers to modify them prior to handing them off to the system. Handlers are expected to either return parsed_temperatures as-is or a modified copy thereof.

                              @@ -1455,7 +1455,7 @@

                              Example

                              The following example shows how to filter out actual temperatures that are outside a sane range of 1°C to 300°C.

                              - +
                              # coding=utf-8
                               
                               def sanitize_temperatures(comm, parsed_temps):
                              @@ -1477,12 +1477,12 @@
                               
                               
                              -

                              octoprint.comm.transport.serial.additional_port_names

                              +

                              octoprint.comm.transport.serial.additional_port_names

                              -additional_port_names_hook(candidates, *args, **kwargs)
                              +additional_port_names_hook(candidates, *args, **kwargs)
                              -

                              New in version 1.4.1.

                              +

                              Added in version 1.4.1.

                              Return additional port names (not glob patterns!) to use as a serial connection to the printer. Expected to be list of string.

                              @@ -1490,13 +1490,13 @@ to implement custom serial-like ports through plugins.

                              For an example of use see the bundled virtual_printer plugin.

                              -
                              Parameters
                              +
                              Parameters:

                              candidates (list) – The port names already found on the system available for connection.

                              -
                              Returns
                              +
                              Returns:

                              Additional port names to offer up for connection.

                              -
                              Return type
                              +
                              Return type:

                              list

                              @@ -1504,12 +1504,12 @@
                              -

                              octoprint.comm.transport.serial.factory

                              +

                              octoprint.comm.transport.serial.factory

                              -serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                              +serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Return a serial object to use as serial connection to the printer. If a handler cannot create a serial object for the specified port (and baudrate), it should just return None.

                              @@ -1565,7 +1565,7 @@
                              -
                              Parameters
                              +
                              Parameters:
                              • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                              • port (str) – The port for which to construct a serial instance. May be None or AUTO in which case port @@ -1575,10 +1575,10 @@

                              • read_timeout (int) – The read timeout to set on the serial port.

                              -
                              Returns
                              +
                              Returns:

                              The constructed serial object ready for use, or None if the handler could not construct the object.

                              -
                              Return type
                              +
                              Return type:

                              A serial instance implementing the methods readline(...), write(...), close() and optionally baudrate and timeout attributes as described above.

                              @@ -1587,12 +1587,12 @@
                              -

                              octoprint.events.register_custom_events

                              +

                              octoprint.events.register_custom_events

                              -register_custom_events_hook(*args, **kwargs)
                              +register_custom_events_hook(*args, **kwargs)
                              -

                              New in version 1.3.11.

                              +

                              Added in version 1.3.11.

                              Return a list of custom events to register in the system for your plugin.

                              Should return a list of strings which represent the custom events. Their name on the octoprint.events.Events object @@ -1607,10 +1607,10 @@

                              -
                              Returns
                              +
                              Returns:

                              A list of custom events to register

                              -
                              Return type
                              +
                              Return type:

                              list

                              @@ -1618,12 +1618,12 @@
                              -

                              octoprint.filemanager.analysis.factory

                              +

                              octoprint.filemanager.analysis.factory

                              -analysis_queue_factory_hook(*args, **kwargs)
                              +analysis_queue_factory_hook(*args, **kwargs)
                              -

                              New in version 1.3.9.

                              +

                              Added in version 1.3.9.

                              Return additional (or replacement) analysis queue factories used for analysing uploaded files.

                              Should return a dictionary to merge with the existing dictionary of factories, mapping from extension tree leaf @@ -1646,10 +1646,10 @@

                              -
                              Returns
                              +
                              Returns:

                              A dictionary of analysis queue factories, mapped by their targeted file type.

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -1657,12 +1657,12 @@
                              -

                              octoprint.filemanager.extension_tree

                              +

                              octoprint.filemanager.extension_tree

                              -file_extension_hook(*args, **kwargs)
                              +file_extension_hook(*args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Return additional entries for the tree of accepted file extensions for uploading/handling by the file manager.

                              Should return a dictionary to merge with the existing extension tree, adding additional extension groups to @@ -1685,10 +1685,10 @@ in the rest of the system (e.g. handling/preprocessing new machine code file types for printing etc)!

                              -
                              Returns
                              +
                              Returns:

                              The partial extension tree to merge with the full extension tree.

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -1696,12 +1696,12 @@
                              -

                              octoprint.filemanager.preprocessor

                              +

                              octoprint.filemanager.preprocessor

                              -file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                              +file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Replace the file_object used for saving added files to storage by calling save().

                              path will be the future path of the file on the storage. The file’s name is accessible via @@ -1712,7 +1712,7 @@

                              Example

                              The following plugin example strips all comments from uploaded/generated GCODE files ending on the name postfix _strip.

                              - +
                              # coding=utf-8
                               
                               import octoprint.plugin
                              @@ -1750,7 +1750,7 @@
                               
                              -
                              Parameters
                              +
                              Parameters:
                              • path (str) – The path on storage the file_object is to be stored

                              • file_object (AbstractFileWrapper) – The AbstractFileWrapper instance @@ -1760,10 +1760,10 @@

                              • allow_overwrite (boolean) – Whether to allow overwriting an existing file named the same or not.

                              -
                              Returns
                              +
                              Returns:

                              The file_object as passed in or None, or a replaced version to use instead for further processing.

                              -
                              Return type
                              +
                              Return type:

                              AbstractFileWrapper or None

                              @@ -1771,61 +1771,61 @@
                              -

                              octoprint.plugin.backup.additional_excludes

                              +

                              octoprint.plugin.backup.additional_excludes

                              -

                              New in version 1.5.0.

                              +

                              Added in version 1.5.0.

                              See here.

                              -

                              octoprint.plugin.backup.before_backup

                              +

                              octoprint.plugin.backup.before_backup

                              -

                              New in version 1.9.0.

                              +

                              Added in version 1.9.0.

                              See here.

                              -

                              octoprint.plugin.backup.after_backup

                              +

                              octoprint.plugin.backup.after_backup

                              -

                              New in version 1.9.0.

                              +

                              Added in version 1.9.0.

                              See here.

                              -

                              octoprint.plugin.backup.before_restore

                              +

                              octoprint.plugin.backup.before_restore

                              -

                              New in version 1.9.0.

                              +

                              Added in version 1.9.0.

                              See here.

                              -

                              octoprint.plugin.backup.after_restore

                              +

                              octoprint.plugin.backup.after_restore

                              -

                              New in version 1.9.0.

                              +

                              Added in version 1.9.0.

                              See here.

                              -

                              octoprint.plugin.pluginmanager.reconnect_hooks

                              +

                              octoprint.plugin.pluginmanager.reconnect_hooks

                              -

                              New in version 1.4.0.

                              +

                              Added in version 1.4.0.

                              See here.

                              -

                              octoprint.plugin.softwareupdate.check_config

                              +

                              octoprint.plugin.softwareupdate.check_config

                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              See here.

                              -

                              octoprint.printer.additional_state_data

                              +

                              octoprint.printer.additional_state_data

                              -additional_state_data_hook(initial=False, *args, **kwargs)
                              +additional_state_data_hook(initial=False, *args, **kwargs)
                              -

                              New in version 1.5.0.

                              +

                              Added in version 1.5.0.

                              Use this to inject additional data into the data structure returned from the printer backend to the frontend on the push socket or other registered octoprint.printer.PrinterCallback. Anything you return here @@ -1840,13 +1840,13 @@

                              Cache your data!

                              -
                              Parameters
                              +
                              Parameters:

                              initial (boolean) – True if this is the initial update, False otherwise

                              -
                              Returns
                              +
                              Returns:

                              Additional data to include

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -1854,12 +1854,12 @@
                              -

                              octoprint.printer.factory

                              +

                              octoprint.printer.factory

                              -printer_factory_hook(components, *args, **kwargs)
                              +printer_factory_hook(components, *args, **kwargs)
                              -

                              New in version 1.3.0.

                              +

                              Added in version 1.3.0.

                              Return a PrinterInstance instance to use as global printer object. This will be called only once during initial server startup.

                              @@ -1881,13 +1881,13 @@

                              If none of the registered factories return a printer instance, the default Printer class will be instantiated.

                              -
                              Parameters
                              +
                              Parameters:

                              components (dict) – System components to use for printer instance initialization

                              -
                              Returns
                              +
                              Returns:

                              The printer instance to use globally.

                              -
                              Return type
                              +
                              Return type:

                              PrinterInterface subclass or None

                              @@ -1895,12 +1895,12 @@
                              -

                              octoprint.printer.handle_connect

                              +

                              octoprint.printer.handle_connect

                              handle_connect(*args, **kwargs):
                              -

                              New in version 1.6.0.

                              +

                              Added in version 1.6.0.

                              Allows plugins to perform actions upon connecting to a printer. By returning True, plugins may also prevent further processing of the connect command. This hook is of @@ -1908,14 +1908,14 @@ circumstances or if you need to do something before a connection to the printer is established (e.g. switching on power to the printer).

                              -
                              Parameters
                              +
                              Parameters:

                              kwargs – All connection parameters supplied to the connect call. Currently this also includes port, baudrate and profile.

                              -
                              Returns
                              +
                              Returns:

                              True if OctoPrint should not proceed with the connect

                              -
                              Return type
                              +
                              Return type:

                              boolean or None

                              @@ -1923,12 +1923,12 @@
                              -

                              octoprint.printer.estimation.factory

                              +

                              octoprint.printer.estimation.factory

                              +print_time_estimator_factory(*args, **kwargs)
                              -

                              New in version 1.3.9.

                              +

                              Added in version 1.3.9.

                              Return a PrintTimeEstimator subclass (or factory) to use for print time estimation. This will be called on each start of a print or streaming job with a single parameter job_type @@ -1960,10 +1960,10 @@

                              -
                              Returns
                              +
                              Returns:

                              The PrintTimeEstimator class to use, or a factory method

                              -
                              Return type
                              +
                              Return type:

                              class or function

                              @@ -1971,12 +1971,12 @@
                              -

                              octoprint.printer.sdcardupload

                              +

                              octoprint.printer.sdcardupload

                              -sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                              +sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                              -

                              New in version 1.3.11.

                              +

                              Added in version 1.3.11.

                              Via this hook plugins can change the way files are being uploaded to the sd card of the printer.

                              Implementations must call the provided start_callback on start of the file transfer and either the success_callback @@ -2034,10 +2034,10 @@

                              -

                              New in version 1.3.11.

                              +

                              Added in version 1.3.11.

                              -
                              Parameters
                              +
                              Parameters:
                              • printer (object) – the PrinterInterface instance the hook was called from

                              • filename (str) – filename on the local storage

                              • @@ -2047,10 +2047,10 @@
                              • sd_upload_failure (function) – callback for failure of upload

                              -
                              Returns
                              +
                              Returns:

                              the name of the file on the sdcard storage or None

                              -
                              Return type
                              +
                              Return type:

                              string or None

                              @@ -2058,12 +2058,12 @@
                              -

                              octoprint.server.api.after_request

                              +

                              octoprint.server.api.after_request

                              -after_request_handlers_hook(*args, **kwargs)
                              +after_request_handlers_hook(*args, **kwargs)
                              -

                              New in version 1.3.10.

                              +

                              Added in version 1.3.10.

                              Allows adding additional after-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                              Your plugin might need this to further restrict access to API methods.

                              @@ -2075,12 +2075,12 @@
                              -

                              octoprint.server.api.before_request

                              +

                              octoprint.server.api.before_request

                              -before_request_handlers_hook(*args, **kwargs)
                              +before_request_handlers_hook(*args, **kwargs)
                              -

                              New in version 1.3.10.

                              +

                              Added in version 1.3.10.

                              Allows adding additional before-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                              Your plugin might need this to further restrict access to API methods.

                              @@ -2092,12 +2092,12 @@
                              -

                              octoprint.server.http.access_validator

                              +

                              octoprint.server.http.access_validator

                              -access_validator_hook(request, *args, **kwargs)
                              +access_validator_hook(request, *args, **kwargs)
                              -

                              New in version 1.3.10.

                              +

                              Added in version 1.3.10.

                              Allows adding additional access validators to the default tornado routers.

                              Your plugin might need to this to restrict access to downloads and webcam snapshots further.

                              @@ -2109,12 +2109,12 @@
                              -

                              octoprint.server.http.bodysize

                              +

                              octoprint.server.http.bodysize

                              -server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                              +server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Allows extending the list of custom maximum body sizes on the web server per path and HTTP method with custom entries from plugins.

                              @@ -2136,7 +2136,7 @@ 500 and 1024KB. To test its functionality try uploading files larger or smaller than an endpoint’s configured maximum size (as multipart request with the file upload residing in request parameter file) and observe the behaviour.

                              - +
                              # coding=utf-8
                               
                               import octoprint.plugin
                              @@ -2186,13 +2186,13 @@
                               
                              -
                              Parameters
                              +
                              Parameters:

                              current_max_body_sizes (list) – read-only list of the currently configured maximum body sizes

                              -
                              Returns
                              +
                              Returns:

                              A list of 3-tuples with additional request specific maximum body sizes as defined above

                              -
                              Return type
                              +
                              Return type:

                              list

                              @@ -2200,12 +2200,12 @@
                              -

                              octoprint.server.http.routes

                              +

                              octoprint.server.http.routes

                              -server_route_hook(server_routes, *args, **kwargs)
                              +server_route_hook(server_routes, *args, **kwargs)
                              -

                              New in version 1.2.0.

                              +

                              Added in version 1.2.0.

                              Allows extending the list of routes registered on the web server.

                              This is interesting for plugins which want to provide their own download URLs which will then be delivered statically @@ -2242,7 +2242,7 @@

                              The following example registers two new routes /plugin/add_tornado_route/download and /plugin/add_tornado_route/forward in the webserver which roughly replicate the functionality of /downloads/files/local and /downloads/camera/current.

                              - +
                              # coding=utf-8
                               
                               import octoprint.plugin
                              @@ -2289,13 +2289,13 @@
                               
                              -
                              Parameters
                              +
                              Parameters:

                              server_routes (list) – read-only list of the currently configured server routes

                              -
                              Returns
                              +
                              Returns:

                              a list of 3-tuples with additional routes as defined above

                              -
                              Return type
                              +
                              Return type:

                              list

                              @@ -2303,16 +2303,16 @@
                              -

                              octoprint.server.sockjs.authed

                              +

                              octoprint.server.sockjs.authed

                              socket_authed_hook(socket, user, *args, **kwargs):
                              -

                              New in version 1.3.10.

                              +

                              Added in version 1.3.10.

                              Allows plugins to be notified that a user got authenticated or deauthenticated on the socket (e.g. due to logout).

                              -
                              Parameters
                              +
                              Parameters:
                              • socket (object) – the socket object which is about to be registered

                              • user (object) – the user that got authenticated on the socket, or None if the user got deauthenticated

                              • @@ -2323,27 +2323,27 @@
                              -

                              octoprint.server.sockjs.register

                              +

                              octoprint.server.sockjs.register

                              socket_registration_hook(socket, user, *args, **kwargs):
                              -

                              New in version 1.3.10.

                              +

                              Added in version 1.3.10.

                              Allows plugins to prevent a new push socket client to be registered to the system.

                              Handlers should return either True or False. True signals to proceed with normal registration. False signals to not register the client.

                              -
                              Parameters
                              +
                              Parameters:
                              • socket (object) – the socket object which is about to be registered

                              • user (object) – the user currently authenticated on the socket - might be None

                              -
                              Returns
                              +
                              Returns:

                              whether to proceed with registration (True) or not (False)

                              -
                              Return type
                              +
                              Return type:

                              boolean

                              @@ -2351,17 +2351,17 @@
                              -

                              octoprint.server.sockjs.emit

                              +

                              octoprint.server.sockjs.emit

                              socket_emit_hook(socket, user, message, payload, *args, **kwargs):
                              -

                              New in version 1.3.10.

                              +

                              Added in version 1.3.10.

                              Allows plugins to prevent any messages to be emitted on an existing push connection.

                              Handlers should return either True to allow the message to be emitted, or False to prevent it.

                              -
                              Parameters
                              +
                              Parameters:
                              • socket (object) – the socket object on which a message is about to be emitted

                              • user (object) – the user currently authenticated on the socket - might be None

                              • @@ -2369,10 +2369,10 @@
                              • payload (dict) – the payload of the message about to be emitted (may be None)

                              -
                              Returns
                              +
                              Returns:

                              whether to proceed with sending the message (True) or not (False)

                              -
                              Return type
                              +
                              Return type:

                              boolean

                              @@ -2380,22 +2380,22 @@
                              -

                              octoprint.system.additional_commands

                              +

                              octoprint.system.additional_commands

                              -additional_commands_hook(*args, **kwargs)
                              +additional_commands_hook(*args, **kwargs)
                              -

                              New in version 1.7.0.

                              +

                              Added in version 1.7.0.

                              Allows adding additional system commands into the system menu. Handlers must return a list of system command definitions, each definition matching the following data structure:

                              -

              Path

              Value

              +
              ----++++ @@ -2463,10 +2463,10 @@
              -
              Returns
              +
              Returns:

              a list of command specifications

              -
              Return type
              +
              Return type:

              list

              @@ -2474,12 +2474,12 @@
              -

              octoprint.systeminfo.additional_bundle_files

              +

              octoprint.systeminfo.additional_bundle_files

              -additional_bundle_files_hook(*args, **kwargs)
              +additional_bundle_files_hook(*args, **kwargs)
              -

              New in version 1.7.0.

              +

              Added in version 1.7.0.

              Allows bundled plugins to extend the list of files to include in the systeminfo bundle. Note that this hook will ignore third party plugins. Handlers must return a dictionary @@ -2497,10 +2497,10 @@

              -
              Returns
              +
              Returns:

              a dictionary mapping bundle file names to bundle file content

              -
              Return type
              +
              Return type:

              dict

              @@ -2508,12 +2508,12 @@
              -

              octoprint.timelapse.extensions

              +

              octoprint.timelapse.extensions

              -timelapse_extension_hook(*args, **kwargs)
              +timelapse_extension_hook(*args, **kwargs)
              -

              New in version 1.3.10.

              +

              Added in version 1.3.10.

              Allows extending the set of supported file extensions for timelapse files. Handlers must return a list of additional file extensions.

              @@ -2528,10 +2528,10 @@
              -
              Returns
              +
              Returns:

              a list of additional file extensions

              -
              Return type
              +
              Return type:

              list

              @@ -2539,12 +2539,12 @@
              -

              octoprint.ui.web.templatetypes

              +

              octoprint.ui.web.templatetypes

              -templatetype_hook(template_sorting, template_rules, *args, **kwargs)
              +templatetype_hook(template_sorting, template_rules, *args, **kwargs)
              -

              New in version 1.2.0.

              +

              Added in version 1.2.0.

              Allows extending the set of supported template types in the web interface. This is interesting for plugins which want to offer other plugins to hook into their own offered UIs. Handlers must return a list of additional template @@ -2554,10 +2554,10 @@

              The second entry must be a sorting specification that defines how OctoPrint should sort multiple templates injected through plugins of this template type. The sorting specification should be a dict with the following possible entries:

              -

              Name

              +
              --++ @@ -2590,10 +2590,10 @@

              The third entry must be a rule specification in form of a dict which tells OctoPrint how to process the template configuration entries provided by get_template_configs() by providing transformation functions of various kinds:

              -

              Key

              +
              --++ @@ -2635,7 +2635,7 @@

              The example consists of two plugins, one providing a custom template type and the other consuming it.

              First the provider:

              - +
              # coding=utf-8
               
               import octoprint.plugin
              @@ -2661,7 +2661,7 @@
               
              - +
              <h3>{{ _('Awesome Template Injections') }}</h3>
               
               {% for key in templates.plugin_custom_template_provider_awesometemplate.order %}
              @@ -2676,7 +2676,7 @@
               

              Then the consumer:

              - +
              # coding=utf-8
               
               import octoprint.plugin
              @@ -2700,22 +2700,22 @@
               
              -
              Parameters
              +
              Parameters:
              • template_rules (dict) – read-only dictionary of currently configured template rules

              • template_sorting (dict) – read-only dictionary of currently configured template sorting specifications

              -
              Returns
              +
              Returns:

              a list of 3-tuples (template type, rule, sorting spec)

              -
              Return type
              +
              Return type:

              list

              @@ -2723,7 +2723,7 @@
              -

              octoprint.theming.<dialog>

              +

              octoprint.theming.<dialog>

              This actually describes two hooks:

                @@ -2733,9 +2733,9 @@
              -ui_theming_hook(*args, **kwargs)
              +ui_theming_hook(*args, **kwargs)
              -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              Support theming of the login or recovery dialog, just in case the core UI is themed as well. Use to return a list of additional CSS file URLs to inject into the dialog HTML.

              @@ -2752,10 +2752,10 @@

              Only a list of ready-made URLs to CSS files is supported, neither LESS nor JS. Best use url_for like in the example above to be prepared for any configured prefix URLs.

              -
              Returns
              +
              Returns:

              A list of additional CSS URLs to inject into the login or recovery dialog.

              -
              Return type
              +
              Return type:

              A list of strings.

              @@ -2763,23 +2763,23 @@
              -

              octoprint.timelapse.capture.pre

              +

              octoprint.timelapse.capture.pre

              -capture_pre_hook(filename)
              +capture_pre_hook(filename)
              -

              New in version 1.4.0.

              +

              Added in version 1.4.0.

              Perform specific actions prior to capturing a timelapse frame.

              filename will be the future path of the frame to be saved.

              -
              Parameters
              +
              Parameters:

              filename (str) – The future path of the frame to be saved.

              -
              Returns
              +
              Returns:

              None

              -
              Return type
              +
              Return type:

              None

              @@ -2787,27 +2787,27 @@
              -

              octoprint.timelapse.capture.post

              +

              octoprint.timelapse.capture.post

              -capture_post_hook(filename, success)
              +capture_post_hook(filename, success)
              -

              New in version 1.4.0.

              +

              Added in version 1.4.0.

              Perform specific actions after capturing a timelapse frame.

              filename will be the path of the frame that should have been saved. success indicates whether the capture was successful or not.

              -
              Parameters
              +
              Parameters:
              • filename (str) – The path of the frame that should have been saved.

              • success (boolean) – Indicates whether the capture was successful or not.

              -
              Returns
              +
              Returns:

              None

              -
              Return type
              +
              Return type:

              None

              diff --git a/devel/plugins/index.html b/devel/plugins/index.html index b2f02766a..1a9641a45 100644 --- a/devel/plugins/index.html +++ b/devel/plugins/index.html @@ -1,26 +1,26 @@ - + - + Developing Plugins — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
              -

              Developing Plugins

              +

              Developing Plugins

              • General Concepts
                  diff --git a/devel/plugins/injectedproperties.html b/devel/plugins/injectedproperties.html index 86de3fe44..187da5f24 100644 --- a/devel/plugins/injectedproperties.html +++ b/devel/plugins/injectedproperties.html @@ -1,26 +1,26 @@ - + - + Injected Properties — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -137,7 +137,7 @@
                  -

                  Injected Properties

                  +

                  Injected Properties

                  OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties follows.

                  diff --git a/devel/plugins/mixins.html b/devel/plugins/mixins.html index 90a211c05..ab8bab276 100644 --- a/devel/plugins/mixins.html +++ b/devel/plugins/mixins.html @@ -1,26 +1,26 @@ - + - + Mixins — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -161,8 +161,8 @@
                  -

                  Mixins

                  -
                  +

                  Mixins

                  +
                -
              +
              -

              General Concepts

              +

              General Concepts

              Plugin mixins are the heart of OctoPrint’s plugin system. They are special base classes which are to be subclassed and extended to add functionality to OctoPrint. Plugins declare their instances that implement one or multiple mixins using the __plugin_implementation__ control property. OctoPrint’s plugin core @@ -232,7 +232,7 @@

              -

              Execution Order

              +

              Execution Order

              Some mixin types, such as StartupPlugin, ShutdownPlugin and UiPlugin, support influencing the execution order for various execution contexts by also implementing the SortablePlugin mixin.

              @@ -254,7 +254,7 @@ and plugin_d don’t override get_sorting_key(). plugin_b and plugin_c both return 1 for the sorting context StartupPlugin.on_startup, None otherwise:

              -
              Listing 8 plugin_a.py
              +
              Listing 8 plugin_a.py
              import octoprint.plugin
               
               class PluginA(octoprint.plugin.StartupPlugin):
              @@ -270,7 +270,7 @@
               
              -
              Listing 9 plugin_b.py
              +
              Listing 9 plugin_b.py
              import octoprint.plugin
               
               class PluginB(octoprint.plugin.StartupPlugin):
              @@ -291,7 +291,7 @@
               
              -
              Listing 10 plugin_c.py
              +
              Listing 10 plugin_c.py
              import octoprint.plugin
               
               class PluginC(octoprint.plugin.StartupPlugin):
              @@ -313,7 +313,7 @@
               
              -
              Listing 11 plugin_d.py
              +
              Listing 11 plugin_d.py
              # in this example this is bundled with OctoPrint
               import octoprint.plugin
               
              @@ -350,7 +350,7 @@
               
              -

              Injected Properties

              +

              Injected Properties

              OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties can be found in the section Injected Properties.

              @@ -362,9 +362,9 @@
              -

              Available plugin mixins

              +

              Available plugin mixins

              The following plugin mixins are currently available:

              - +

              Please note that all plugin mixins inherit from Plugin and OctoPrintPlugin, which also provide attributes of interest to plugin developers.

              -

              AssetPlugin

              +

              AssetPlugin

              -class octoprint.plugin.AssetPlugin
              +class octoprint.plugin.AssetPlugin

              Bases: OctoPrintPlugin, RestartNeedingPlugin

              The AssetPlugin mixin allows plugins to define additional static assets such as JavaScript or CSS files to be automatically embedded into the pages delivered by the server to be used within the client sided part of @@ -400,11 +400,11 @@

              AssetPlugin is a RestartNeedingPlugin.

              -get_asset_folder()
              +get_asset_folder()

              Defines the folder where the plugin stores its static assets as defined in get_assets(). Override this if your plugin stores its assets at some other place than the static sub folder in the plugin base directory.

              -
              Return string
              +
              Return string:

              the absolute path to the folder where the plugin stores its static assets

              @@ -412,7 +412,7 @@
              -get_assets()
              +get_assets()

              Defines the static assets the plugin offers. The following asset types are recognized and automatically imported at the appropriate places to be available:

              @@ -443,7 +443,7 @@ Flask-Assets.

              If not overridden, this will return a dictionary of all discovered assets following the format <type>/<identifier>.<ext> (since 1.11.0).

              -
              Return dict
              +
              Return dict:

              a dictionary describing the static assets to publish for the plugin

              @@ -453,10 +453,10 @@
              -

              BlueprintPlugin

              +

              BlueprintPlugin

              -class octoprint.plugin.BlueprintPlugin
              +class octoprint.plugin.BlueprintPlugin

              Bases: OctoPrintPlugin, RestartNeedingPlugin

              The BlueprintPlugin mixin allows plugins to define their own full fledged endpoints for whatever purpose, be it a more sophisticated API than what is possible via the SimpleApiPlugin or a custom web frontend.

              @@ -520,35 +520,35 @@
              -static csrf_exempt()
              +static csrf_exempt()

              A decorator to mark a view method in your BlueprintPlugin as exempt from CSRF protection. This makes sense if you offer an authenticated API for a certain workflow (see e.g. the bundled appkeys plugin) but in most cases should not be needed.

              -

              New in version 1.8.3.

              +

              Added in version 1.8.3.

              -static errorhandler(code_or_exception)
              +static errorhandler(code_or_exception)

              A decorator to mark errorhandlings methods in your BlueprintPlugin subclass. Works just the same as Flask’s own errorhandler decorator available on blueprints.

              See the documentation for flask.Blueprint.errorhandler and the documentation for flask.Flask.errorhandler for more information.

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_blueprint()
              +get_blueprint()

              Creates and returns the blueprint for your plugin. Override this if you want to define and handle your blueprint yourself.

              This method will only be called once during server initialization.

              -
              Returns
              +
              Returns:

              the blueprint ready to be registered with Flask

              @@ -556,7 +556,7 @@
              -get_blueprint_api_prefixes()
              +get_blueprint_api_prefixes()

              Return all prefixes of your endpoint that are an API that should be containing JSON only.

              Anything that matches this will generate JSON error messages in case of flask.abort calls, instead of the default HTML ones.

              @@ -567,7 +567,7 @@
              -get_blueprint_kwargs()
              +get_blueprint_kwargs()

              Override this if you want your blueprint constructed with additional options such as static_folder, template_folder, etc.

              Defaults to the blueprint’s static_folder and template_folder to be set to the plugin’s basefolder @@ -577,7 +577,7 @@

              -is_blueprint_csrf_protected()
              +is_blueprint_csrf_protected()

              Whether a blueprint’s endpoints are CSRF protected. For now, this defaults to False to leave it up to plugins to decide which endpoints should be protected. Long term, this will default to True and hence enforce protection unless a plugin opts out by returning False here.

              @@ -585,13 +585,13 @@ to alert you of the requirement to make a decision here and to not rely on the default implementation, due to the forthcoming change in implemented default behaviour.

              -

              New in version 1.8.3.

              +

              Added in version 1.8.3.

              -is_blueprint_protected()
              +is_blueprint_protected()

              Whether a login session by a registered user is needed to access the blueprint’s endpoints. Requiring a session is the default. Note that this only restricts access to the blueprint’s dynamic methods, static files are always accessible.

              @@ -601,7 +601,7 @@
              -static route(rule, **options)
              +static route(rule, **options)

              A decorator to mark view methods in your BlueprintPlugin subclass. Works just the same as Flask’s own route decorator available on blueprints.

              See the documentation for flask.Blueprint.route @@ -613,10 +613,10 @@

              -

              EventHandlerPlugin

              +

              EventHandlerPlugin

              -class octoprint.plugin.EventHandlerPlugin
              +class octoprint.plugin.EventHandlerPlugin

              Bases: OctoPrintPlugin

              The EventHandlerPlugin mixin allows OctoPrint plugins to react to any of OctoPrint’s events. OctoPrint will call the on_event() method for any event fired on its internal event bus, supplying the @@ -627,14 +627,14 @@ videos rendering etc.

              -on_event(event, payload)
              +on_event(event, payload)

              Called by OctoPrint upon processing of a fired event on the platform.

              Warning

              Do not perform long-running or even blocking operations in your implementation or you will block and break the server.

              -
              Parameters
              +
              Parameters:
              • event (str) – The type of event that got fired, see the list of events for possible values

              • @@ -648,10 +648,10 @@
              -

              MfaPlugin

              +

              MfaPlugin

              -class octoprint.plugin.MfaPlugin
              +class octoprint.plugin.MfaPlugin

              Bases: TemplatePlugin, OctoPrintPlugin, SortablePlugin

              The MfaPlugin mixin allows plugins to provide multi-factor authentication (MFA) for OctoPrint.

              This mixin is especially interesting for plugins which want to add additional security to OctoPrint, e.g. by requiring @@ -662,27 +662,27 @@ Additionally there’s a dummy implementation used for testing as part of OctoPrint’s source code in the folder .github/fixtures/mfa_dummy. Interested plugin developers are encouraged to take a look at both these implementation to get an idea of how to implement their own MFA plugin.

              -

              New in version 1.11.0.

              +

              Added in version 1.11.0.

              -has_mfa_credentials(request, user, data, *args, **kwargs)
              +has_mfa_credentials(request, user, data, *args, **kwargs)

              Checks whether the request contains the necessary MFA credentials for the given user.

              -
              Parameters
              +
              Parameters:
              • request (flask.Request) – The request to check

              • user (User) – The user to check the MFA credentials for

              • data (dict) – The data from the request

              -
              Returns
              +
              Returns:

              True if the request contains the necessary MFA credentials (or the MFA method is not enabled for the user), False otherwise

              -
              Return type
              +
              Return type:

              bool

              -
              Raises
              +
              Raises:

              WrongMfaCredentials – If the request contains the necessary MFA credentials but they are wrong

              @@ -690,16 +690,16 @@
              -is_mfa_enabled(user)
              +is_mfa_enabled(user)

              Whether this MFA method is enabled for the given user.

              -
              Parameters
              +
              Parameters:

              user (User) – The user to check the MFA status for

              -
              Returns
              +
              Returns:

              True if this MFA method is enabled for the user, False otherwise

              -
              Return type
              +
              Return type:

              bool

              @@ -709,19 +709,19 @@
              -

              ProgressPlugin

              +

              ProgressPlugin

              -class octoprint.plugin.ProgressPlugin
              +class octoprint.plugin.ProgressPlugin

              Bases: OctoPrintPlugin

              Via the ProgressPlugin mixing plugins can let themselves be called upon progress in print jobs or slicing jobs, limited to minimally 1% steps.

              -on_print_progress(storage, path, progress)
              +on_print_progress(storage, path, progress)

              Called by OctoPrint on minimally 1% increments during a running print job.

              -
              Parameters
              +
              Parameters:
              • storage (string) – Location of the file

              • path (string) – Path of the file

              • @@ -733,10 +733,10 @@
                -on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)
                +on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)

                Called by OctoPrint on minimally 1% increments during a running slicing job.

                -
                Parameters
                +
                Parameters:
                • slicer (string) – Key of the slicer reporting the progress

                • source_location (string) – Location of the source file

                • @@ -753,30 +753,30 @@
              -

              ReloadNeedingPlugin

              +

              ReloadNeedingPlugin

              -class octoprint.plugin.ReloadNeedingPlugin
              +class octoprint.plugin.ReloadNeedingPlugin

              Bases: Plugin

              Mixin for plugin types that need a reload of the UI after enabling/disabling them.

              -

              RestartNeedingPlugin

              +

              RestartNeedingPlugin

              -class octoprint.plugin.RestartNeedingPlugin
              +class octoprint.plugin.RestartNeedingPlugin

              Bases: Plugin

              Mixin for plugin types that need a restart after enabling/disabling them.

              -

              SettingsPlugin

              +

              SettingsPlugin

              -class octoprint.plugin.SettingsPlugin
              +class octoprint.plugin.SettingsPlugin

              Bases: OctoPrintPlugin

              Including the SettingsPlugin mixin allows plugins to store and retrieve their own settings within OctoPrint’s configuration.

              @@ -845,13 +845,13 @@
              -config_version_key = '_config_version'
              +config_version_key = '_config_version'

              Key of the field in the settings that holds the configuration format version.

              -get_settings_defaults()
              +get_settings_defaults()

              Retrieves the plugin’s default settings with which the plugin’s settings manager will be initialized.

              Override this in your plugin’s implementation and return a dictionary defining your settings data structure with included default values.

              @@ -859,7 +859,7 @@
              -get_settings_preprocessors()
              +get_settings_preprocessors()

              Retrieves the plugin’s preprocessors to use for preprocessing returned or set values prior to returning/setting them.

              The preprocessors should be provided as a dictionary mapping the path of the values to preprocess @@ -886,11 +886,11 @@

              -
              Returns
              +
              Returns:

              A tuple consisting of two dictionaries, the first being the plugin’s preprocessors for getters, the second the preprocessors for setters

              -
              Return type
              +
              Return type:

              (dict, dict)

              @@ -898,7 +898,7 @@
              -get_settings_restricted_paths()
              +get_settings_restricted_paths()

              Retrieves the list of paths in the plugin’s settings which be restricted on the REST API.

              Override this in your plugin’s implementation to restrict whether a path should only be returned to users with certain permissions, or never on the REST API.

              @@ -966,23 +966,23 @@
              -

              New in version 1.2.17.

              +

              Added in version 1.2.17.

              -get_settings_version()
              +get_settings_version()

              Retrieves the settings format version of the plugin.

              Use this to have OctoPrint trigger your migration function if it detects an outdated settings version in config.yaml.

              -
              Returns
              +
              Returns:

              an int signifying the current settings format, should be incremented by plugins whenever there are backwards incompatible changes. Returning None here disables the version tracking for the plugin’s configuration.

              -
              Return type
              +
              Return type:

              int or None

              @@ -990,20 +990,20 @@
              -on_settings_cleanup()
              +on_settings_cleanup()

              Called after migration and initialization but before call to on_settings_initialized().

              Plugins may overwrite this method to perform additional clean up tasks.

              The default implementation just minimizes the data persisted on disk to only contain the differences to the defaults (in case the current data was persisted with an older version of OctoPrint that still duplicated default data).

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -on_settings_initialized()
              +on_settings_initialized()

              Called after the settings have been initialized and - if necessary - also been migrated through a call to func:on_settings_migrate.

              This method will always be called after the initialize method.

              @@ -1011,7 +1011,7 @@
              -on_settings_load()
              +on_settings_load()

              Loads the settings for the plugin, called by the Settings API view in order to retrieve all settings from all plugins. Override this if you want to inject additional settings properties that are not stored within OctoPrint’s configuration.

              @@ -1029,7 +1029,7 @@ Make sure to do your own restriction if you decide to fully overload this method.

              -
              Returns
              +
              Returns:

              the current settings of the plugin, as a dictionary

              @@ -1037,7 +1037,7 @@
              -on_settings_migrate(target, current)
              +on_settings_migrate(target, current)

              Called by OctoPrint if it detects that the installed version of the plugin necessitates a higher settings version than the one currently stored in _config.yaml. Will also be called if the settings data stored in config.yaml doesn’t have version information, in which case the current parameter will be None.

              @@ -1047,7 +1047,7 @@ having taken place. You can therefore depend on the configuration having been migrated by the time on_settings_initialized() is called.

              -
              Parameters
              +
              Parameters:
              • target (int) – The settings format version the plugin requires, this should always be the same value as returned by get_settings_version().

              • @@ -1060,7 +1060,7 @@
                -on_settings_save(data)
                +on_settings_save(data)

                Saves the settings for the plugin, called by the Settings API view in order to persist all settings from all plugins. Override this if you need to directly react to settings changes or want to extract additional settings properties that are not stored within OctoPrint’s configuration.

                @@ -1074,13 +1074,13 @@ and using the proper setter methods on the settings manager to persist the data in the correct format.

                -
                Parameters
                +
                Parameters:

                data (dict) – The settings dictionary to be saved for the plugin

                -
                Returns
                +
                Returns:

                The settings that differed from the defaults and were actually saved.

                -
                Return type
                +
                Return type:

                dict

                @@ -1090,10 +1090,10 @@
                -

                ShutdownPlugin

                +

                ShutdownPlugin

                -class octoprint.plugin.ShutdownPlugin
                +class octoprint.plugin.ShutdownPlugin

                Bases: OctoPrintPlugin, SortablePlugin

                The ShutdownPlugin allows hooking into the shutdown of OctoPrint. It’s usually used in conjunction with the StartupPlugin mixin, to cleanly shut down additional services again that where started by the StartupPlugin @@ -1102,7 +1102,7 @@ on_shutdown().

                -on_shutdown()
                +on_shutdown()

                Called upon the imminent shutdown of OctoPrint.

                Warning

                @@ -1115,10 +1115,10 @@
                -

                SimpleApiPlugin

                +

                SimpleApiPlugin

                -class octoprint.plugin.SimpleApiPlugin
                +class octoprint.plugin.SimpleApiPlugin

                Bases: OctoPrintPlugin

                Utilizing the SimpleApiPlugin mixin plugins may implement a simple API based around one GET resource and one resource accepting JSON commands POSTed to it. This is the easy alternative for plugin’s which don’t need the @@ -1195,20 +1195,20 @@

                -get_api_commands()
                +get_api_commands()

                Return a dictionary here with the keys representing the accepted commands and the values being lists of mandatory parameter names.

                -is_api_adminonly()
                +is_api_adminonly()

                Return True if the API is only available to users having the admin role.

                -on_api_command(command, data)
                +on_api_command(command, data)

                Called by OctoPrint upon a POST request to /api/plugin/<plugin identifier>. command will contain one of the commands as specified via get_api_commands(), data will contain the full request body parsed from JSON into a Python dictionary. Note that this will also contain the command attribute itself. For the @@ -1218,13 +1218,13 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

                -
                Parameters
                +
                Parameters:
                • command (string) – the command with which the resource was called

                • data (dict) – the full request body of the POST request parsed from JSON into a Python dictionary

                -
                Returns
                +
                Returns:

                None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

                @@ -1233,7 +1233,7 @@
                -on_api_get(request)
                +on_api_get(request)

                Called by OctoPrint upon a GET request to /api/plugin/<plugin identifier>. request will contain the received Flask request object which you may evaluate for additional arguments supplied with the request.

                @@ -1241,10 +1241,10 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

                -
                Parameters
                +
                Parameters:

                request – the Flask request object

                -
                Returns
                +
                Returns:

                None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

                @@ -1255,18 +1255,18 @@
                -

                SlicerPlugin

                +

                SlicerPlugin

                -class octoprint.plugin.SlicerPlugin
                +class octoprint.plugin.SlicerPlugin

                Bases: OctoPrintPlugin

                Via the SlicerPlugin mixin plugins can add support for slicing engines to be used by OctoPrint.

                -cancel_slicing(machinecode_path)
                +cancel_slicing(machinecode_path)

                Cancels the slicing to the indicated file.

                -
                Parameters
                +
                Parameters:

                machinecode_path (str) – The absolute path to the machine code file to which to stop slicing to.

                @@ -1274,7 +1274,7 @@
                -do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)
                +do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)

                Called by OctoPrint to slice model_path for the indicated printer_profile. If the machinecode_path is None, slicer implementations should generate it from the provided model_path.

                If provided, the profile_path is guaranteed by OctoPrint to be a serialized slicing profile created through the slicing @@ -1312,13 +1312,13 @@ containing a human readable reason for the error.

                If the job gets cancelled, a SlicingCancelled exception should be raised.

                -
                Returns
                +
                Returns:

                A 2-tuple (boolean, object) as outlined above.

                -
                Return type
                +
                Return type:

                tuple

                -
                Raises
                +
                Raises:

                SlicingCancelled – The slicing job was cancelled (via cancel_slicing()).

                @@ -1326,18 +1326,18 @@
                -get_slicer_default_profile()
                +get_slicer_default_profile()

                Should return a SlicingProfile containing the default slicing profile to use with this slicer if no other profile has been selected.

                -
                Returns
                +
                Returns:

                The SlicingProfile containing the default slicing profile for

                this slicer.

                -
                Return type
                +
                Return type:

                SlicingProfile

                @@ -1345,30 +1345,30 @@
                -get_slicer_extension_tree()
                +get_slicer_extension_tree()

                Fetch additional entries to put into the extension tree for accepted files

                By default, a subtree for model files with stl extension is returned. Slicers who want to support additional/other file types will want to override this.

                For the extension tree format, take a look at the docs of the octoprint.filemanager.extension_tree hook.

                Returns: (dict) a dictionary containing a valid extension subtree.

                -

                New in version 1.3.11.

                +

                Added in version 1.3.11.

                -get_slicer_profile(path)
                +get_slicer_profile(path)

                Should return a SlicingProfile parsed from the slicing profile stored at the indicated path.

                -
                Parameters
                +
                Parameters:

                path (str) – The absolute path from which to read the slicing profile.

                -
                Returns
                +
                Returns:

                The specified slicing profile.

                -
                Return type
                +
                Return type:

                SlicingProfile

                @@ -1376,32 +1376,32 @@
                -get_slicer_profiles(profile_path)
                +get_slicer_profiles(profile_path)

                Fetch all SlicingProfile stored for this slicer.

                For compatibility reasons with existing slicing plugins this method defaults to returning profiles parsed from .profile files in the plugin’s profile_path, utilizing the SlicingPlugin.get_slicer_profile() method of the plugin implementation.

                -
                Parameters
                +
                Parameters:

                profile_path (str) – The base folder where OctoPrint stores this slicer plugin’s profiles

                -

                New in version 1.3.7.

                +

                Added in version 1.3.7.

                -get_slicer_profiles_lastmodified(profile_path)
                +get_slicer_profiles_lastmodified(profile_path)
                -

                New in version 1.3.0.

                +

                Added in version 1.3.0.

                -get_slicer_properties()
                +get_slicer_properties()

                Plugins should override this method to return a dict containing a bunch of meta data about the implemented slicer.

                The expected keys in the returned dict have the following meaning:

                @@ -1426,10 +1426,10 @@
                -
                Returns
                +
                Returns:

                A dict describing the slicer as outlined above.

                -
                Return type
                +
                Return type:

                dict

                @@ -1437,7 +1437,7 @@
                -is_slicer_configured()
                +is_slicer_configured()

                Unless the return value of this method is True, OctoPrint will not register the slicer within the slicing sub system upon startup. Plugins may use this to do some start up checks to verify that e.g. the path to a slicing binary as set and the binary is executable, or credentials of a cloud slicing platform are properly @@ -1446,12 +1446,12 @@

                -save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)
                +save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)

                Should save the provided SlicingProfile to the indicated path, after applying any supplied overrides. If a profile is already saved under the indicated path and allow_overwrite is set to False (defaults to True), an IOError should be raised.

                -
                Parameters
                +
                Parameters:
                • path (str) – The absolute path to which to save the profile.

                • profile (SlicingProfile) – The profile to save.

                • @@ -1468,10 +1468,10 @@
                -

                StartupPlugin

                +

                StartupPlugin

                -class octoprint.plugin.StartupPlugin
                +class octoprint.plugin.StartupPlugin

                Bases: OctoPrintPlugin, SortablePlugin

                The StartupPlugin allows hooking into the startup of OctoPrint. It can be used to start up additional services on or just after the startup of the server.

                @@ -1480,7 +1480,7 @@ on_after_startup().

                -on_after_startup()
                +on_after_startup()

                Called just after launch of the server, so when the listen loop is actually running already.

                Warning

                @@ -1491,7 +1491,7 @@
                -on_startup(host, port)
                +on_startup(host, port)

                Called just before the server is actually launched. Plugins get supplied with the host and port the server will listen on. Note that the host may be 0.0.0.0 if it will listen on all interfaces, so you can’t just blindly use this for constructing publicly reachable URLs. Also note that when this method is called, the server @@ -1503,7 +1503,7 @@

                The relevant sorting context is StartupPlugin.on_startup.

                -
                Parameters
                +
                Parameters:
                • host (string) – the host the server will listen on, may be 0.0.0.0

                • port (int) – the port the server will listen on

                • @@ -1516,10 +1516,10 @@
                -

                TemplatePlugin

                +

                TemplatePlugin

                -class octoprint.plugin.TemplatePlugin
                +class octoprint.plugin.TemplatePlugin

                Bases: OctoPrintPlugin, ReloadNeedingPlugin

                Using the TemplatePlugin mixin plugins may inject their own components into the OctoPrint web interface.

                Currently OctoPrint supports the following types of injections out of the box:

                @@ -1572,7 +1572,7 @@

                The template will be already wrapped into the necessary structure, plugins just need to supply the pure content. The wrapper div will have the additional classes and styles applied as defined via the configuration through get_template_configs().

                -

                New in version 1.9.0.

                +

                Added in version 1.9.0.

                Wizards

                Plugins may define wizard dialogs to display to the user if necessary (e.g. in case of missing information that @@ -1596,7 +1596,7 @@ wizard step.

                -

                New in version 1.3.0.

                +

                Added in version 1.3.0.

                Two-factor authentication form

                Plugins may define additional form templates to be injected into the two-factor authentication part of the login @@ -1607,7 +1607,7 @@

                Please note that for this template type, only type, name and template are supported in the configuration dictionary returned by get_template_configs(). All other keys are ignored.

                -

                New in version 1.11.0.

                +

                Added in version 1.11.0.

                Two-factor authentication user settings

                Plugins may define additional panels to be injected into the “Access” tab of the user settings, to allow further @@ -1616,7 +1616,7 @@

                The included template must be called <plugin identifier>_usersettings_mfa.jinja2 (e.g. myplugin_usersettings_mfa.jinja2) unless overridden by the configuration supplied through get_template_configs().

                -

                New in version 1.11.0.

                +

                Added in version 1.11.0.

                About

                Plugins may define additional panels into OctoPrint’s “About” dialog. Note that with the current implementation @@ -1627,7 +1627,7 @@ wrapped div and the link in the navigation will have the additional classes and styles applied as defined via the configuration supplied through get_template_configs().

                -

                New in version 1.3.0.

                +

                Added in version 1.3.0.

                Generic

                Plugins may also inject arbitrary templates into the page of the web interface itself, e.g. in order to @@ -1637,13 +1637,13 @@

                Template injection types in the main part of the interface
                -

                Fig. 25 Template injection types in the main part of the interface

                +

                Fig. 25 Template injection types in the main part of the interface

                Template injection types in the settings
                -

                Fig. 26 Template injection types in the settings

                +

                Fig. 26 Template injection types in the settings

                You can find an example for a simple plugin which injects navbar, tab and settings content into the interface in @@ -1655,15 +1655,15 @@

                TemplatePlugin is a ReloadNeedingPlugin.

                -get_template_configs()
                +get_template_configs()

                Allows configuration of injected navbar, sidebar, tab and settings templates (and also additional templates of types specified by plugins through the octoprint.ui.web.templatetypes hook). Should be a list containing one configuration object per template to inject. Each configuration object is represented by a dictionary which may contain the following keys:

                -

              Key

              +
              --++ @@ -1767,10 +1767,10 @@

              Further keys to be included in the dictionary depend on the type:

              sidebar type

              -

              type

              +
              --++ @@ -1797,10 +1797,10 @@

              tab, settings and usersettings type

              -

              icon

              +
              --++ @@ -1820,10 +1820,10 @@

              webcam type

              -

              classes_content

              +
              --++ @@ -1837,10 +1837,10 @@

              wizard type

              -

              classes_content

              +
              --++ @@ -1879,7 +1879,7 @@
              -
              Return list
              +
              Return list:

              a list containing the configuration options for the plugin’s injected templates

              @@ -1887,11 +1887,11 @@
              -get_template_folder()
              +get_template_folder()

              Defines the folder where the plugin stores its templates. Override this if your plugin stores its templates at some other place than the templates sub folder in the plugin base directory.

              -
              Return string
              +
              Return string:

              the absolute path to the folder where the plugin stores its jinja2 templates

              @@ -1899,11 +1899,11 @@
              -get_template_vars()
              +get_template_vars()

              Defines additional template variables to include into the template renderer. Variable names will be prefixed with plugin_<plugin identifier>_.

              -
              Return dict
              +
              Return dict:

              a dictionary containing any additional template variables to include in the renderer

              @@ -1911,14 +1911,14 @@
              -is_template_autoescaped()
              +is_template_autoescaped()

              Whether a plugin’s templates have autoescape enabled. For now this defaults to False to not cause issues with plugins currently pushing HTML into templates through variables. Long term, this will default to True and hence prevent something like this from working, unless a plugin opts out by returning False here.

              It is strongly recommended to return True however and use the safe filter for those expressions that actually need to support HTML entities. That way a plugin will severely reduce the risk of causing XSS security issues.

              -

              New in version 1.11.0.

              +

              Added in version 1.11.0.

              @@ -1926,10 +1926,10 @@
              -

              UiPlugin

              +

              UiPlugin

              -class octoprint.plugin.UiPlugin
              +class octoprint.plugin.UiPlugin

              Bases: OctoPrintPlugin, SortablePlugin

              The UiPlugin mixin allows plugins to completely replace the UI served by OctoPrint when requesting the main page hosted at /.

              @@ -1960,7 +1960,7 @@ only exemplary) UI if the requesting client has a UserAgent string hinting at it being a mobile device:

              - +
              # coding=utf-8
               from __future__ import absolute_import
               
              @@ -1990,7 +1990,7 @@
               
              - +
              <html>
                   <head>
                       <title>Dummy Mobile OctoPrint UI</title>
              @@ -2042,36 +2042,36 @@
               server startup (basically eager caching instead of lazily waiting for the first request).

              See below for details on this.

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_additional_etag(default_additional)
              +get_ui_additional_etag(default_additional)

              Allows to provide a list of additional fields to use for ETag generation.

              By default the same list will be returned that is also used in the stock UI (and injected via the parameter default_additional).

              -
              Parameters
              +
              Parameters:

              default_additional (list) – The list of default fields added to the ETag of the default UI

              -
              Returns
              +
              Returns:

              A list of additional fields for the ETag generation, or None

              -
              Return type
              +
              Return type:

              (list)

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_additional_key_data_for_cache()
              +get_ui_additional_key_data_for_cache()

              Allows to return additional data to use in the cache key.

              -
              Returns
              +
              Returns:

              A list or tuple of strings to use in the cache key. Will be joined by OctoPrint

              using : as separator and appended to the existing ui:<identifier>:<base url>:<locale> cache key. Ignored if None is returned.

              @@ -2079,165 +2079,165 @@

              -
              Return type
              +
              Return type:

              list, tuple

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_additional_request_data_for_preemptive_caching()
              +get_ui_additional_request_data_for_preemptive_caching()

              Allows defining additional request data to persist in the preemptive cache configuration and to use for the fake request used for populating the preemptive cache.

              Keys and values are used as keyword arguments for creating the Werkzeug EnvironBuilder used for creating the fake request.

              -
              Returns
              +
              Returns:

              Additional request data to persist in the preemptive cache configuration and to

              use for request environment construction.

              -
              Return type
              +
              Return type:

              dict

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_additional_tracked_files()
              +get_ui_additional_tracked_files()

              Allows to return additional files to track for validating existing caches. By default OctoPrint will track all declared templates, assets and translation files in the system. Additional files can be added by a plugin through this callback.

              -
              Returns
              +
              Returns:

              A list of paths to additional files whose modification to track for (in)validating

              the cache. Ignored if None is returned.

              -
              Return type
              +
              Return type:

              list

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_custom_etag()
              +get_ui_custom_etag()

              Allows to use a custom way to calculate the ETag, instead of the default method (hashing OctoPrint’s version, tracked file paths and LastModified value).

              -
              Returns
              +
              Returns:

              An alternatively calculated ETag value. Ignored if None is returned (default).

              -
              Return type
              +
              Return type:

              str

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_custom_lastmodified()
              +get_ui_custom_lastmodified()

              Allows to calculate the LastModified differently than using the most recent modification date of all tracked files.

              -
              Returns
              +
              Returns:

              An alternatively calculated LastModified value. Ignored if None is returned (default).

              -
              Return type
              +
              Return type:

              int

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_custom_template_filter(default_template_filter)
              +get_ui_custom_template_filter(default_template_filter)

              Allows to specify a custom template filter to use for filtering the template contained in the render_kwargs provided to the templating sub system.

              Only relevant for UiPlugins that actually utilize the stock templates of OctoPrint.

              By default simply returns the provided default_template_filter.

              -
              Parameters
              +
              Parameters:

              default_template_filter (callable) – The default template filter used by the default UI

              -
              Returns
              +
              Returns:

              (callable) A filter function accepting the template_type and template_key of a template and returning True to keep it and False to filter it out. If None is returned, no filtering will take place.

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_custom_tracked_files()
              +get_ui_custom_tracked_files()

              Allows to define a complete separate set of files to track for (in)validating the cache. If this method returns something, the templates, assets and translation files won’t be tracked, only the files specified in the returned list.

              -
              Returns
              +
              Returns:

              A list of paths representing the only files whose modification to track for (in)validating

              the cache. Ignored if None is returned.

              -
              Return type
              +
              Return type:

              list

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_data_for_preemptive_caching()
              +get_ui_data_for_preemptive_caching()

              Allows defining additional data to be persisted in the preemptive cache configuration, on top of the request path, base URL and used locale.

              -
              Returns
              +
              Returns:

              Additional data to persist in the preemptive cache configuration.

              -
              Return type
              +
              Return type:

              dict

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_permissions()
              +get_ui_permissions()

              Determines a list of permissions that need to be on the current user session. If these requirements are not met, OctoPrint will instead redirect to a login screen.

              @@ -2246,7 +2246,7 @@ view renders, in which case it will fall to your plugin to implement its own login logic.

              -
              Returns
              +
              Returns:

              (list) A list of permissions which to check the current user session against. May be empty to indicate that no permission checks should be made by OctoPrint.

              @@ -2255,35 +2255,35 @@
              -get_ui_preemptive_caching_additional_unless()
              +get_ui_preemptive_caching_additional_unless()

              Allows defining additional reasons for temporarily not adding a preemptive cache record for your plugin’s UI.

              OctoPrint will call this method when processing a UI request, to determine whether to record the access or not. If you return True here, no record will be created.

              -
              Returns
              +
              Returns:

              Whether to suppress a record (True) or not (False, default)

              -
              Return type
              +
              Return type:

              bool

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -get_ui_preemptive_caching_enabled()
              +get_ui_preemptive_caching_enabled()

              Allows to control whether the view provided by the plugin should be preemptively cached on server startup (default) or not.

              Have this return False if you do not want your plugin’s UI to ever be preemptively cached.

              -
              Returns
              +
              Returns:

              Whether to enable preemptive caching (True, default) or not (False)

              -
              Return type
              +
              Return type:

              bool

              @@ -2291,7 +2291,7 @@
              -on_ui_render(now, request, render_kwargs)
              +on_ui_render(now, request, render_kwargs)

              Called by OctoPrint to retrieve the response to send to the client for the request to /. Only called if will_handle_ui() returned True.

              @@ -2299,10 +2299,10 @@ will contain the following key and value pairs (note that not all key value pairs contained in the dictionary are listed here, only those you should depend on as a plugin developer at the current time):

              -

              mandatory

              +
              --++ @@ -2315,10 +2315,10 @@

              debug

              version

              OctoPrint’s version information. This is a dict with the following keys:

              - +
              --++ @@ -2344,10 +2344,10 @@

              number

              Template data to render in the UI. Will be a dict containing entries for all known template types.

              The sub structure for each key will be as follows:

              - +
              --++ @@ -2383,7 +2383,7 @@

              On top of that all additional template variables as provided by get_template_vars() will be contained in the dictionary as well.

              -
              Parameters
              +
              Parameters:
              • now (datetime.datetime) – The datetime instance representing “now” for this request, in case your plugin implementation needs this @@ -2394,7 +2394,7 @@ would usually be provided to the core UI render function.

              -
              Returns
              +
              Returns:

              Should return a Flask Response

              object that can be served to the requesting client directly. May be created with flask.make_response combined with something like @@ -2403,7 +2403,7 @@

              -
              Return type
              +
              Return type:

              flask.Response

              @@ -2411,7 +2411,7 @@
              -will_handle_ui(request)
              +will_handle_ui(request)

              Called by OctoPrint to determine if the mixin implementation will be able to handle the request provided as a parameter.

              Return True here to signal that your implementation will handle @@ -2420,19 +2420,19 @@

              The execution order of calls to this method can be influenced via the sorting context UiPlugin.will_handle_ui.

              -
              Parameters
              +
              Parameters:

              request (flask.Request) –

              A Flask Request object.

              -
              Returns
              +
              Returns:

              True if the implementation will serve the request,

              False otherwise.

              -
              Return type
              +
              Return type:

              bool

              @@ -2442,22 +2442,22 @@
              -

              WebcamProviderPlugin

              +

              WebcamProviderPlugin

              -class octoprint.plugin.WebcamProviderPlugin
              +class octoprint.plugin.WebcamProviderPlugin

              Bases: OctoPrintPlugin

              The WebcamProviderPlugin can be used to provide one or more webcams visible on the frontend and used for snapshots/timelapses.

              For an example of how to utilize this, see the bundled classicwebcam plugin, or the testpicture plugin available here.

              -get_webcam_configurations()
              +get_webcam_configurations()

              Used to retrieve a list of available webcams

              -
              Returns
              +
              Returns:

              The available webcams, can be empty if none available.

              -
              Return type
              +
              Return type:

              A list of Webcam

              @@ -2465,13 +2465,13 @@
              -take_webcam_snapshot(webcamName)
              +take_webcam_snapshot(webcamName)

              Used to take a JPEG snapshot of the webcam. This method may raise an exception, you can expect failures to be handled.

              -
              Parameters
              +
              Parameters:

              webcamName (str) – The name of the webcam to take a snapshot of as given by the configurations

              -
              Returns
              +
              Returns:

              An iterator over bytes of the JPEG image

              @@ -2481,10 +2481,10 @@
              -

              WizardPlugin

              +

              WizardPlugin

              -class octoprint.plugin.WizardPlugin
              +class octoprint.plugin.WizardPlugin

              Bases: OctoPrintPlugin, ReloadNeedingPlugin

              The WizardPlugin mixin allows plugins to report to OctoPrint whether the wizard templates they define via the TemplatePlugin @@ -2545,20 +2545,20 @@

              WizardPlugin is a ReloadNeedingPlugin.

              -get_wizard_details()
              +get_wizard_details()

              Called by OctoPrint when the wizard wrapper dialog is shown. Allows the plugin to return data that will then be made available to the view models via the view model callback onWizardDetails.

              Use this if your plugin’s view model that handles your wizard dialog needs additional data to perform its task.

              -
              Returns
              +
              Returns:

              a dictionary containing additional data to provide to the frontend. Whatever the plugin

              returns here will be made available on the wizard API under the plugin’s identifier

              -
              Return type
              +
              Return type:

              dict

              @@ -2566,7 +2566,7 @@
              -get_wizard_version()
              +get_wizard_version()

              The version of this plugin’s wizard. OctoPrint will only display a wizard of the same plugin and wizard version once to the user. After they finish the wizard, OctoPrint will remember that it already showed this @@ -2575,7 +2575,7 @@ of changes in the required settings), increasing this value is the way to notify OctoPrint of these changes.

              -
              Returns
              +
              Returns:

              an int signifying the current wizard version, should be incremented by plugins whenever there

              are changes to the plugin that might necessitate reshowing the wizard if it is required. None will also be accepted and lead to the wizard always be ignored unless it has never been finished @@ -2584,7 +2584,7 @@

              -
              Return type
              +
              Return type:

              int or None

              @@ -2592,7 +2592,7 @@
              -classmethod is_wizard_ignored(seen_wizards, implementation)
              +classmethod is_wizard_ignored(seen_wizards, implementation)

              Determines whether the provided implementation is ignored based on the provided information about already seen wizards and their versions or not.

              A wizard is ignored if

              @@ -2615,7 +2615,7 @@
              -
              Parameters
              +
              Parameters:
              • seen_wizards (dict) – A dictionary with information about already seen wizards and their versions. Mappings from the identifiers of @@ -2624,14 +2624,14 @@

              • implementation (object) – The plugin implementation to check.

              -
              Returns
              +
              Returns:

              False if the provided implementation is either not a WizardPlugin

              or has not yet been seen (in this version), True otherwise

              -
              Return type
              +
              Return type:

              bool

              @@ -2639,7 +2639,7 @@
              -is_wizard_required()
              +is_wizard_required()

              Allows the plugin to report whether it needs to display a wizard to the user or not.

              Defaults to False.

              @@ -2652,7 +2652,7 @@
              -on_wizard_finish(handled)
              +on_wizard_finish(handled)

              Called by OctoPrint whenever the user finishes a wizard session.

              The handled parameter will indicate whether that plugin’s wizard was included in the wizard dialog presented to the user (so the plugin providing @@ -2660,7 +2660,7 @@ ignored/had already been seen).

              Use this to do any clean up tasks necessary after wizard completion.

              -
              Parameters
              +
              Parameters:

              handled (bool) – True if the plugin’s wizard was previously reported as required, not ignored and thus presented to the user, False otherwise

              diff --git a/devel/plugins/python3_migration.html b/devel/plugins/python3_migration.html index 82e79183b..e8cc14c44 100644 --- a/devel/plugins/python3_migration.html +++ b/devel/plugins/python3_migration.html @@ -1,26 +1,26 @@ - + - + Migrating to Python 3 — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -151,7 +151,7 @@
              -

              Migrating to Python 3

              +

              Migrating to Python 3

              Python 2 is now EOL as of January 1st 2020. With the release of 1.4.0 OctoPrint will be compatible to both Python 2 and Python 3.

              However, the same doesn’t automatically hold true for all of the third party plugins for OctoPrint out there - it will @@ -159,7 +159,7 @@

              This guide is supposed to help plugin authors in making sure their plugins run under Python 2 as well as Python 3, which for now is the goal for OctoPrint’s ecosystem, as we’ll have to live with existing legacy Python 2 installations for a while to come (the plan is to stay Python 2 compatible until roughly a year after the release of 1.4.0).

              - +
              -

              How to get a Python 3 virtual environment with OctoPrint

              +

              How to get a Python 3 virtual environment with OctoPrint

              In order to test your plugins for Python 3 compatibility and also to allow for ongoing maintenance against both Python versions, you should create a Python 3 virtual environment next to your Python 2 one. You can then quickly switch between Python 2 and Python 3 simply by activate-ing whichever one you need.

              @@ -229,7 +229,7 @@
              -

              Telling OctoPrint your plugin is Python 3 ready

              +

              Telling OctoPrint your plugin is Python 3 ready

              In order for OctoPrint to even load your plugin when it’s running under Python 3, it first needs to know your plugin is compatible to a Python 3 environment. By default OctoPrint will assume your plugin isn’t and refuse to load it when running under Python 3 itself.

              @@ -277,7 +277,7 @@
              -

              Common pitfalls during migration

              +

              Common pitfalls during migration

              Some of the changes in Python 3 compared to Python 2 are sadly backwards incompatible and usually cause a number of common issues in code written for Python 2 when run under Python 3. By now they are pretty well documented and there exist a number of helpful and comprehensive migration guides, three of which I want to mention here.

              @@ -299,7 +299,7 @@ imports, changes in integer division behaviour and the switch of map, filter and zip to return iterators instead of lists and causing issues in the following code due to that.

              -

              Bytes vs unicode

              +

              Bytes vs unicode

              One of if not the most problematic change between Python 2 and 3 surely must be the change in string handling. Under Python 2 your basic string was a byte string, but it could also magically turn into a unicode string depending on what you wrote into it. That did cause some confusion, especially in APIs, and caused quite a mess, which is why the decision @@ -335,7 +335,7 @@ cheat sheet.

              -

              Absolute imports

              +

              Absolute imports

              Python 3 now defaults to absolute imports, meaning that trying to import a sub package with a

              import my_sub_package
               
              @@ -354,7 +354,7 @@ the book.

              -

              Version specific imports

              +

              Version specific imports

              Sometimes it is necessary to use an import statement that is explicitly related to a specific Python version, e.g. due to a package change between Python 2 and 3. You can do this by first trying the Python 3 import and if that doesn’t work out trying the Python 2 import instead:

              @@ -375,7 +375,7 @@
              -

              Integer division

              +

              Integer division

              When you divide two integers in Python 2 you’ll get back an integer, rounded down. In Python 3 however you’ll now get a float. That means you might have to revisit some places where you do integer divisions and might rely on the result to be an integer as well (e.g. when using a calculation result as an index in an array or something like that).

              @@ -388,7 +388,7 @@ and in the cheat sheet.

              -

              Iterators instead of list from map, filter, zip

              +

              Iterators instead of list from map, filter, zip

              The built-in functions map, filter and zip return a list with their result in Python 2. In Python 3 they have been switched to returning iterators. That can cause trouble with code handling the result (e.g. if you try to return it as part of a JSON response on an API endpoint).

              @@ -405,7 +405,7 @@
              -

              Checklist

              +

              Checklist

              As a summary, follow this checklist to migrate your plugin to be compatible to both Python 2 and 3:

                @@ -437,7 +437,7 @@
              -

              Further reading

              +

              Further reading

              See also

              diff --git a/devel/plugins/viewmodels.html b/devel/plugins/viewmodels.html index e7c3e276b..2d62ed837 100644 --- a/devel/plugins/viewmodels.html +++ b/devel/plugins/viewmodels.html @@ -1,26 +1,26 @@ - + - + Viewmodels — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + @@ -147,8 +147,8 @@
              -

              Viewmodels

              -
              +

              Viewmodels

              +
              +

              When implementing frontend components, you’ll sooner or later want to define your own KnockoutJS view models in order to provide custom functionality.

              -

              Registering custom viewmodels

              +

              Registering custom viewmodels

              Register your view model with OctoPrint’s web app by pushing a config object unto the global array OCTOPRINT_VIEWMODELS.

              Possible properties in this config object are:

              @@ -221,7 +221,7 @@ and optional dependencies cannot be specified with this format. It should be considered deprecated. Still, an example of how that would look in practice is provided here as well:

              -
              Listing 38 Old tuple-based configuration format, consider this deprecated
              +
              Listing 38 Old tuple-based configuration format, consider this deprecated
              $(function() {
                   function MyCustomViewModel(parameters) {
                       var self = this;
              @@ -244,7 +244,7 @@
               
              -

              Dependencies

              +

              Dependencies

              OctoPrint will try to inject all view model dependencies requested by your view model. In order to do this it will perform multiple passes iterating over all registered view models and collecting the necessary dependencies prior to construction. Circular dependencies (A depends on B, B on C, C on A) naturally cannot be resolved and will cause an @@ -303,7 +303,7 @@ config object, plus any configured additionalNames.

              -

              Callbacks

              +

              Callbacks

              OctoPrint’s web application will call several callbacks on all registered view models, provided they implement them. Those are listed below:

              @@ -433,9 +433,9 @@
              -

              Lifecycle diagrams

              +

              Lifecycle diagrams

              -

              Web interface startup

              +

              Web interface startup

              sequenceDiagram participant Main @@ -519,7 +519,7 @@ deactivate Main

              -

              Web interface reconnect

              +

              Web interface reconnect

              sequenceDiagram participant onServerConnect diff --git a/devel/py-modindex.html b/devel/py-modindex.html index 363b691c9..d91b9dd1b 100644 --- a/devel/py-modindex.html +++ b/devel/py-modindex.html @@ -1,25 +1,25 @@ - + Python Module Index — OctoPrint devel documentation - - - + + + - - - - - - - + + + + + + + diff --git a/devel/search.html b/devel/search.html index 7138e31e5..bf2f948da 100644 --- a/devel/search.html +++ b/devel/search.html @@ -1,12 +1,12 @@ - + Search — OctoPrint devel documentation - - - + + + @@ -14,13 +14,13 @@ - - - - - - - + + + + + + + diff --git a/devel/searchindex.js b/devel/searchindex.js index 7c56724e8..95553d64c 100644 --- a/devel/searchindex.js +++ b/devel/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "terms": {"avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "system": [0, 2, 3, 5, 10, 11, 13, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "Will": [0, 4, 7, 9, 10, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 79, 80, 82, 86, 92, 95], "recent": [0, 23, 33, 83, 86, 95], "credenti": [0, 4, 23, 58, 83, 95], "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 83, 85, 88, 90, 92, 95, 96], "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "assign": [0, 2, 4, 33, 48, 57, 61, 80, 92], "subgroup": [0, 2], "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 34, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "409": [0, 3, 6, 9, 10], "conflict": [0, 3, 6, 9, 10], "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "doe": [0, 2, 3, 6, 9, 10, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "individu": [0, 16, 37, 39, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "record": [0, 4, 16, 25, 37, 47, 82, 95], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "usernam": [0, 4, 17, 23, 25, 33, 47, 58, 70, 76], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "activ": [0, 2, 3, 4, 6, 9, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "fals": [0, 1, 2, 3, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "deactiv": [0, 4], "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 83, 84, 85, 86, 90, 92, 94, 95, 97], "properti": [0, 2, 3, 9, 10, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 81, 82, 83, 86, 90, 92, 95, 96], "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "presenc": [0, 33, 37, 82, 95], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "t": [0, 3, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "403": [0, 4, 13, 31, 83], "forbidden": [0, 4, 13, 31], "mismatch": [0, 4, 46], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 83, 84, 86, 92, 95], "person": [0, 2, 33, 94], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "apikei": [0, 2, 4, 11, 57, 58, 62, 70, 76, 83, 92], "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 79, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "kei": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "dev": [1, 37, 41, 42, 56, 79, 84, 90], "ttyacm0": [1, 37, 84], "250000": [1, 84], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "_default": [1, 10, 37, 82], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "230400": 1, "115200": [1, 37, 92], "57600": 1, "38400": 1, "19200": 1, "9600": 1, "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "portprefer": [1, 81], "baudrateprefer": [1, 81], "printerprofileprefer": 1, "autoconnect": [1, 37, 59, 79, 81, 82], "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "reconnect": [1, 32, 62, 70, 93], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "prefer": [1, 37, 42, 62, 81, 82, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 83, 88, 92, 97], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "new": [1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 41, 42, 45, 47, 48, 49, 50, 52, 54, 55, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "automat": [1, 3, 9, 16, 23, 24, 33, 34, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "configur": [1, 2, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "fake_ack": [1, 79, 81], "fake": [1, 59, 81, 95], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "got": [1, 4, 23, 37, 47, 90, 92, 95], "lost": [1, 46, 47, 81], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "stall": [1, 92], "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "emerg": [1, 9, 21, 47, 82], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "investig": [1, 47], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "symptom": 1, "solver": 1, "my_printer_profil": 1, "fakeack": [1, 59, 62], "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "autodetect": [1, 24, 37, 47, 82, 92], "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textual": [2, 6], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "few": [2, 41, 52, 90, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "sdreadi": [2, 9, 81], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "redund": [2, 90], "unrecover": [2, 47], "occur": [2, 9, 15, 17, 47, 90], "readi": [2, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "closedorerror": [2, 9, 81], "possibli": [2, 42, 92, 95], "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "null": [2, 9, 19, 37, 46, 97], "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 34, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "unix": [2, 31, 83], "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "enumer": [2, 9, 82], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "transmit": [2, 83, 97], "ratio": [2, 46, 82], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "estimatedprinttim": [2, 3, 6, 78, 81], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "estim": [2, 38, 78, 79, 81, 82, 93], "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "lastprinttim": [2, 81], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "mm": [2, 3, 9, 10, 66, 78, 81, 82, 86], "volum": [2, 3, 6, 10, 51, 52, 78, 81], "cm\u00b3": [2, 78], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "filepo": [2, 6, 81], "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "printtim": [2, 6, 37, 79, 81, 82, 92], "spent": 2, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95, 97], "linear": [2, 37, 82], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "approxim": [2, 48], "calcul": [2, 37, 82, 83, 86, 95, 96], "after": [2, 3, 6, 9, 11, 16, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "stabil": 2, "averag": [2, 37, 82], "total": [2, 37, 57, 82, 90], "past": [2, 17, 23, 37, 47, 82, 96], "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "mix": [2, 37, 82, 95], "mixtur": [2, 37, 82], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96, 97], "gco": [2, 3, 51, 61], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "anywher": 2, "fit": [2, 83, 95], "ascii": [2, 37, 82, 86], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "potenti": [2, 10, 41, 42, 70, 80], "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 83, 86, 90, 95], "unicod": [2, 37, 78, 82, 93], "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "turtl": 2, "a_turtle_turtl": 2, "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "subfold": [2, 3, 61, 78, 90], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "machinecod": [2, 3, 47, 78, 81, 92], "Or": [2, 48], "children": [2, 3, 37, 51, 61, 78, 79, 82], "node": [2, 47, 49, 78, 90], "popul": [2, 57, 78, 83, 90, 95], "typepath": [2, 3, 78], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "tree": [2, 13, 42, 61, 92, 95], "stl": [2, 3, 11, 47, 78, 95], "who": [2, 23, 47, 48, 78, 83, 95], "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "creat": [2, 4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "recurs": [2, 3, 61, 78, 86, 90], "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "md5": 2, "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "sdcard": [2, 3, 11, 47, 61, 81, 92], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 42, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 79, 81, 82, 83, 85, 90, 95, 96, 97], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "ref": [2, 3, 31], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "gcodeanalysi": [2, 3, 37, 79, 82], "previou": [2, 4, 11, 52, 90, 97], "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "dimens": [2, 78], "depth": [2, 10, 51, 61, 78, 81, 96], "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "width": [2, 10, 51, 78, 81, 90, 95], "printingarea": [2, 78], "area": [2, 10, 46, 78], "maxx": [2, 78], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "maxi": [2, 78], "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "maxz": [2, 78], "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "minx": [2, 78], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "mini": [2, 78], "minz": [2, 78], "travelarea": [2, 78], "bound": [2, 10, 78, 81, 90, 95, 97], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "traveldimens": [2, 78], "travel": [2, 9, 78], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 95, 96], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "failur": [2, 3, 17, 37, 47, 79, 80, 82, 92, 95], "fail": [2, 3, 9, 17, 23, 24, 33, 37, 42, 47, 74, 81, 82, 83, 92, 96, 97], "averageprinttim": 2, "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 83, 84, 86, 92, 97], "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "implicit": [2, 95, 97], "inherit": [2, 25, 95, 96], "danger": [2, 37, 51, 82, 92], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "high": [2, 14, 22, 37, 49, 78, 82], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 81, 82, 83, 85, 92, 95, 96, 97], "default_group": [2, 92], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "changeabl": 2, "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "toggleabl": 2, "role": [2, 48, 76, 84, 92, 95, 97], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "space": [3, 31, 33, 37, 40, 82], "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "overrid": [3, 14, 34, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "refresh": [3, 9, 42, 66, 82, 89, 97], "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 34, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "bandwidth": [3, 83], "restrict": [3, 15, 23, 92, 95], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "files_list": 3, "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "whistle_v2": [3, 6], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "1468987": [3, 6], "1378847754": [3, 6], "1188": 3, "810": [3, 6], "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "36": [3, 6, 90], "23": [3, 40, 46, 48, 92, 95], "1387144346": 3, "whistle_": 3, "foldera": 3, "whistle_v2_copi": 3, "free": [3, 31, 33, 46, 56, 86, 95, 96], "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "2gb": 3, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "1234": [3, 25, 74], "test2": 3, "1334": 3, "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "nor": [3, 11, 83, 85, 88, 92], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "most": [3, 7, 33, 34, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "multipart": [3, 4, 7, 57, 83, 92], "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92, 95], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "foldernam": 3, "creation": [3, 16, 17, 24, 49, 61, 83, 85], "201": [3, 14, 23], "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "files_upload": 3, "boundari": [3, 81], "webkitformboundarydec2e3iwbtv1pwmc": 3, "430": 3, "disposit": [3, 4, 83], "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "octet": [3, 57, 83], "m109": [3, 46], "t0": [3, 46, 52, 82, 92], "s220": [3, 46], "000000": 3, "g21": 3, "g90": [3, 37, 51, 52, 82, 92], "done": [3, 21, 23, 37, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 82, 83, 86, 90, 92, 95, 96, 97], "effectiveselect": 3, "effectiveprint": 3, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "rfc": [3, 4], "5987": [3, 4], "263": 3, "20mm": [3, 10], "c3": 3, "bcml": 3, "a4ut": 3, "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "umlaut": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "246": 3, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "basic": [3, 4, 11, 17, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "parent": [3, 61, 78, 80, 83, 95], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 86, 90, 92, 95, 96], "implicitli": [3, 33], "userdata": [3, 47, 61], "interpret": [3, 9, 36, 42, 81, 92], "along": [3, 78], "metadata": [3, 47, 77, 78, 80, 87, 88, 90, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "pars": [3, 17, 33, 36, 47, 77, 80, 83, 92, 95], "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "busi": [3, 37, 46, 82], "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "415": 3, "unsupport": [3, 17], "media": [3, 90], "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "500": [3, 15, 17, 44, 83, 92], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "direct": [3, 4, 10, 23, 51, 82, 86], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "files_select": 3, "unselect": [3, 81], "isn": [3, 23, 48, 90, 96], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "background": [3, 11, 90, 96], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "engin": [3, 52, 80, 81, 95], "cura": [3, 13, 14], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "center": [3, 10, 79, 81, 85, 95], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 85, 86, 90, 92, 95], "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "strip": [3, 78, 86, 92], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "often": [3, 11, 34, 45, 95], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "diamet": [3, 10, 52, 78, 81], "infil": 3, "finish": [3, 5, 16, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "suppos": [3, 15, 88, 92, 96], "anymor": [3, 9, 55, 90, 92], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "entir": [3, 34, 48, 92], "202": [3, 23], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "abridg": [3, 14], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "destin": [3, 11, 56, 61, 79, 85, 95], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "some_fold": [3, 78], "some_model": 3, "first_tri": 3, "my_custom_reprap": 3, "high_qual": [3, 14], "75": [3, 9], "fill_dens": 3, "15": [3, 37, 82], "some_other_fold": 3, "and_a_subfold": 3, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 83, 92, 95, 97], "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "files_delet": 3, "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 78, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "lack": [3, 9, 11, 42, 52], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "fulfil": 3, "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "app": [4, 23, 33, 37, 42, 62, 83, 97], "workflow": [4, 30, 62, 95], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 47, 51, 66, 70, 82, 84, 85, 90, 92, 95], "advis": [4, 37, 81, 82, 92], "fallback": [4, 47, 79, 80, 82, 83, 86, 95], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "bearer": [4, 17, 83], "token": [4, 17, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "purpos": [4, 37, 80, 90, 92, 95], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "variant": [4, 33, 40, 62, 89, 92], "treat": 4, "unauthent": 4, "anonym": [4, 30, 33, 48, 56, 83, 95], "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 95, 96], "deni": [4, 23, 48], "outright": [4, 33, 54], "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "password": [4, 17, 25, 33, 37, 58, 70, 73, 82, 83, 91], "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "revok": [4, 23], "charset": [4, 83], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "decod": [4, 17, 78, 86, 92], "iso": [4, 47], "8859": 4, "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 84, 86, 90, 92, 95], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "websit": [4, 22, 56, 78, 80, 90], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "share": [4, 10, 46, 77, 81, 86, 94, 95], "cor": [4, 83, 92], "question": [4, 9, 23, 33, 83, 92], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "localhost": [4, 37, 82], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "allowcrossorigin": [4, 37, 79, 82], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "yml": [4, 90], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 83, 86, 92, 95, 96], "checkbox": 4, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "xmlhttprequest": [4, 57], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "8081": 4, "secur": [4, 26, 37, 48, 79, 82, 83, 95], "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "imposs": [4, 9, 90], "authent": [4, 9, 11, 17, 23, 33, 37, 47, 48, 57, 58, 82, 83, 92, 95], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "reus": [4, 33, 90], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "therefor": [4, 90, 95, 97], "attack": 4, "affect": [4, 32, 83, 96], "doubl": [4, 25, 40, 83], "submit": [4, 89], "mitig": 4, "strategi": [4, 43, 56, 96], "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "recoveri": [4, 55, 82, 92], "csrf_token_p": 4, "_r": 4, "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "side": [4, 37, 46, 83, 95], "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "toward": [4, 81, 96], "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "reli": [4, 37, 57, 82, 95, 96], "rather": [4, 37, 82], "csrf_token": 4, "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 90, 95], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "ajax": [4, 37, 57, 62, 82], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "sever": [4, 47, 95, 96, 97], "framework": [4, 9], "owasp": 4, "cheatsheet": 4, "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "octoprintcli": [4, 23, 30, 56, 62], "getcooki": [4, 57, 62], "gethead": 4, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "construct": [4, 25, 78, 80, 84, 92, 95, 97], "passiv": [4, 11, 58, 97], "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "401": 4, "unauthor": [4, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "wrong": [4, 23, 48, 52, 57, 92, 95], "bug": [4, 9, 26, 41, 42, 45, 54, 55], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "rememb": [4, 37, 58, 82, 90, 95, 97], "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "sens": [4, 40, 47, 48, 86, 90, 92, 95], "currentus": 4, "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 95, 96, 97], "_is_external_cli": 4, "extern": [4, 33, 37, 42, 45, 82, 95], "network": [4, 25, 37, 48, 82], "guest": [4, 48, 97], "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "protect": [5, 82, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "logout": [5, 11, 58, 62, 92], "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 85, 90, 92, 95, 97], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "pack": [5, 55, 62, 64, 90], "chamber": [5, 10, 46, 66, 81], "arbitrari": [5, 47, 60, 80, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "execut": [5, 17, 33, 37, 42, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "unrend": [5, 37, 57, 72, 82], "variou": [5, 25, 33, 34, 35, 37, 42, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "common": [5, 34, 40, 48, 52, 56, 80, 91, 93], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "work": [6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "toggl": 6, "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 83, 85, 86, 93], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "stai": [6, 40, 51, 92, 96], "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "earlier": [6, 37, 42, 77, 82, 88, 90], "iter": [6, 52, 78, 83, 92, 93, 95, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 80, 82, 90, 92, 95, 96], "dedic": [6, 23, 48], "seem": [6, 37, 42, 82, 90, 96], "clumsi": 6, "chosen": [6, 40], "prior": [6, 48, 57, 78, 81, 92, 95, 97], "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "under": [6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "precondit": 6, "8811": 6, "tool0": [6, 9, 66, 78, 81], "2298468264184775": 6, "337942": 6, "276": 6, "912": 6, "offlin": [6, 47, 51, 81, 82], "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "exhaust": [6, 48, 53], "language_pack": 7, "_core": 7, "some_plugin": [7, 33, 37], "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "de": [7, 87, 90], "locale_displai": 7, "deutsch": 7, "locale_english": 7, "german": [7, 90], "last_upd": 7, "1474574597": 7, "gina": [7, 90], "h\u00e4u\u00dfg": 7, "italiano": 7, "italian": 7, "1470859680": 7, "transifex": 7, "team": [7, 33], "zip": [7, 24, 32, 33, 54, 90, 93], "tar": [7, 32], "gz": [7, 32, 83], "tgz": [7, 32], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "translat": [7, 55, 79, 82, 90, 95], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "display": [7, 82, 85], "meta": [7, 41, 80, 85, 95], "english": [7, 90], "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "former": [8, 47, 65], "adapt": [8, 65, 78, 86], "soon": [8, 65, 90], "mostli": [9, 13, 83], "achiev": [9, 34, 37, 48, 89, 90, 96, 97], "reflect": [9, 13, 17, 66, 90], "compon": [9, 13, 33, 37, 39, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "know": [9, 40, 90, 95, 96, 97], "jog": [9, 62, 66, 79, 81, 92], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "ax": [9, 10, 51, 66, 81], "offset": [9, 10, 11, 66, 81], "hotend": [9, 46, 52, 66, 81, 82], "histori": [9, 66, 81, 97], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 45, 48, 56, 66, 93, 96], "besid": [9, 89, 90], "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "wonder": 9, "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "webserv": [9, 92], "thread": [9, 37, 81, 82, 86, 92], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "program": [9, 42, 90], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "backend": [9, 83, 90, 92, 95], "sleep": [9, 46, 86, 92], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "flask": [9, 56, 79, 91, 92, 95], "wsgi": [9, 83], "synchron": 9, "natur": [9, 97], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "wasn": 9, "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "respond": [9, 15, 17, 46, 81, 83], "repli": [9, 17, 46], "idea": [9, 48, 90, 92, 95], "thank": [9, 42, 43, 52], "larg": [9, 37, 82], "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "particular": [9, 81, 95, 97], "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "pretti": [9, 48, 89, 90, 96], "much": [9, 48, 89, 90, 92, 96], "hit": 9, "situat": [9, 81, 92, 96], "wors": 9, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "distinguish": [9, 37, 92], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "subscrib": [9, 11, 26, 82], "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "exclud": [9, 24, 37, 42, 66, 80, 82], "214": 9, "8821": 9, "220": [9, 46, 66, 92], "tool1": [9, 66, 78, 81], "25": [9, 10, 37, 82, 92], "50": [9, 66, 82, 92], "221": 9, "70": 9, "1395651928": 9, "1395651926": 9, "212": 9, "32": 9, "49": 9, "1123": 9, "comma": [9, 66], "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "ye": [9, 40, 96], "printhead": [9, 92], "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "axi": [9, 10, 11, 51, 66, 78, 81], "distanc": [9, 51, 81], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "append": [9, 36, 37, 57, 83, 90, 92, 95], "signifi": [9, 15, 80, 92, 95], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "feedrat": [9, 47, 52, 66], "factor": [9, 10, 11, 66, 81, 86, 95], "movement": [9, 78], "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "10mm": [9, 51, 66], "5mm": [9, 66], "02mm": 9, "02": [9, 31, 92, 95], "feed": [9, 22, 32, 52, 81], "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "105": [9, 46], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "05": [9, 17, 82], "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "retract": [9, 16, 37, 52, 66, 81, 82], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "heater": [9, 37, 46, 48, 52, 81, 82], "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "neg": [9, 23, 86], "flowrat": [9, 66], "flow": [9, 81, 83], "extrus": [9, 10, 52, 81, 85], "125": 9, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "205": [9, 66], "3mm": 9, "95": 9, "outsid": [9, 40, 47, 80, 92, 96], "plu": [9, 37, 41, 85, 95, 97], "init": [9, 66, 80, 84], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "revers": [9, 37, 77, 78, 82], "won": [9, 32, 48, 87, 91, 95], "monitor_termin": 9, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "consequ": [9, 47], "mintemp": 9, "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "omg": 9, "kill": [9, 46], "faq": [9, 47, 56], "n2685": 9, "g1": [9, 47, 51, 52, 92], "x147": 9, "748": 9, "y108": 9, "411": 9, "e627": 9, "83763": 9, "85": 9, "recv": [9, 11, 37, 82], "n2686": 9, "x148": 9, "522": 9, "286": 9, "8963": 9, "98": 9, "n2687": 9, "866": 9, "174": 9, "92338": 9, "87": 9, "n2688": 9, "x149": 9, "494": 9, "y107": 9, "868": 9, "97566": 9, "91": 9, "n2689": 9, "731": 9, "779": 9, "9946": 9, "96": 9, "n2690": 9, "69": [9, 90], "032": 9, "e628": 9, "01378": 9, "101": [9, 90], "n2691": 9, "252": 9, "y112": 9, "3785": 9, "107": 9, "n2692": 9, "x145": 9, "082": 9, "253": 9, "54089": 9, "93": 9, "monitor": [9, 92], "interfer": [9, 49], "m106": [9, 37, 51, 52, 88, 92], "m18": [9, 52], "s0": [9, 21, 37, 52, 82, 92], "mutual": [9, 51, 82], "exclus": [9, 51, 79, 82], "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stat": [9, 11, 48], "histor": 9, "datapoint": 9, "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "pair": [9, 40, 52, 57, 60, 66, 86, 95], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "variabl": [9, 24, 34, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "ad": [9, 10, 22, 33, 37, 47, 48, 49, 50, 51, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "org": [9, 17, 32, 33, 34, 37, 54, 56, 74, 82, 90], "link": [9, 32, 33, 47, 78, 90, 92, 95], "physic": [10, 37, 48, 82], "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "reprap": [10, 49], "formfactor": [10, 81], "rectangular": [10, 79, 81], "lowerleft": [10, 79, 81], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "6000": 10, "invert": [10, 81], "300": [10, 17, 22, 37, 83, 92], "my_profil": 10, "my": [10, 23, 37, 57, 88, 96], "basedon": [10, 67], "some_profil": 10, "cool": [10, 47, 51], "some_other_profil": 10, "circular": [10, 79, 81, 97], "150": [10, 33], "21": [10, 46, 92, 95], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "partial": [10, 13, 73, 92], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "collect": [10, 40, 77, 90, 95, 96, 97], "overwritten": [10, 14, 70, 78, 85, 86, 90], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "titl": [10, 22, 37, 82, 95], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "red": [10, 22, 37, 51, 79, 82, 95], "orang": [10, 37, 79, 82], "yellow": [10, 22, 37, 79, 82], "green": [10, 37, 79, 82], "blue": [10, 37, 79, 82], "black": [10, 13], "custom_box": [10, 81], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86, 95], "exceed": 10, "min_x": 10, "smaller": [10, 92], "max_x": 10, "larger": [10, 39, 92], "min_i": 10, "max_i": 10, "min_z": 10, "max_z": 10, "nozzlediamet": [10, 81], "nozzl": [10, 29, 46, 52, 81], "sharednozzl": [10, 46, 52, 81, 82], "among": [10, 37, 77, 81, 82, 86, 92, 94, 95], "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "defaultextrusionlength": [10, 81], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "25mm": 10, "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "quo": [11, 14], "streamlin": [11, 14], "consumpt": [11, 14, 89], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "drop": [11, 13, 14, 46, 82], "email": [11, 13, 14, 33, 90], "up": [11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "real": [11, 46, 83, 86, 92], "exchang": [11, 23], "sockj": [11, 56, 62, 70, 79, 93], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "3rd": 11, "establish": [11, 17, 37, 81, 82, 92], "reauthrequir": 11, "reauthent": [11, 37, 82], "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "stale": [11, 23], "suffic": [11, 52, 92], "accumul": 11, "twice": [11, 90], "flood": [11, 96], "printfail": [11, 47], "movierenderdon": 11, "determin": [11, 16, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "With": [11, 52, 55, 85, 96], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "cap": 11, "wish": [11, 37, 82, 87, 90, 92], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "subscript": [11, 37, 47, 79, 82], "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "kind": [11, 48, 92, 95, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "obtain": [11, 23, 33, 43, 51, 82, 90], "someus": [11, 33, 37, 90], "lgz0trf8by": 11, "roundtrip": 11, "throttl": [11, 33, 34, 46, 62, 81], "fast": [11, 70], "signal": [11, 21, 23, 49, 92, 95], "multipli": [11, 66], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "500m": [11, 70], "produc": [11, 21, 83, 86, 90, 95], "maxim": [11, 70], "regener": [11, 37, 82], "branch": [11, 33, 43, 45, 54, 56, 89, 95], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "display_vers": [11, 95], "plugin_hash": 11, "config_hash": [11, 79, 84], "currentz": [11, 81], "temp": [11, 81], "plot": 11, "resend": [11, 37, 46, 47, 82, 92], "statist": [11, 37, 82], "inject": [11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "additional_state_data": [11, 93], "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "source_loc": [11, 95], "moment": [11, 17, 57, 78, 92], "source_path": [11, 47, 85, 95], "dest_loc": 11, "dest_path": [11, 85], "safemod": [12, 55], "incomplete_startup": 12, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 83, 90, 95], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "settings_read": 13, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "sort": [13, 37, 42, 80, 82, 92, 95], "changelog": [13, 82], "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "thirdparti": [13, 37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_id": 13, "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "plugin_nam": [13, 54, 90], "plugin_announc": [13, 37, 82], "announc": [13, 30, 56], "navbar": [13, 37, 79, 82, 90, 95], "systemmenu": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "section_print": [13, 37, 82], "terminalfilt": [13, 37, 79, 82], "gcodescript": [13, 37, 47, 52, 82, 92], "section_featur": [13, 37, 82], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "accesscontrol": [13, 37, 48, 79, 82, 93], "gcodevisu": [13, 37], "section_octoprint": [13, 37, 82], "plugin_log": [13, 37, 82], "plugin_softwareupd": [13, 37, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "section_plugin": [13, 37], "plugin_action_command_prompt": 13, "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "action_command_prompt": [13, 21], "plugin_curalegaci": 13, "legaci": [13, 14, 77, 90, 96], "curalegaci": [13, 14, 37], "sidebar": [13, 20, 37, 79, 82, 95, 97], "plugin_printer_safety_check": 13, "safeti": [13, 28, 34], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "printer_safety_check": [13, 34], "gcodeview": [13, 29, 37], "viewer": [13, 30, 38, 48, 56, 97], "userset": [13, 37, 79, 82, 95], "beta": [13, 89], "sizethreshold": [13, 29, 37], "mobilesizethreshold": [13, 29, 37], "timelapsetmp": 13, "timelapse_tmp": [13, 37, 79, 82], "settingsplugin": [13, 90, 92, 93, 94], "subtre": [13, 78, 95], "portopt": 13, "baudrateopt": 13, "timeoutconnect": 13, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutdetect": 13, "timeoutcommun": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "temperaturetargetset": [13, 37, 79, 82], "timeoutsdstatu": 13, "sdstatu": [13, 37, 79, 82, 84], "maxtimeoutsidl": 13, "maxcommunicationtimeout": [13, 37, 79, 82], "idl": [13, 37, 79, 82], "maxtimeoutsprint": 13, "maxtimeoutslong": 13, "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "streamurl": 13, "snapshoturl": 13, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "ffmpegpath": 13, "ffmpeg": [13, 37, 47, 79, 82], "hand": [14, 32, 42, 48, 92, 95], "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "multi": [14, 52, 92, 95], "displaynam": [14, 33, 79, 82], "qualiti": [14, 81], "medium_qu": 14, "medium": 14, "quick_test": 14, "bottom_layer_spe": 14, "bottom_thick": 14, "brim_line_count": 14, "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "layer": [14, 39, 40, 47, 48, 81, 85, 92], "skirt": 14, "layer_height": 14, "skirt_line_count": 14, "succe": [14, 70, 85], "anywai": 14, "incl": [14, 92], "samedevic": 14, "devic": [14, 25, 37, 48, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "strong": 15, "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "disrupt": [15, 54], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 95, 96], "reboot": 15, "divid": [15, 37, 40, 81, 82, 96], "malform": 15, "didn": [15, 44, 80], "zero": [15, 86], "expos": [15, 24, 33, 48, 91], "menu": [15, 37, 55, 82, 89, 90, 92], "programmat": [15, 95], "realli": [15, 33, 37, 48, 55, 82, 90], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "async": [15, 37, 83, 92], "timelapse_list": 16, "timelapse_delet": 16, "timelapse_manage_unrend": 16, "across": [16, 40, 46, 58, 97], "timelapse_admin": 16, "thumbnail": 16, "zchang": [16, 37, 47, 79, 82], "postrol": [16, 37, 79, 82], "roll": [16, 37, 82], "fp": [16, 37, 79, 82], "frame": [16, 17, 37, 47, 82, 92, 96], "video": [16, 17, 37, 82, 95], "retractionzhop": [16, 37, 79, 82], "hop": [16, 37, 82], "mindelai": 16, "interv": [16, 24, 34, 37, 46, 79, 82, 86], "vase": 16, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "renderafterprint": [16, 37, 79, 82], "shot": 16, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "check_typ": [17, 74], "dir": [17, 37], "check_access": [17, 74], "r": [17, 37, 74, 77, 80, 83, 92], "w": [17, 24, 46, 95], "allow_create_dir": 17, "check_writable_dir": 17, "writabl": [17, 78, 79], "small": [17, 42, 52, 90, 92, 95, 96], "testballoon": 17, "txt": [17, 24, 25, 90, 95], "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "validssl": 17, "ssl": [17, 37, 82, 83], "basicauth": 17, "digestauth": 17, "digest": 17, "bearerauth": 17, "199": 17, "299": 17, "redirect": [17, 30, 82, 83, 95], "399": 17, "client_error": 17, "499": 17, "server_error": 17, "599": 17, "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "base64": [17, 74], "content_type_whitelist": 17, "imag": [17, 37, 47, 74, 82, 95, 96], "plain": [17, 57, 83], "content_type_blacklist": 17, "togeth": [17, 51, 78, 82, 90], "broader": 17, "whitelist": [17, 86], "disallow": [17, 83], "png": [17, 47], "blacklist": [17, 37, 79, 80, 82, 86], "reach": [17, 51, 56, 82, 92], "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "ip": [17, 25, 33, 37, 47, 48, 82, 83], "tcp": 17, "udp": [17, 74], "hostnam": [17, 37, 82, 91], "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "dn": [17, 25, 37, 82], "lookup": [17, 83], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "remot": [17, 33, 37, 47, 82, 83, 90, 92], "lan": [17, 48], "subnet": [17, 37, 48, 82], "cidr": [17, 37, 82], "typeok": 17, "missing_fil": 17, "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "gif": [17, 74, 92], "r0lgodlhaqabaiaaaaaaap": 17, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "reachabl": [17, 25, 48, 74, 92, 95], "53": [17, 37, 74, 82, 90], "192": [17, 37, 48, 82], "168": [17, 37, 48, 82], "is_lan_address": 17, "16": [17, 33, 82, 92], "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "checktyp": 17, "overal": [17, 84], "inde": 18, "genuin": 18, "firstrun": [19, 37, 79, 82, 95], "were": [19, 47, 55, 78, 90, 92, 95, 96], "skip": [19, 29, 37, 82, 83, 95], "wizardplugin": [19, 93, 97], "on_wizard_finish": [19, 95], "seen": [19, 90, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "plugin_action_command_notification_show": 20, "These": [20, 37, 42, 51, 52, 82, 88, 95], "shown": [20, 37, 82, 95, 97], "popup": [20, 81], "panel": [20, 24, 37, 82, 95, 97], "clear": [20, 49, 90, 92], "plugin_action_command_notification_clear": 20, "enable_popup": 20, "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "hello": [20, 24, 37, 82, 86, 92, 93, 95], "world": [20, 37, 86, 90, 92, 95], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "action_command_notif": 20, "choos": 21, "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "proceed": [21, 48, 90], "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "choic": [21, 39], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "enable_emergency_send": 21, "jump": 21, "queue": [21, 78, 86, 92, 94, 95, 96], "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "enable_sign": 21, "p1": 21, "m876": 21, "prompt_begin": 21, "prompt_choic": 21, "prompt_button": 21, "prompt_show": 21, "tell": [21, 42, 78, 88, 90, 92, 93], "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "prompt_end": 21, "unload": [21, 79, 80, 87, 88], "swap": 21, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 95, 97], "complic": [21, 90], "runout": 21, "abort": [21, 23, 50, 78, 92, 95], "11": [22, 26, 34, 37, 42, 82, 83, 86, 90, 92, 95], "channel": [22, 26, 33, 41, 89], "rss": 22, "atom": 22, "notif": [22, 30, 33, 37, 55, 56, 82], "reader": 22, "preconfigur": [22, 83, 92], "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "uniqu": [22, 26, 29, 34, 81, 90, 95], "prioriti": [22, 37, 78, 82], "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "unus": [22, 23, 37, 82, 95], "act": [22, 33, 37, 82, 90, 92, 97], "enabled_channel": 22, "forced_channel": 22, "_import": 22, "sparingli": [22, 81, 88], "channel_ord": 22, "ttl": [22, 33, 37, 79, 82], "live": [22, 32, 33, 37, 82, 92, 96], "minut": [22, 33, 37, 82], "hour": [22, 82, 89, 92], "display_limit": 22, "summary_limit": 22, "interact": [23, 37, 49, 66, 82, 90, 97], "behalf": [23, 92], "global": [23, 57, 62, 77, 80, 81, 83, 86, 88, 90, 91, 92, 97], "administr": [23, 42, 48, 90, 92, 95], "webinterfac": 23, "ask": [23, 82], "blown": [23, 51, 52, 82], "light": [23, 40], "weight": [23, 37, 82], "implementat": 23, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "auth_dialog": 23, "At": [23, 44, 57, 78], "appkei": [23, 82, 95], "fall": [23, 24, 92, 95, 96], "insensit": [23, 33, 83, 86], "grant": [23, 47, 48], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "app_token": 23, "user_token": 23, "plugin_appkeys_gr": 23, "plugin_appkeys_admin": [23, 92], "belong": [23, 33, 85, 90, 95], "fresh": [23, 37, 82, 83, 90], "awesom": [23, 90, 92, 95], "app_id": 23, "user_id": [23, 83], "api_kei": 23, "abcdef1234567890": 23, "revoc": 23, "owner": [23, 47], "getkei": 23, "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "getallkei": 23, "generatekei": 23, "revokekei": 23, "revokekeyforapp": 23, "requestforus": 23, "checkdecis": 23, "conveni": [23, 80, 84, 90], "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "goe": [23, 52, 92], "reject": [23, 37, 57, 82], "some_us": 23, "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "our": [23, 78, 83, 88, 90, 92, 95, 97], "u": [23, 25, 90], "restor": [24, 48], "easi": [24, 33, 40, 90, 95, 96], "migrat": [24, 41, 56, 84, 93, 95], "newli": [24, 42, 48, 80, 89], "loss": 24, "As": [24, 34, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "adher": [24, 41, 42, 45], "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "restore_unsupport": 24, "environ": [24, 33, 34, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "octoprint_backup_restore_unsupport": 24, "circumst": [24, 92], "touch": [24, 25, 32, 37, 48, 56, 82, 90], "best": [24, 81, 90, 92, 96], "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "subsystem": [24, 80, 88, 89, 94, 95], "exit": [24, 33, 36, 37, 92, 96], "combin": [24, 48, 83, 92, 95], "cronjob": 24, "cli": [24, 38, 56, 79, 83, 93], "plugin_backup_backup_cr": 24, "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "additional_excludes_hook": 24, "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95], "kwarg": [24, 32, 33, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 92, 95], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "react": [24, 34, 54, 80, 87, 90, 92, 95], "foo": [24, 83, 86, 92, 95], "o": [24, 37, 43, 46, 82, 86, 92, 95], "io": [24, 26, 78, 83], "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "backupexcludetestplugin": 24, "octoprintplugin": [24, 79, 80, 92, 94, 95], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "join": [24, 78, 83, 95], "get_plugin_data_fold": [24, 79, 80, 94, 95], "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_hooks__": [24, 32, 33, 88, 92], "before_backup_hook": 24, "after_backup_hook": 24, "before_restore_hook": 24, "after_restore_hook": 24, "export": [24, 32, 91], "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "backupplugin": 24, "create_backup_help": 24, "get_help": [24, 79, 80, 91], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "claus": 24, "delete_backup_help": 24, "examplebackup": 24, "silent": [24, 37, 78, 82, 83, 84], "verifi": [24, 83, 89, 95], "unavail": 24, "offici": [24, 32, 54, 56, 90, 93, 96], "homepag": [24, 90], "reinstal": [24, 33, 90], "latest": [24, 33, 42, 49], "ssdp": [25, 91], "upnp": 25, "known": [25, 37, 47, 50, 52, 78, 82, 92, 95], "bonjour": 25, "avahi": 25, "microsoft": 25, "icon": [25, 32, 33, 95, 97], "explor": 25, "frontend": [25, 51, 87, 92, 93, 95, 97], "safari": 25, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89, 90], "brows": [25, 42, 91], "scan": 25, "discov": [25, 80, 90, 95], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "publicport": 25, "public": [25, 33, 48, 56, 90], "pathprefix": 25, "usessl": 25, "httpusernam": 25, "httppassword": 25, "upnpuuid": 25, "uuid": 25, "autogener": 25, "vendor": [25, 32], "vendorurl": 25, "obligatori": [25, 95], "txt_record": 25, "publish": [25, 33, 89, 90, 91, 95], "eth0": [25, 48], "443": 25, "_someservic": 25, "field1": 25, "value1": [25, 40, 86], "field2": 25, "value2": [25, 86], "scheme": [25, 37, 41, 82, 83], "caus": [26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "sentri": 26, "gather": 26, "especi": [26, 40, 90, 95, 96], "valuabl": [26, 34], "candid": [26, 29, 33, 34, 92], "rc": [26, 33, 41], "stabl": [26, 29, 33, 37, 41, 42, 82], "kindli": 26, "servic": [26, 30, 37, 48, 95, 96], "complianc": 26, "privaci": [26, 34, 37, 80, 88], "polici": [26, 34, 80, 88], "enabled_unreleas": 26, "unreleas": [26, 29], "unique_id": [26, 34], "errortrack": 26, "project": [27, 28, 42, 90, 96], "cycl": [27, 28, 47, 52], "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90, 95], "formerli": [28, 31], "alex": 29, "ustyantsev": 29, "ever": [29, 35, 37, 48, 81, 82, 95], "2013": [29, 35, 48], "extract": [29, 35, 80, 83, 92, 95], "skipuntilthi": 29, "search": 29, "prime": [29, 52], "preview": [29, 41], "backup": [30, 39, 48, 56, 79, 84, 93, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "discoveri": [30, 39, 56, 88, 91], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "1393158814": 31, "43712": 31, "1392628936": 31, "2014": 31, "17": [31, 90, 95, 96], "13205": 31, "1798419": 31, "12237201408": 31, "listlog": 31, "deletelog": 31, "downloadlog": 31, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "uninstal": [32, 34, 55, 80, 87], "whl": 32, "archiv": [32, 33, 54, 90], "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "jneilliii": 32, "bedlevelvisu": 32, "master": [32, 33, 41, 42, 54, 90, 95], "eyal0": 32, "printtimegeniu": 32, "logic": [32, 51, 80, 82, 83, 95], "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "littl": [32, 33, 90, 95], "wrench": [32, 33], "upper": [32, 33, 70, 92, 95], "corner": [32, 33, 81, 90], "repository_ttl": 32, "1440": [32, 33, 82], "notic": [32, 90, 95], "notices_ttl": 32, "360": [32, 33], "shouldn": [32, 33, 48, 90], "pip_arg": 32, "pip_force_us": 32, "dependency_link": [32, 90], "hidden": [32, 42, 77, 79, 80, 84, 97], "plugin_pluginmanager_install_plugin": 32, "source_typ": [32, 47], "plugin_pluginmanager_uninstall_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_disabled_plugin": 32, "reconnect_hooks_hook": 32, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "exampleplugin": 32, "some_custom_hook": 32, "some_other_custom_hook": 32, "notifi": [33, 57, 92, 95], "themselv": [33, 39, 88, 92, 95, 97], "switch": [33, 42, 51, 81, 90, 92, 96, 97], "git": [33, 42, 45, 54, 90, 95], "commit": [33, 41, 42, 45], "fire": [33, 47, 92, 95, 97], "navig": [33, 37, 82, 90, 95, 97], "therein": [33, 42, 92, 96], "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "target_vers": 33, "checkout": [33, 42, 90], "pi": [33, 48, 90, 96], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "raspberri": [33, 48, 90], "guid": [33, 42, 82, 96], "bleed": [33, 41], "edg": [33, 41, 46], "temporarili": [33, 95, 96], "internet": [33, 47, 48], "24h": 33, "pend": [33, 80, 86, 92], "leav": [33, 37, 82, 86, 90, 95], "reserv": [33, 41], "github_releas": 33, "foosel": 33, "repo": 33, "pip_command": 33, "cache_ttl": 33, "notify_us": 33, "pisupport": 33, "ignore_throttl": 33, "mb": [33, 39], "minimum_free_storag": 33, "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "check_overlay_url": 33, "update_check_overlai": 33, "6h": 33, "check_overlay_ttl": 33, "github_commit": 33, "regularli": [33, 54], "doc": [33, 37, 42, 48, 52, 82, 95], "en": [33, 82, 90], "pro": 33, "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_us": 33, "bitbucket_password": 33, "prereleas": 33, "prerelease_branch": [33, 89], "commitish": 33, "target_commitish": 33, "stable_branch": [33, 89], "prerelease_channel": 33, "stable_channel": 33, "versionad": 33, "release_compar": 33, "compar": [33, 83, 86, 92, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "comparison": 33, "packag": [33, 54, 87, 88, 90, 93, 94, 96], "newer": [33, 42, 92], "semant": [33, 45, 52, 90], "semantic_vers": 33, "unequ": 33, "api_us": 33, "privat": 33, "api_password": 33, "hint": [33, 90, 95, 96], "ssh": [33, 48], "accord": [33, 37, 47, 85, 90], "my_us": 33, "my_repo": 33, "git_commit": 33, "checkout_fold": 33, "pypi_releas": 33, "pypi": [33, 54], "httpheader": 33, "etag": [33, 83, 95], "header_url": 33, "avoid": [33, 42, 48, 92, 96], "duplic": [33, 95], "single_file_plugin": 33, "header_nam": 33, "header_method": 33, "header_prefix": 33, "jsondata": 33, "command_lin": 33, "final": [33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "stdout": [33, 39, 86], "python_check": 33, "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "always_curr": 33, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "current_vers": 33, "never_curr": 33, "local_vers": 33, "remote_vers": 33, "ing": [33, 96], "impli": 33, "pip_cwd": 33, "force_reinstal": 33, "guarante": [33, 61, 81, 90, 95], "re": [33, 81, 82, 92, 95], "update_script": 33, "update_fold": 33, "python_updat": 33, "sleep_a_bit": 33, "durat": [33, 37, 82], "countdown": 33, "meantim": 33, "correctli": [33, 37, 48, 52, 55, 82], "devel": [33, 37, 41, 42, 79, 82, 90], "someplugin": 33, "declar": [33, 77, 80, 87, 91, 92, 95, 97], "mainten": [33, 41, 45, 96], "tag": [33, 45, 81, 90, 92], "And": [33, 46, 48, 92], "gist": 33, "somegist": 33, "whenev": [33, 48, 55, 95], "alongsid": 33, "githubusercont": [33, 42], "gistid": 33, "my_plugin": 33, "bit": [33, 37, 40, 48, 90, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "pick": [33, 90, 92], "around": [33, 37, 51, 81, 82, 90, 95], "lot": [33, 37, 40, 57, 82, 92], "higher": [33, 70, 95], "pure": [33, 95], "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "plugin_softwareupdate_update_succeed": 33, "succeed": 33, "from_vers": 33, "to_vers": 33, "plugin_softwareupdate_update_fail": 33, "update_config_hook": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "signatur": [33, 57, 85, 86, 92], "get_latest": 33, "checker": [33, 94], "perform_upd": 33, "fiction": 33, "updateplugindemo": 33, "get_update_inform": [33, 88, 89], "_plugin_nam": [33, 79, 80, 94], "displayvers": 33, "_plugin_vers": [33, 79, 80, 94], "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "insight": [34, 90], "mani": [34, 37, 46, 66, 81, 82, 92], "metric": 34, "earli": 34, "better": [34, 37, 40, 90], "tailor": 34, "ping": 34, "15min": 34, "granular": [34, 48, 92, 95], "unlock": 34, "commerror": 34, "printjob": 34, "octoprint_tracking_dis": 34, "ci": [34, 41], "simul": [35, 37, 46], "quirk": 35, "heavili": 35, "virtual_print": [35, 46, 92], "manipul": [36, 49, 92], "append_valu": 36, "behind": [36, 37, 82, 90, 92], "insert_valu": 36, "insert": [36, 80], "remove_valu": 36, "appdata": [37, 39, 51, 52, 54, 55, 84, 89, 90], "deviat": 37, "filebas": [37, 82], "usermanag": [37, 79, 80, 82, 83, 92, 94], "filebasedusermanag": [37, 82, 92], "userfil": [37, 79, 82], "localnetwork": [37, 48, 79, 82], "autologina": [37, 48, 79, 82], "autologinloc": [37, 48, 79, 82], "logon": [37, 82], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "googl": [37, 82], "haproxi": [37, 82], "wiki": [37, 49, 54, 90], "forwardfor": 37, "127": [37, 48, 74, 82, 88, 92], "24": [37, 82, 89, 92], "trust": [37, 48, 82, 83], "front": [37, 82, 96], "lock": [37, 81, 82], "down": [37, 47, 48, 78, 82, 84, 95, 96], "trustbasicauthent": [37, 79, 82, 83], "caution": [37, 48, 82], "checkbasicauthenticationpassword": [37, 79, 82], "proxi": [37, 82, 83, 92], "trustremoteus": [37, 79, 82, 83], "convei": [37, 82], "remoteuserhead": [37, 79, 82], "remote_us": [37, 82], "addremoteus": [37, 79, 82], "impact": [37, 82], "defaultreauthenticationtimeout": [37, 79, 82], "some_vers": 37, "pubkei": 37, "rsa": 37, "tweak": 37, "violet": [37, 79, 82], "transpar": [37, 82, 97], "acryl": [37, 82], "colortranspar": [37, 79, 82], "showinternalfilenam": [37, 79, 82], "prepend": [37, 57, 92], "plugin_pi_support": [37, 82], "plugin_firmware_check": 37, "plugin_gcodeview": [37, 82], "plugin_appkei": [37, 82], "plugin_backup": [37, 82], "plugin_track": [37, 82], "plugin_errortrack": [37, 82], "plugin_corewizard_acl": [37, 82], "critic": [37, 47, 79, 82], "defaultlanguag": [37, 79, 82], "reorder": 37, "plugin_": [37, 80, 90, 92, 95], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "redefin": [37, 39], "plugin_helloworld": 37, "fan": [37, 51, 52, 82, 88, 92], "layout": [37, 51, 79, 82], "horizont": [37, 51, 79, 82, 90], "parametric_command": 37, "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "255": [37, 48, 51, 82], "m107": [37, 51, 52, 88, 92], "rerend": [37, 82], "preemptiv": [37, 79, 82, 95], "stylesheet": [37, 79, 82, 90, 95], "product": [37, 80, 82, 92], "compil": [37, 81, 82, 90], "css": [37, 42, 79, 82, 92, 93, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "asset": [37, 62, 82, 90, 94, 95], "minifi": [37, 79, 82], "webasset": [37, 62, 79, 82, 90], "reduc": [37, 82, 90, 95], "minif": [37, 82], "regardless": [37, 62, 82, 87, 92, 95, 96], "minify_plugin": [37, 79, 82], "clean_on_startup": [37, 79, 82], "anim": [37, 82], "showloadinganim": [37, 79, 82], "compens": [37, 82], "fact": [37, 40, 81, 82, 92], "accuraci": [37, 82], "statsweighinguntil": [37, 79, 82], "elaps": [37, 47, 81, 82, 92], "far": [37, 48, 52, 53, 82, 83, 90, 95], "validityrang": [37, 79, 82], "dumb": [37, 82], "forcedumbfromperc": [37, 79, 82], "forcedumbaftermin": [37, 79, 82], "30": [37, 82, 86, 90], "fluctuat": [37, 82], "stablethreshold": [37, 79, 82], "60": [37, 82, 86, 92], "shell": [37, 42], "consum": [37, 56, 92], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "lcd": [37, 82], "m115": [37, 46, 47, 92], "m117": [37, 46, 47, 51, 82, 92], "g28": [37, 47, 51, 82], "logfil": [37, 80, 97], "graph": [37, 82], "temperaturegraph": [37, 79, 82], "sdsupport": [37, 79, 82], "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "poll": [37, 82, 92], "watch": [37, 42, 79, 82, 95], "pollwatch": [37, 79, 82], "modelsizedetect": [37, 79, 82], "printcancelconfirm": [37, 79, 82], "uppercas": [37, 82, 92], "autouppercaseblacklist": [37, 79, 82], "m118": [37, 82], "g91": [37, 51, 52, 82, 92], "influenc": [37, 82, 92, 95], "g90influencesextrud": [37, 79, 82], "univers": [37, 82], "filesystem": [37, 82, 83], "fine": [37, 46, 57, 81, 82, 90, 96], "revert": [37, 47, 82], "older": [37, 41, 82, 95], "enforcereallyuniversalfilenam": [37, 79, 82], "temporari": [37, 82, 83, 85], "tmp": [37, 82, 83], "virtualsd": [37, 79, 82], "mount": 37, "quickli": [37, 55, 90, 96], "resid": [37, 80, 87, 92], "slicingprofil": [37, 79, 82, 85, 95], "pertain": 37, "saniti": [37, 82, 92], "maxextrud": [37, 79, 82], "throttle_normalprio": [37, 79, 82], "01": [37, 46, 82, 90], "throttle_highprio": [37, 79, 82], "mobil": [37, 90, 95], "2mb": 37, "2097152": [37, 39], "20mb": 37, "20971520": 37, "_disabl": [37, 82], "_forcedcompat": [37, 82, 96], "tier": [37, 82], "_sortingord": [37, 82], "some_hook": 37, "some_other_hook": 37, "some_set": [37, 40, 95], "some_other_set": 37, "defaultprofil": [37, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "beforeprintstart": [37, 52, 79, 82, 92], "afterprintcancel": [37, 52, 79, 82], "motor": [37, 48, 52, 82], "nm84": [37, 82], "disable_hotend": [37, 52, 82], "nm140": 37, "nm106": [37, 82], "afterprintdon": [37, 52, 79, 82], "afterprintpaus": [37, 52, 92], "beforeprintresum": [37, 52], "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "m104": [37, 52, 82], "endfor": [37, 51, 52, 82, 92], "decreas": [37, 70, 82], "experienc": [37, 39, 82], "sec": 37, "communicationbusi": [37, 79, 82], "dead": [37, 82], "max": [37, 51, 79, 80, 82, 83], "written": [37, 80, 82, 83, 96], "maxwritepass": [37, 79, 82], "glob": [37, 82, 92], "html": [37, 42, 44, 82, 90, 92, 95], "additionalport": [37, 79, 82], "myprintersymlink": 37, "baud": [37, 47, 82], "additionalbaudr": [37, 79, 82], "123456": 37, "becaus": [37, 40, 62, 82, 83, 95], "m0": [37, 47, 82], "m1": [37, 47, 82], "blockedcommand": [37, 79, 82], "m600": [37, 47, 82], "ignoredcommand": [37, 79, 82], "pausingcommand": [37, 79, 82], "m25": [37, 82], "dwell": [37, 47, 82], "longrunningcommand": [37, 79, 82], "g4": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "m400": [37, 82], "m226": [37, 47, 82], "checksum": [37, 46, 82], "m110": [37, 82, 92], "checksumrequiringcommand": [37, 79, 82], "handshak": [37, 82, 83], "n0": [37, 82], "simpli": [37, 42, 48, 52, 95, 96], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "hellocommand": [37, 79, 82], "disconnectonerror": [37, 79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "invalu": [37, 82], "logresend": [37, 79, 82], "waitforstartonconnect": [37, 79, 82], "capabl": [37, 46, 79, 82, 93], "waittoloadsdfilelist": [37, 79, 82], "linenumb": [37, 46, 82], "repeti": [37, 46, 82], "alwayssendchecksum": [37, 79, 82], "express": [37, 39, 51, 81, 82, 86, 92, 95], "gm": [37, 82], "sendchecksumwithunknowncommand": [37, 79, 82], "unknowncommandsneedack": [37, 79, 82], "swallowokafterresend": [37, 79, 82], "sdrelativepath": [37, 79, 82], "sdalwaysavail": [37, 79, 82], "style": [37, 42, 46, 48, 51, 82, 93, 95], "targetextr0": [37, 46, 82], "m105": [37, 46, 82, 92], "repetiertargettemp": [37, 79, 82], "heatup": [37, 82], "externalheatupdetect": [37, 79, 82], "ident": [37, 82, 95], "ignoreidenticalresend": [37, 79, 82], "ignoredidenticalresend": 37, "identicalresendscount": 37, "supportfascommand": [37, 79, 82], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "firmwaredetect": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "supportresendswithoutok": [37, 79, 82], "talk": [37, 62, 82], "latin_1": [37, 82], "codec": [37, 82], "shut": [37, 47, 82, 95], "enableshutdownactioncommand": [37, 79, 82], "m29": [37, 46, 82], "buggi": [37, 82], "triggerokform29": [37, 79, 82], "resendratiothreshold": [37, 79, 82], "autoreport": [37, 82], "autoreport_temp": [37, 46, 79, 82], "shorten": [37, 82], "busy_protocol": [37, 79, 82], "bind": [37, 82, 90, 95, 97], "5000": [37, 82, 84], "startonceinsafemod": [37, 55, 79, 82], "incomplet": [37, 82, 97], "ignoreincompletestartup": [37, 79, 82], "secret": [37, 82], "encrypt": [37, 82], "randomli": [37, 82], "secretkei": [37, 79, 82], "somesecretkei": 37, "nginx": [37, 82, 83], "apach": [37, 82], "reverseproxi": [37, 79, 82], "prefixhead": [37, 79, 82], "schemehead": [37, 79, 82], "hosthead": [37, 79, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "said": [37, 47, 48, 82], "prefixfallback": [37, 79, 82], "schemefallback": [37, 79, 82], "hostfallback": [37, 79, 82], "trustlocalhostproxi": [37, 79, 82], "trustedproxi": [37, 79, 82], "ensur": [37, 42, 48, 54, 55, 77, 78, 80, 81, 82, 83, 86, 90, 92, 95, 96], "embed": [37, 82, 90, 95], "samesit": [37, 79, 82, 83], "allowfram": [37, 79, 82], "lax": [37, 79, 82], "strict": [37, 40, 79, 82, 86], "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "www": [37, 82, 83, 86], "chromestatu": [37, 82], "5088147346030592": [37, 82], "5633521622188032": [37, 82], "3482": [37, 82], "suffix": [37, 57, 82, 83, 84, 92, 95], "nifti": [37, 82], "memori": [37, 82, 83], "rewrit": [37, 82, 83, 92], "incom": [37, 70, 82, 83, 95], "1gb": [37, 82], "maxsiz": [37, 79, 82, 86], "1073741824": [37, 82], "namesuffix": [37, 79, 82], "pathsuffix": [37, 79, 82], "100kb": [37, 82, 92], "102400": [37, 82], "serverrestartcommand": [37, 79, 82], "sudo": [37, 42, 48, 96], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "h": 37, "localpipcommand": [37, 79, 82], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "concern": [37, 45], "aka": [37, 40], "pluginblacklist": [37, 79, 82], "diskspac": [37, 79, 82], "threshold": [37, 82, 83], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "spars": [37, 82], "500mb": [37, 82], "63488000": 37, "200mb": [37, 82], "209715200": [37, 82], "preemptivecach": [37, 79, 82, 92], "dai": [37, 82], "ipcheck": [37, 79, 82], "notat": [37, 82], "trustedsubnet": [37, 79, 82], "baseurl": [37, 57, 58, 62, 70], "mention": [37, 49, 52, 88, 90, 96], "coupl": [37, 41, 70, 90], "emb": [37, 48, 62, 95], "build": [37, 43, 52, 78, 90, 97], "domain": [37, 57, 82, 83], "refus": [37, 78, 96], "insecur": [37, 48, 82], "ticket": 37, "twitter": 37, "solv": [37, 81, 96], "ship": [37, 54, 55, 82], "scari": [37, 48], "defaultslic": [37, 79, 82], "dropdown": 37, "desir": [37, 42, 49, 92], "ab": [37, 82], "210": [37, 82, 92], "pla": [37, 82], "180": [37, 82], "suppress": [37, 47, 81, 82, 92, 95], "pbn": [37, 82], "bclpr": [37, 82], "m27": [37, 82, 92], "echo": [37, 46, 82, 92, 95], "mjpg": [37, 82], "streamer": [37, 82], "binari": [37, 42, 57, 82, 90, 95, 96], "rpi1": 37, "ffmpegthread": [37, 79, 82], "videocodec": [37, 82], "mpeg2video": 37, "ffmpegvideocodec": [37, 79, 82], "bitrat": [37, 79, 82], "5000k": 37, "watermark": [37, 79, 82], "movi": [37, 47, 48, 82], "flip": [37, 82], "fliph": [37, 79, 82], "vertic": [37, 51, 79, 82], "flipv": [37, 79, 82], "rotat": [37, 82], "90": [37, 66, 82], "counter": [37, 82, 86], "clockwis": [37, 82], "rotate90": [37, 79, 82], "framer": [37, 82], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "pictur": [37, 82], "captur": [37, 47, 82, 93], "capturepostrol": [37, 79, 82], "cleantmpafterdai": [37, 79, 82], "primer": [38, 48, 51, 55, 56], "rule": [38, 42, 92, 95, 96], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "formatt": [38, 42], "rollov": 39, "editor": [39, 40, 42, 48, 51, 55], "loglevel": 39, "increas": [39, 41, 45, 70, 86, 92, 95], "highest": 39, "filemanag": [39, 56, 79, 80, 93, 94, 95], "expand": [39, 92], "deem": 39, "find": [39, 41, 42, 48, 52, 53, 80, 83, 87, 89, 90, 95, 96], "serialfil": 39, "streamhandl": 39, "ext": [39, 84, 95], "sy": [39, 86, 96], "timedrotatingfilehandl": 39, "backupcount": 39, "rotatingfilehandl": 39, "maxbyt": 39, "1024": [39, 92], "no_color": 39, "referenc": [39, 92], "asctim": 39, "levelnam": 39, "log_color": 39, "statement": [39, 90, 92, 96], "pathnam": 39, "lineno": 39, "logrecord": 39, "hood": 40, "shed": 40, "excel": 40, "veri": [40, 41, 48, 54, 62, 70, 81, 83, 90, 95, 97], "quot": [40, 49], "indent": [40, 48], "illeg": 40, "whitespac": 40, "matter": [40, 93, 96], "plai": [40, 84], "comment": [40, 49, 92], "piec": [40, 88], "mistaken": 40, "syntax": [40, 51, 52, 80, 82, 90], "thumb": [40, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "liter": [40, 96], "escap": [40, 83, 90], "backslash": 40, "span": [40, 83], "break": [40, 41, 45, 48, 95], "spread": 40, "42": [40, 48, 90], "colon": 40, "bracket": 40, "phew": 40, "yai": 40, "multilin": 40, "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "four": [40, 92, 95], "paragraph": 40, "But": [40, 90], "57": 40, "organ": [40, 54], "anotherkei": 40, "explain": 40, "quit": [40, 90, 92, 96], "complex": [40, 51, 90], "visibl": [40, 95, 97], "some_valu": [40, 95], "a_list": 40, "some_flag": [40, 95], "quoted_str": 40, "setting1": 40, "setting2": 40, "subsetting21": 40, "value11": 40, "subsetting22": 40, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "the_end": 40, "guess": [40, 48, 83, 90], "unquot": 40, "saw": 40, "confus": [40, 90, 96], "mind": [40, 78, 90, 92], "trick": [40, 92], "dash": 40, "clearer": 40, "ideal": [40, 47, 48], "highlight": 40, "white": 40, "tremend": [40, 41, 90], "sensit": [40, 51, 82, 95], "improv": [41, 83], "spot": 41, "rock": 41, "solid": [41, 90], "good": [41, 48, 90, 92, 96, 97], "dev114": 41, "big": [41, 95], "major": [41, 45], "kept": [41, 77], "sometim": [41, 42, 96], "stuff": [41, 51, 90], "encount": [41, 47, 80, 81, 96], "dev123": 41, "stage": [41, 42], "bugfix": 41, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "graduat": 41, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "0rc1": [41, 96], "0rc2": 41, "dev3": 41, "0rc": 41, "dev12": 41, "pop": 41, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "slowli": [41, 70], "platform": [42, 48, 56, 77, 79, 80, 92, 95], "agnost": 42, "prerequisit": 42, "setuptool": [42, 89, 90], "virtualenv": [42, 90, 96], "13": [42, 55, 70, 90], "clone": [42, 90], "cd": [42, 90], "wide": [42, 68], "python3": [42, 96], "venv": [42, 90, 96], "bin": [42, 54, 55, 89, 90, 96], "bash": 42, "upgrad": 42, "revis": 42, "blame": 42, "ignorerevsfil": 42, "rev": 42, "suit": 42, "pytest": 42, "rebuild": 42, "sphinx": 42, "_build": 42, "scan_dep": 42, "substitut": 42, "apt": 42, "distribut": [42, 48, 56, 93], "debian": 42, "ubuntu": 42, "libyaml": 42, "essenti": 42, "pull": [42, 96], "Then": [42, 48, 90, 92, 96], "x86": 42, "2019": 42, "msvcv142": 42, "x64": 42, "sdk": 42, "ex": [42, 96], "m": [42, 81, 86, 90, 92], "easili": [42, 48, 92], "3df4550c": 42, "eebd": 42, "496c": 42, "a189": 42, "e55f2f8b01c": 42, "commandlin": [42, 56, 79], "startingdirectori": 42, "tabtitl": 42, "suppressapplicationtitl": 42, "forum": [42, 56, 96], "myself": 42, "privileg": 42, "xcode": 42, "suitabl": 42, "el": 42, "capitan": 42, "xcodebuild": 42, "homebrew": 42, "rubi": 42, "curl": 42, "fssl": 42, "brew": 42, "ensurepip": 42, "visualstudio": 42, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "defaultinterpreterpath": 42, "formatonsav": 42, "codeactionsonsav": 42, "fixal": 42, "ruff": 42, "explicit": [42, 95, 96], "organizeimport": 42, "defaultformatt": 42, "charliermarsh": 42, "lint": 42, "pylinten": 42, "flake8en": 42, "unittesten": 42, "pytesten": 42, "task": [42, 54, 57, 80, 95], "label": [42, 47, 51, 57, 82, 90], "clean": [42, 86, 88, 95], "artifact": 42, "interpreterpath": 42, "dep": 42, "dependson": 42, "launch": [42, 44, 95], "cwd": 42, "workspacefold": 42, "prelaunchtask": 42, "summari": [42, 96], "press": [42, 51, 82, 86], "f5": 42, "ctrl": 42, "shift": [42, 90], "outdat": [42, 95, 96], "repeat": [42, 61], "modulesdkpath": 42, "projectfiledir": 42, "sadli": [42, 53, 90, 95, 96, 97], "hiccup": 42, "pyinterpreterdirectori": 42, "cmd": [42, 88, 92], "watcher": 42, "scope": [42, 83], "filepath": [42, 78], "footer": 42, "2016": [42, 92], "debugg": 42, "mac": [43, 51, 54, 89, 90], "studio": 43, "vscode": 43, "pycharm": 43, "contribut": 43, "guidelin": 43, "perfprofil": 44, "modulenotfounderror": 44, "pyinstrument": 44, "pep440": 45, "minor": 45, "contract": [45, 92], "hotfix": 45, "maintain": [45, 95], "nearest": 45, "dev68": 45, "g46c7a9c": 45, "uncommit": 45, "dirti": 45, "footnot": [45, 51, 54, 89, 90], "segment": [45, 46], "concept": [45, 56, 84, 93], "mandat": 45, "henceforth": 45, "furthermor": 46, "condit": [46, 86], "hard": [46, 54], "reproduc": [46, 55], "pane": [46, 95], "tune": 46, "behavior": 46, "okafterresend": 46, "throw": [46, 57], "forcechecksum": 46, "okwithlinenumb": 46, "numextrud": 46, "pin": 46, "pinnedextrud": 46, "34": [46, 90], "t1": [46, 92], "43": [46, 90], "includecurrenttoolintemp": 46, "m23": 46, "27": [46, 82], "includefilenameinopen": 46, "hasb": 46, "haschamb": 46, "repetierstyletargettemperatur": 46, "repetierstyleresend": 46, "inlin": [46, 51], "m20": [46, 82], "okbeforecommandoutput": 46, "smoothietemperaturereport": 46, "sdfile": 46, "files": 46, "hex": 46, "longnam": 46, "outgo": 46, "buffer": [46, 83], "waitinterv": 46, "rx": 46, "sendwait": 46, "rxbuffer": 46, "64": 46, "slot": [46, 86], "commandbuff": 46, "m112": [46, 47, 82], "supportm112": 46, "echoonm117": 46, "broken": 46, "brokenm29": 46, "supportf": 46, "firmwarenam": 46, "marlin": 46, "sendbusi": 46, "simulatereset": 46, "resetlin": 46, "mi": 46, "fill": [46, 80, 95], "runtim": [46, 87, 95, 96], "prepare_ok": 46, "preparedok": 46, "lastn": 46, "okformatstr": 46, "firmare_nam": 46, "m115formatstr": 46, "firmware_nam": [46, 92], "protocol_vers": [46, 92], "m115reportcap": 46, "autoreport_sd_statu": 46, "autoreport_po": [46, 79, 82], "emergency_pars": [46, 79, 82], "extended_m20": [46, 79, 82], "lfn_write": [46, 79, 82], "m115_geometry_report": 46, "m115reportarea": 46, "ambient": 46, "ambienttemperatur": 46, "eg": [46, 95], "m105targetformatstr": 46, "2f": 46, "m105notargetformatstr": 46, "eeprom": [46, 51, 82], "m500": 46, "enable_eeprom": 46, "m503": 46, "support_m503": 46, "nois": 46, "resend_ratio": 46, "simulated_error": 46, "resend_with_timeout": 46, "110": 46, "missing_lineno": 46, "115": 46, "checksum_mismatch": 46, "plugin_virtual_printer_seri": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "action_custom": 46, "dont_answ": 46, "go_awol": 46, "trigger_resend_lineno": 46, "trigger_resend_checksum": 46, "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "drop_connect": 46, "enqueu": [46, 66, 78, 79, 92], "sleep_aft": 46, "sleep_after_next": 46, "start_sd": 46, "select_sd": 46, "cancel_sd": 46, "misc": 46, "carri": 47, "growl": [47, 54, 90, 91], "mygrowlserv": 47, "raspi": 47, "octoprint_logo": 47, "printstart": [47, 52], "printdon": [47, 52], "printcancel": [47, 52], "__eventnam": 47, "__currentz": 47, "__filenam": 47, "NO": 47, "__filepath": 47, "__fileorigin": 47, "__progress": 47, "percent": [47, 81], "__data": 47, "__now": 47, "8601": 47, "register_custom_ev": [47, 93], "clientopen": 47, "remoteaddress": 47, "clientauth": 47, "clientclos": 47, "userloggedin": 47, "userloggedout": 47, "connectivitychang": 47, "old": [47, 48, 52, 57, 90, 95, 97], "life": [47, 90], "thermal": 47, "runawai": 47, "recov": 47, "resend_loop": 47, "start_print": [47, 79, 81], "printerstatechang": 47, "state_id": 47, "get_state_id": [47, 79, 81], "state_str": 47, "effective_select": 47, "effective_print": 47, "filead": 47, "hierarchi": [47, 57, 80], "fileremov": 47, "filemov": 47, "source_nam": 47, "destination_path": [47, 95], "destination_nam": 47, "destination_typ": 47, "updatedfil": 47, "folderad": 47, "folderremov": 47, "foldermov": 47, "printabl": [47, 92], "modif": [47, 78, 81, 84, 85, 95], "supersed": 47, "metadataanalysisstart": 47, "metadataanalysisfinish": 47, "metadatastatisticsupd": 47, "fileselect": 47, "filedeselect": 47, "transferstart": 47, "transfer": [47, 92], "transferdon": 47, "took": [47, 90], "firmwareerror": 47, "m114": [47, 51, 52, 82], "accur": 47, "fileposit": 47, "printpaus": [47, 52], "printresum": [47, 52], "scriptnam": [47, 92], "chartmark": 47, "chart": 47, "pluginname_eventtyp": 47, "styliz": 47, "short": [47, 83, 95], "word": [47, 84], "epoch": 47, "poweron": 47, "m80": [47, 92], "poweroff": 47, "m81": 47, "g0": [47, 92], "m245": 47, "alert": [47, 95], "m300": 47, "conveyor": 47, "m240": 47, "eject": 47, "m40": 47, "estop": 47, "filamentchang": 47, "m701": 47, "m702": 47, "positionupd": 47, "toolchang": 47, "commandsuppress": 47, "explan": [47, 66], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "misconfigur": 47, "invalidtoolreport": 47, "suppressedcommand": 47, "capturestart": 47, "capturedon": 47, "capturefail": 47, "caught": [47, 80], "movierend": 47, "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "returncod": [47, 86], "no_fram": 47, "slicingstart": 47, "stl_locat": 47, "gcode_loc": 47, "progressavail": 47, "slicingprogress": 47, "slicingdon": 47, "slicingcancel": [47, 79, 85, 95], "slicingfail": 47, "slicingprofilead": 47, "12": [47, 95], "slicingprofilemodifi": 47, "slicingprofiledelet": 47, "settingsupd": [47, 80], "pluginset": [47, 79, 80, 92, 94], "trigger_ev": [47, 80, 84], "printerprofilemodifi": 47, "mere": [48, 92], "customis": 48, "predefin": [48, 53, 92, 95], "aspect": [48, 82], "involv": [48, 81, 92], "plan": [48, 54, 57, 96], "measur": [48, 70], "everyon": [48, 90], "stepper": [48, 52], "publicli": [48, 95], "bypass": 48, "inconvi": 48, "isol": 48, "benefit": 48, "huge": 48, "underestim": 48, "risk": [48, 49, 95], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "unsecur": 48, "happili": 48, "harder": 48, "listen": [48, 83, 95], "someon": [48, 92], "malwar": 48, "endless": 48, "benchi": 48, "permit": 48, "improperli": 48, "compromis": 48, "extrem": 48, "sound": 48, "figur": [48, 95], "pc": 48, "mask": 48, "rout": [48, 93, 95], "grep": 48, "wlan0": 48, "awk": 48, "ipv6": 48, "sai": [48, 55, 88, 93], "youraddressrang": 48, "easiest": [48, 96], "screen": [48, 90, 95], "understand": [48, 90], "roughli": [48, 92, 96], "learn": [48, 90], "dont": 48, "central": [48, 80], "let": [48, 51, 89, 90, 92, 95], "outlin": [48, 95], "nano": 48, "salt": [48, 79, 82], "aabbccddee1234523452345": 48, "yourusernam": 48, "128": [48, 82], "everyth": [48, 52, 57, 77, 90, 96], "cp": 48, "went": [48, 57], "think": 48, "almost": 48, "certainli": [48, 90], "ipv4": [48, 82], "highli": [48, 89], "discourag": [48, 80], "regret": 48, "alon": [48, 95], "Such": 49, "preced": [49, 92], "pronterfac": 49, "he": 49, "had": [49, 50, 90, 95], "sd_insert": 49, "sd_eject": 49, "sd_updat": 49, "abus": [49, 81], "malici": 49, "comm": [49, 50, 88, 93], "elsewher": [50, 80], "contrari": [50, 57], "custom_command": 50, "atcommand": [50, 93], "jinja2": [51, 52, 62, 90, 92, 95], "hierarch": [51, 95], "hesit": 51, "slider": [51, 79, 82], "element": [51, 57, 61, 78, 90, 95, 97], "feedback": [51, 81, 97], "3000mm": 51, "x10": [51, 92], "f3000": 51, "parametr": 51, "3000": 51, "fun": [51, 93, 96], "danc": 51, "repetit": 51, "yield": [51, 78, 86, 90], "fig": [51, 55], "latter": [51, 92, 95, 97], "closer": 51, "lai": [51, 82], "bottom": [51, 82, 86], "met": [51, 82, 83, 95], "sophist": [51, 52, 82, 95], "eval": [51, 82], "controlviewmodel": [51, 82, 97], "additionalclass": [51, 79, 82], "btn": [51, 82, 90], "tick": [51, 82], "rendit": [51, 82, 95], "hi": [51, 82, 92], "accident": [51, 82], "aren": [51, 52], "getadditionalcontrol": [51, 97], "view": [51, 83, 84, 86, 90, 92, 95, 97], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "center_x": 51, "center_i": 51, "speed_x": 51, "speed_i": 51, "speed_z": 51, "p500": 51, "z10": 51, "z1": 51, "endif": [51, 52, 82], "x2": 51, "y2": 51, "x0": [51, 52], "y0": [51, 52], "occas": 52, "jinja": [52, 90, 92, 95], "beforeprinterdisconnect": [52, 79, 82], "unexpect": [52, 90], "cut": [52, 82, 83], "beforetoolchang": [52, 79, 82], "tn": 52, "aftertoolchang": [52, 79, 82], "emit": [52, 93], "capit": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptafterprintdonefinish": 52, "reusabl": 52, "spectrum": 52, "last_posit": 52, "last_temperatur": 52, "degre": 52, "celsiu": [52, 81], "necessarili": [52, 81, 92], "last_fanspe": 52, "myplugin": [52, 57, 88, 92, 95, 96], "myvari": [52, 92], "pause_posit": 52, "advanc": [52, 89, 90], "pause_temperatur": 52, "pause_fanspe": 52, "cancel_posit": 52, "cancel_temperatur": 52, "cancel_fanspe": 52, "multitud": 52, "peopl": [52, 90], "m84": 52, "disable_b": [52, 82], "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "m140": [52, 82], "inact": 52, "uncom": 52, "xyze": 52, "m83": 52, "slightli": [52, 57, 83], "upward": 52, "f4500": 52, "m82": 52, "e5": 52, "xyz": 52, "g92": 52, "design": [52, 90], "autologin": [53, 82], "diagnos": 54, "observ": [54, 55, 90, 92], "unpack": 54, "oprint": [54, 55, 89, 90, 96], "advent": 55, "becam": [55, 86], "appar": 55, "tracker": 55, "easier": [55, 90], "identif": 55, "introduc": [55, 81], "culprit": 55, "yamlpatch": 55, "forget": [55, 62, 78, 89, 90, 96], "wherev": 55, "remind": 55, "snappi": 56, "3d": 56, "gnu": 56, "affero": 56, "v3": 56, "Its": 56, "wouldn": 56, "financi": 56, "enjoi": 56, "focus": 56, "primarili": [56, 96], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "viewmodel": [56, 93], "tutori": [56, 89, 93, 95], "schema": [56, 79], "tornado": [56, 79, 92], "instanti": [57, 62, 88, 90, 92, 97], "registr": [57, 78, 89, 92, 96], "registerplugincompon": [57, 62], "unsolv": 57, "concurr": [57, 86], "architectur": 57, "intact": 57, "factori": [57, 80, 84, 93], "typeof": 57, "amd": 57, "var": [57, 58, 61, 62, 70, 74, 90, 97], "myplugincli": 57, "prototyp": 57, "somefunct": 57, "getbaseurl": [57, 62], "canon": [57, 86], "trail": [57, 78], "getrequesthead": [57, 62], "entail": 57, "datatyp": 57, "ajaxwithdata": [57, 62], "getwithqueri": [57, 62], "OR": 57, "getblueprinturl": [57, 62], "contenttyp": 57, "postjson": [57, 62], "somekei": 57, "somevalu": 57, "putjson": [57, 62], "patchjson": [57, 62], "usabl": [57, 78, 80], "selector": [57, 90], "tri": [57, 58, 70, 80, 83], "replic": [57, 92], "textstatu": 57, "formdata": 57, "blueprint": [57, 83, 92, 95], "fileinput": 57, "progressoutput": 57, "myfilenam": 57, "dat": 57, "math": 57, "round": [57, 70, 86, 92, 96], "issuecommand": [57, 62], "trivial": 57, "myendpoint": 57, "mycommand": 57, "someparamet": 57, "someotherparamet": 57, "someothervalu": 57, "getsimpleapiurl": [57, 62], "proper": [57, 90, 93, 95], "simpleapiplugin": [57, 93], "simpleapiget": [57, 62], "simpleapicommand": [57, 62], "otherparamet": 57, "othervalu": 57, "blueprintplugin": [57, 92, 93], "createrejecteddef": [57, 62], "shortcut": [57, 74, 83, 90], "defer": 57, "createcustomexcept": [57, 62], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "stack": [57, 83, 86], "subclass": [57, 78, 83, 86, 90, 92, 95], "mycustomexcept": 57, "horribli": 57, "clientclass": 57, "registri": 57, "dosometh": 57, "invalidargumenterror": [57, 62], "myusernam": [58, 70], "mypassword": [58, 70], "passivelogin": [58, 62, 70], "getset": [59, 62, 73], "getcustomcontrol": [60, 62], "sendgcod": [60, 62], "sendgcodewithparamet": [60, 62], "sendgcodescript": [60, 62], "enhanc": 60, "sendgcodescriptwithparamet": [60, 62], "preprocess": [61, 92, 95], "undefin": [61, 97], "recursivelyprintnam": 61, "isfold": 61, "_": [61, 62, 80, 90, 91, 92, 95], "child": [61, 78, 86], "listforloc": [61, 62], "truthi": 61, "createfold": [61, 62], "somefil": 61, "pathforentri": [61, 62], "entryforpath": [61, 62], "funni": 61, "somepathstofind": 61, "packed_cli": 62, "js_client": 62, "asset_url": 62, "endasset": 62, "url_for": [62, 92, 95], "lodash": 62, "lib": [62, 90], "moreov": 62, "assembl": 62, "singular": 62, "client1": 62, "octoprint1": 62, "apikey1": 62, "client2": 62, "octoprint2": 62, "apikey2": 62, "togglepaus": [62, 63], "getfullst": [62, 66], "gettoolst": [62, 66], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "selecttool": [62, 66], "setflowr": [62, 66], "getbedst": [62, 66], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "getchamberst": [62, 66], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "getsdstat": [62, 66], "initsd": [62, 66], "refreshsd": [62, 66], "releasesd": [62, 66], "getpluginset": [62, 68], "savepluginset": [62, 68], "generateapikei": [62, 68, 73], "listallslicersandprofil": [62, 69], "listprofilesforslic": [62, 69], "getprofileforslic": [62, 69], "addprofileforslic": [62, 69], "updateprofileforslic": [62, 69], "deleteprofileforslic": [62, 69], "onmessag": [62, 70], "removemessag": [62, 70], "sendmessag": [62, 70], "sendauth": [62, 70], "onratetoolow": [62, 70], "onratetoohigh": [62, 70], "increaser": [62, 70], "decreaser": [62, 70], "sampl": 62, "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "executecommand": [62, 71], "listrend": [62, 72], "listunrend": [62, 72], "deleteunrend": [62, 72], "renderunrend": [62, 72], "getconfig": [62, 72], "saveconfig": [62, 72], "changepassword": [62, 73], "resetapikei": [62, 73], "saveset": [62, 73], "testpath": [62, 74], "testexecut": [62, 74], "testurl": [62, 74], "testserv": [62, 74], "testresolut": [62, 74], "shorthand": 63, "2mm": 66, "cover": 66, "profileid": 69, "40": [70, 95], "rateslidingwindows": 70, "eventobj": 70, "const": 70, "userid": [70, 92], "trip": 70, "lower": [70, 81, 86, 90, 92, 95, 97], "slide": 70, "faster": 70, "slower": 70, "half": [70, 95], "unto": [73, 97], "criteria": [74, 92], "mimetyp": [74, 83], "jpeg": [74, 95], "split": [74, 78, 92], "someimag": 74, "idonotexist": 74, "anonymousus": [76, 79], "corruptuserstorag": [76, 79], "invalidusernam": [76, 79], "localclius": [76, 79], "unknownrol": [76, 79], "unknownus": [76, 79], "passwordhash": 76, "asdict": [76, 79, 80], "as_dict": 76, "useralreadyexist": [76, 79], "hiddenopt": [77, 79], "param_decl": 77, "sequenc": [77, 92], "show_default": 77, "union": [77, 82, 83, 86], "confirmation_prompt": 77, "prompt_requir": 77, "hide_input": 77, "is_flag": 77, "flag_valu": 77, "allow_from_autoenv": 77, "paramtyp": 77, "show_choic": 77, "show_envvar": 77, "attr": [77, 90], "octoprintcontext": [77, 79], "configfil": [77, 84], "basedir": [77, 84], "verbos": 77, "safe_mod": 77, "bulk_opt": [77, 79], "decor": [77, 83, 86, 95], "invers": 77, "intuit": 77, "hidden_opt": [77, 79], "keyword": [77, 80, 83, 85, 86, 92, 95], "unchang": [77, 83], "param": [77, 78, 81, 83, 86, 92], "init_platform_for_cli": [77, 79], "ctx": [77, 83, 92], "subset": 77, "_identifi": [77, 79, 80, 94], "_logger": [77, 79, 80, 90, 92, 94, 95], "_connectivity_check": [77, 79, 80, 94], "_environment_detector": 77, "_event_bu": [77, 79, 80, 94], "_set": [77, 90, 91, 92, 94, 95], "init_platform": 77, "legacy_opt": [77, 79], "pass_octoprint_ctx": [77, 79, 92], "te": 77, "concaten": [77, 78, 80, 97], "set_ctx_obj_opt": [77, 79], "eager": [77, 95], "standard_opt": [77, 79], "octoprintdevelcommand": [77, 79], "multicommand": [77, 92], "get_command": [77, 79], "cmd_name": 77, "list_command": [77, 79], "subcommand": 77, "octoprintplugincommand": [77, 79, 92], "plugin_manag": [77, 79, 80, 92], "daemon_opt": [77, 79], "daemon": [77, 86, 92], "pid": 77, "run_serv": [77, 79], "v6_onli": 77, "allow_root": 77, "logging_config": 77, "ignore_blacklist": 77, "octoprint_daemon": 77, "disable_color": 77, "server_opt": [77, 79], "iknowwhatimdo": 77, "contenttypedetector": [78, 79], "detector": [78, 79], "alia": 78, "contenttypemap": [78, 79], "content_typ": [78, 79, 83, 92], "nosuchstorag": [78, 79], "abstractanalysisqueu": [78, 79, 92], "finished_callback": 78, "gcodeanalysisqueu": [78, 79, 92, 95], "analyz": [78, 94], "_do_analysi": [78, 79], "high_prior": 78, "_current": 78, "_do_abort": [78, 79], "reenqueu": 78, "priorit": 78, "queueentri": [78, 79], "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "queue_factori": 78, "invok": [78, 80, 86, 92, 95], "register_finish_callback": 78, "oneself": 78, "unregister_finish_callback": 78, "substructur": 78, "toolx": 78, "absolute_path": 78, "localfilestorag": [78, 79], "basefold": [78, 80, 95], "really_univers": 78, "sanit": [78, 79, 86, 92], "lru": 78, "minim": [78, 83, 86, 95], "overhead": [78, 92], "path_on_disk": [78, 79], "add_fil": [78, 79], "file_object": [78, 92], "allow_overwrit": [78, 85, 92, 95], "rais": [78, 80, 81, 83, 84, 85, 86, 95], "add_fold": [78, 79], "ignore_exist": 78, "add_link": [78, 79], "href": [78, 90], "analysis_backlog": [78, 79], "analys": [78, 92], "un": 78, "canonic": [78, 79], "copy_fil": [78, 79], "copy_fold": [78, 79], "file_exist": [78, 79], "file_in_path": [78, 79], "folder_exist": [78, 79], "get_additional_metadata": [78, 79], "get_lastmodifi": [78, 79], "get_metadata": [78, 79], "get_siz": [78, 79], "has_analysi": [78, 79], "join_path": [78, 79, 83], "qualifi": [78, 86], "last_modifi": [78, 79, 84], "defatul": 78, "list_fil": [78, 79], "force_refresh": 78, "dive": [78, 90], "some_sub_fold": 78, "some_fil": [78, 95], "sha1": 78, "move_fil": [78, 79], "move_fold": [78, 79], "path_in_storag": [78, 79], "opposit": 78, "unsupportedoper": 78, "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "apart": [78, 90], "remove_link": [78, 79], "deriv": [78, 83, 85, 86, 97], "slash": 78, "sanitize_nam": [78, 79], "valueerror": [78, 80, 83, 84, 85, 86], "sanitize_filenam": 78, "sanitize_path": [78, 79], "set_additional_metadata": [78, 79], "overwrit": [78, 81, 83, 90, 92, 95], "split_path": [78, 79], "storageinterfac": [78, 79], "abstractfilewrapp": [78, 79, 92], "wrapper": [78, 83, 85, 95], "iobas": 78, "diskfilewrapp": [78, 79], "preserv": 78, "lineprocessorstream": [78, 79, 92, 96], "input_stream": 78, "process_lin": [78, 79, 92, 96], "rawiobas": 78, "fly": [78, 90, 95], "flush": 78, "oserror": 78, "seekabl": [78, 79], "random": [78, 82, 92], "seek": 78, "truncat": 78, "multistream": [78, 79], "streamwrapp": [78, 79, 92], "dump": [78, 79, 83, 86], "plugin_set": [79, 80, 92], "call_plugin": [79, 80], "get_int": [79, 80, 95], "get_float": [79, 80], "get_boolean": [79, 80, 95], "set_int": [79, 80], "set_float": [79, 80], "set_boolean": [79, 80], "add_overlai": [79, 80, 84], "remove_overlai": [79, 80, 84], "get_plugin_logfile_path": [79, 80, 92], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "disable_plugin": [79, 80], "enable_plugin": [79, 80], "get_filtered_implement": [79, 80], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_plugin": [79, 80], "get_plugin_info": [79, 80], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_obsolete_hook": [79, 80], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hook_matches_hook": [79, 80], "is_obsolete_hook": [79, 80], "is_plugin_mark": [79, 80], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "mark_plugin": [79, 80], "plugin_hook": [79, 80], "register_message_receiv": [79, 80], "reload_plugin": [79, 80], "send_plugin_messag": [79, 80], "unregister_message_receiv": [79, 80], "plugininfo": [79, 80, 94], "disabling_discourag": [79, 80], "forced_dis": [79, 80], "invalid_syntax": [79, 80], "long_str": [79, 80], "looks_like_plugin": [79, 80], "needs_restart": [79, 80], "parsed_metadata": [79, 80], "privacypolici": [79, 80], "pythoncompat": [79, 80], "_basefold": [79, 80, 94], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "restartneedingplugin": [79, 80, 87, 93], "sortableplugin": [79, 80, 95], "get_sorting_kei": [79, 80, 92, 95], "_printer_profile_manag": [79, 80, 94], "_analysis_queu": [79, 80, 94], "_slicing_manag": [79, 80, 94], "_file_manag": [79, 80, 94], "_printer": [79, 80, 94], "_app_session_manag": [79, 80], "_plugin_lifecycle_manag": [79, 80], "_user_manag": [79, 80, 94], "_data_fold": [79, 80], "on_plugin_pending_uninstal": [79, 80, 87], "reloadneedingplugin": [79, 80, 87, 93], "get_connection_opt": [79, 81], "printerinterfac": [79, 80, 81, 92, 94], "can_modify_fil": [79, 81], "cancel_print": [79, 81], "change_tool": [79, 81], "feed_rat": [79, 81], "flow_rat": [79, 81], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_transport": [79, 81], "is_cancel": [79, 81], "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_oper": [79, 81], "is_paus": [79, 81], "is_print": [79, 81], "is_readi": [79, 81], "job_on_hold": [79, 81], "log_lin": [79, 81], "pause_print": [79, 81], "register_callback": [79, 81], "resume_print": [79, 81], "select_fil": [79, 81], "send_initial_callback": [79, 81], "set_job_on_hold": [79, 81], "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "toggle_pause_print": [79, 81], "unregister_callback": [79, 81], "unselect_fil": [79, 81], "valid_ax": [79, 81], "valid_heater_regex": [79, 81], "valid_heater_regex_no_curr": [79, 81], "valid_tool_regex": [79, 81], "printercallback": [79, 81, 92], "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "bedformfactor": [79, 81], "bedorigin": [79, 81], "saveerror": [79, 81], "couldnotoverwriteerror": [79, 81], "invalidprofileerror": [79, 81], "basemodel": [79, 82], "model_dump": [79, 82], "printerparamet": [79, 82], "accesscontrolconfig": [79, 82], "autologinheadsupacknowledg": [79, 82], "groupmanag": [79, 82], "groupfil": [79, 82], "permissionmanag": [79, 82], "remotegroupshead": [79, 82], "remotegroupsmap": [79, 82], "trustremotegroup": [79, 82], "apiconfig": [79, 82], "appearanceconfig": [79, 82], "closemodalswithclick": [79, 82], "coloricon": [79, 82], "fuzzytim": [79, 82], "showfahrenheitalso": [79, 82], "colorenum": [79, 82], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "containerconfig": [79, 82], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "layoutenum": [79, 82], "develcacheconfig": [79, 82], "develconfig": [79, 82], "enablecsrfprotect": [79, 82], "enableratelimit": [79, 82], "plugintim": [79, 82], "sockjsconnecttimeout": [79, 82], "usefrozendictforprinterst": [79, 82], "develwebassetsconfig": [79, 82], "stylesheetenum": [79, 82], "estimationconfig": [79, 82], "printtimeestimationconfig": [79, 82], "eventsubscript": [79, 82], "eventsconfig": [79, 82], "subscriptiontypeenum": [79, 82], "featureconfig": [79, 82], "enabledragdropupload": [79, 82], "printstartconfirm": [79, 82], "rememberfilefold": [79, 82], "uploadoverwriteconfirm": [79, 82], "folderconfig": [79, 82], "gcodeanalysisconfig": [79, 82], "bedz": [79, 82], "runat": [79, 82], "throttle_lin": [79, 82], "runatenum": [79, 82], "pluginsconfig": [79, 82], "forced_compat": [79, 82], "sorting_ord": [79, 82], "printerparametersconfig": [79, 82], "pausetrigg": [79, 82], "printerprofilesconfig": [79, 82], "gcodescriptsconfig": [79, 82], "afterprintresum": [79, 82], "beforeprintpaus": [79, 82], "scriptsconfig": [79, 82], "alwaysdetectneverenum": [79, 82], "infowarnneverenum": [79, 82], "serialcap": [79, 82], "autoreport_sdstatu": [79, 82], "serialconfig": [79, 82], "abortheatuponcancel": [79, 82], "ackmax": [79, 82], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "disablesdprintingdetect": [79, 82], "emergencycommand": [79, 82], "identicalresendscountdown": [79, 82], "ignoreemptyport": [79, 82], "lastlinebuffers": [79, 82], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "lowlat": [79, 82], "maxconsecutiveresend": [79, 82], "maxnotsdprint": [79, 82], "neversendchecksum": [79, 82], "notifysuppressedcommand": [79, 82], "resendratiostart": [79, 82], "sanitychecktool": [79, 82], "sdcancelcommand": [79, 82], "sdlowercas": [79, 82], "sendm112onerror": [79, 82], "supportwait": [79, 82], "suppresssecondhello": [79, 82], "terminallogs": [79, 82], "useparityworkaround": [79, 82], "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "baudratedetectionpaus": [79, 82], "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "posautoreport": [79, 82], "positionlogwait": [79, 82], "resendok": [79, 82], "sdstatusautoreport": [79, 82], "temperatureautoreport": [79, 82], "commandsconfig": [79, 82], "cookiesconfig": [79, 82], "diskspaceconfig": [79, 82], "ipcheckconfig": [79, 82], "onlinecheckconfig": [79, 82], "pluginblacklistconfig": [79, 82], "preemptivecacheconfig": [79, 82], "pythoneolcheckconfig": [79, 82], "pythoneolentri": [79, 82], "last_octoprint": [79, 82], "reverseproxyconfig": [79, 82], "portfallback": [79, 82], "porthead": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "samesiteenum": [79, 82], "serverconfig": [79, 82], "allowedloginredirectpath": [79, 82], "heartbeat": [79, 82, 83], "pythoneolcheck": [79, 82], "seenwizard": [79, 82], "uploadsconfig": [79, 82], "slicingconfig": [79, 82], "actionconfig": [79, 82], "async_": [79, 82], "systemconfig": [79, 82], "temperatureconfig": [79, 82], "cutoff": [79, 82], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "temperatureprofil": [79, 82], "terminalfilterentri": [79, 82], "renderafterprintenum": [79, 82], "timelapseconfig": [79, 82], "timelapseopt": [79, 82], "timelapsetypeenum": [79, 82], "webcamconfig": [79, 82], "defaultwebcam": [79, 82], "ffmpegcommandlin": [79, 82], "ffmpegthumbnailcommandlin": [79, 82], "snapshotwebcam": [79, 82], "timelapseen": [79, 82], "webcamen": [79, 82], "ratioenum": [79, 82], "four_thre": [79, 82], "sixteen_nin": [79, 82], "cansnapshot": [79, 82], "extra": [79, 82, 83, 89, 90], "snapshotdisplai": [79, 82], "webcamcompat": [79, 82], "cachebust": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamwebrtciceserv": [79, 82], "cannotstartserverexcept": [79, 83], "octoprintanonymousident": [79, 83], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "get_api_kei": [79, 83], "get_user_for_apikei": [79, 83], "get_user_for_authorization_head": [79, 83], "get_user_for_remote_user_head": [79, 83], "has_permiss": [79, 83], "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "optionsalloworigin": [79, 83], "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "validate_local_redirect": [79, 83], "lesssimplecach": [79, 83], "octoprintflaskrequest": [79, 83], "server_nam": [79, 83], "server_port": [79, 83], "octoprintflaskrespons": [79, 83], "delete_cooki": [79, 83], "set_cooki": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintsessioninterfac": [79, 83], "save_sess": [79, 83], "should_set_cooki": [79, 83], "pluginassetresolv": [79, 83], "resolve_output_to_path": [79, 83], "split_prefix": [79, 83], "prefixawarejinjaenviron": [79, 83], "settingscheckupdat": [79, 83], "build_don": [79, 83], "needs_rebuild": [79, 83], "check_lastmodifi": [79, 83], "firstrun_only_access": [79, 83], "get_cookie_suffix": [79, 83], "get_flask_user_from_request": [79, 83], "make_api_error": [79, 83], "make_text_respons": [79, 83], "no_firstrun_access": [79, 83], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "redirect_to_tornado": [79, 83], "require_credentials_checked_rec": [79, 83], "restricted_access": [79, 83], "threadsafesess": [79, 83], "remove_handl": [79, 83], "set_handl": [79, 83], "corssupportmixin": [79, 83, 92], "set_default_head": [79, 83], "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "handle_stream": [79, 83], "deprecatedendpointhandl": [79, 83, 92], "dynamiczipbundlehandl": [79, 83], "generatingdatahandl": [79, 83], "globalheadertransform": [79, 83], "largeresponsehandl": [79, 83, 92], "compute_etag": [79, 83], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "original_absolute_path": [79, 83], "set_extra_head": [79, 83], "streamed_get": [79, 83], "requestlessexceptionloggingmixin": [79, 83], "log_except": [79, 83], "staticdatahandl": [79, 83, 92], "staticzipbundlehandl": [79, 83], "systeminfobundlehandl": [79, 83], "uploadstoragefallbackhandl": [79, 83], "body_method": [79, 83], "data_receiv": [79, 83], "is_multipart": [79, 83], "on_finish": [79, 83, 86], "urlproxyhandl": [79, 83, 92], "webcamsnapshothandl": [79, 83], "wsgiinputcontain": [79, 83], "handle_request": [79, 83], "access_validation_factori": [79, 83], "enable_per_message_deflate_extens": [79, 83], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "path_validation_factori": [79, 83, 92], "default_set": [79, 84], "valid_boolean_tru": [79, 84], "overlay_kei": [79, 84], "add_path_update_callback": [79, 84], "checkbasefold": [79, 84], "config_yaml": [79, 84], "effective_hash": [79, 84], "effective_yaml": [79, 84], "getbasefold": [79, 80, 84], "getboolean": [79, 80, 84], "getfloat": [79, 80, 84], "getint": [79, 80, 84, 91], "last_modified_or_made_dirti": [79, 84], "listscript": [79, 84], "loadscript": [79, 84], "load_overlai": [79, 84], "remove_path_update_callback": [79, 84], "sanity_check_fold": [79, 84], "savescript": [79, 84], "setbasefold": [79, 84], "setboolean": [79, 80, 84], "setfloat": [79, 80, 84], "setint": [79, 80, 84], "warn_about_risky_set": [79, 84], "temporaryprofil": [79, 85], "slicingmanag": [79, 80, 85, 92, 94], "all_profil": [79, 85], "cancel_sl": [79, 85, 95], "configured_slic": [79, 85], "default_slic": [79, 85], "delete_profil": [79, 85], "get_profile_path": [79, 85], "get_slic": [79, 85], "get_slicer_profile_path": [79, 85], "load_profil": [79, 85], "profiles_last_modifi": [79, 85], "registered_slic": [79, 85], "reload_slic": [79, 85], "save_profil": [79, 85], "set_default_profil": [79, 85], "slicing_en": [79, 85], "slicingexcept": [79, 85], "slicerexcept": [79, 85], "unknownslic": [79, 85], "slicernotconfigur": [79, 85], "profileexcept": [79, 85], "unknownprofil": [79, 85], "profilealreadyexist": [79, 85], "caseinsensitiveset": [79, 84, 86], "defaultordereddict": [79, 86], "prependablequeu": [79, 86], "repeatedtim": [79, 86], "resettabletim": [79, 86], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "chunk": [79, 83, 86], "deseri": [79, 86], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "fallback_dict": [79, 86], "filter_non_ascii": [79, 86], "get_bom": [79, 86], "get_class": [79, 86], "get_exception_str": [79, 86], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "is_allowed_fil": [79, 86], "pending_deprec": [79, 86], "pp": [79, 86], "to_byt": [79, 86, 96], "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "commandlinecal": [79, 86], "checked_cal": [79, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "commandlineerror": [79, 86], "delimitercaptur": [79, 86], "clean_ansi": [79, 86], "close_fd": [79, 86], "get_o": [79, 86], "is_os_compat": [79, 86], "set_close_exec": [79, 86], "plugin_fold": 80, "plugin_bas": 80, "plugin_entry_point": 80, "plugin_disabled_list": 80, "plugin_sorting_ord": 80, "plugin_blacklist": 80, "plugin_restart_needing_hook": 80, "plugin_obsolete_hook": 80, "plugin_considered_bundl": 80, "plugin_flag": 80, "plugin_valid": 80, "compatibility_ignored_list": 80, "singleton": [80, 84], "namespac": [80, 90], "startswith": [80, 86, 92, 95], "obsolet": 80, "although": 80, "plugin_kei": 80, "get_preprocessor": 80, "set_preprocessor": 80, "get_settings_default": [80, 90, 95], "getter": [80, 84, 95], "preprocessor": [80, 84, 93, 95], "setter": [80, 81, 84, 95], "error_callback": 80, "sorting_context": [80, 92], "my_success_callback": 80, "my_error_callback": 80, "exc": 80, "startupplugin": [80, 90, 92, 93], "on_startup": [80, 90, 92, 95], "my_host": 80, "my_port": 80, "invoc": [80, 92], "likewis": [80, 85, 87], "greater": 80, "convers": [80, 84, 96], "equal": [80, 95], "at_end": [80, 84], "postfix": [80, 92], "slicingplugin": [80, 95], "folder_typ": 80, "orward": 80, "logging_prefix": 80, "customiz": 80, "initialize_implement": 80, "require_en": 80, "required_en": 80, "fnmatch": 80, "force_reload": 80, "reload": [80, 87, 90, 95, 97], "unregist": [80, 81], "attr_author": 80, "attr_check": 80, "lambda": [80, 86, 92, 95, 96], "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "show_bundl": 80, "bundled_str": 80, "show_loc": 80, "location_str": 80, "show_en": 80, "enabled_str": 80, "fourth": [80, 92], "entrypointorigin": 80, "folderorigin": 80, "moduleorigin": 80, "ast": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "phase": [80, 88, 93, 96], "additional_valid": 80, "before_import": 80, "before_load": 80, "after_load": 80, "attr_vers": 80, "sortabl": 80, "irrelev": [80, 92], "ascend": 80, "eventmanag": [80, 92, 94], "sessionmanag": 80, "lifecyclemanag": [80, 92], "connectivitycheck": [80, 94], "deeper": [81, 90], "ly": 81, "abstract": 81, "decid": [81, 89, 90, 95], "vanish": 81, "throughout": [81, 90, 92], "lifecycl": [81, 92, 93], "awai": [81, 84, 87], "queu": [81, 92], "anew": 81, "millimet": 81, "materi": 81, "stuck": 81, "classmethod": [81, 83, 95], "connection_str": 81, "open_seri": 81, "detect_seri": 81, "detect_baudr": 81, "closed_with_error": 81, "transfering_fil": 81, "transport": [81, 93], "contextmanag": 81, "park_printhead": 81, "take_snapshot": 81, "send_printhead_back": 81, "park": 81, "somewher": [81, 90], "WILL": 81, "held": [81, 84], "acquir": 81, "catch": 81, "runtimeexcept": 81, "thrown": [81, 84, 85], "unknownscriptexcept": 81, "printafterselect": 81, "po": 81, "invalidfiletyp": 81, "invalidfileloc": 81, "finer": 81, "forev": 81, "enclosur": 81, "unconfigur": [81, 85], "degc": 81, "ccm": 81, "x_min": 81, "y_min": 81, "z_min": 81, "x_max": 81, "y_max": 81, "z_max": 81, "use_enum_valu": 82, "access_control": 82, "filebasedgroupmanag": 82, "remote_group": 82, "plugin_logging_seriallog": 82, "plugin_logging_plugintimingslog": 82, "plugin_health_check": 82, "plugin_firmware_check_warn": 82, "plugin_firmware_check_info": 82, "plugin_eventmanag": 82, "plugin_softwareupdate_upd": 82, "plugin_corewizard_onlinecheck": 82, "plugin_achiev": 82, "plugin_achievements_2": 82, "systeminfo": [82, 93], "m707": 82, "m708": 82, "gcode_analysi": 82, "printer_paramet": 82, "m108": 82, "m410": 82, "900": 82, "eol": [82, 92, 96], "2023": [82, 90], "06": [82, 90], "2024": 82, "31": [82, 90, 92], "524288000": 82, "libx264": 82, "10000k": 82, "vcodec": 82, "containerformat": 82, "sseof": 82, "q": 82, "classic": 82, "formatstr": 82, "drag": 82, "timelas": 82, "batch": 82, "_flag": 82, "band": 82, "parser": 82, "low": 82, "latenc": 82, "Be": [82, 92], "implic": 82, "decis": [82, 95, 96], "cloudflar": 82, "resolut": 82, "yyyi": [82, 86], "dd": [82, 86], "v6": 82, "1107": 82, "extra_data": 82, "quick": [82, 90], "mozilla": 82, "regular_express": 82, "unstructur": 82, "stun": 82, "l": [82, 86], "19302": 82, "bust": 82, "certif": [82, 83], "mjpeg": 82, "nativ": 82, "webrtc": 82, "before_request": [83, 93], "resp": 83, "after_request": [83, 93], "crf": 83, "httputil": 83, "httpserverrequest": 83, "remote_address": 83, "loopback": 83, "shall": 83, "pragma": 83, "expir": 83, "allowed_path": 83, "netloc": 83, "default_timeout": 83, "simplecach": 83, "pickl": 83, "pickleerror": 83, "httpstatu": 83, "direct_passthrough": 83, "httponli": 83, "site": [83, 90], "ineffici": 83, "exce": 83, "max_cookie_s": 83, "max_ag": 83, "datetim": [83, 86, 95], "object_": 83, "obj": 83, "ensure_ascii": 83, "sort_kei": 83, "is_null_sess": 83, "perman": 83, "session_refresh_each_request": 83, "unresolv": 83, "rel_path": 83, "loader": 83, "rebuilt": 83, "lastmodifi": [83, 95], "timezon": 83, "awar": [83, 87, 92], "utc": 83, "func": [83, 95], "_not_": 83, "albeit": 83, "databas": 83, "302": 83, "login_requir": 83, "conn": 83, "session_id": 83, "expiri": 83, "detach": 83, "start_heartbeat": 83, "requesthandl": [83, 92], "similarli": 83, "is_client": 83, "http1connect": 83, "max_body_s": 83, "default_max_body_s": 83, "http1connectionparamet": 83, "iostream": 83, "http1serverconnect": 83, "_server_request_loop": 83, "httpserver": 83, "max_default_body_s": 83, "coroutin": 83, "tcpserver": 83, "ssliostream": 83, "wait_for_handshak": 83, "npn": 83, "alpn": 83, "path_valid": [83, 92], "path_processor": 83, "as_attach": [83, 92], "attachment_nam": 83, "access_valid": [83, 93], "compress": [83, 86], "httperror": 83, "staticfilehandl": [83, 92], "deliveri": [83, 92], "default_filenam": 83, "subdirectori": 83, "allow_client_cach": 83, "etag_gener": 83, "name_gener": 83, "mime_type_guess": 83, "mime": 83, "is_pre_compress": 83, "gzip": 83, "comput": [83, 97], "abspath": 83, "sha": 83, "512": 83, "stream_bodi": 83, "uncompress": 83, "include_bodi": 83, "typ": 83, "tb": 83, "uncaught": 83, "trace": [83, 90], "fallbackhandl": 83, "rewritten": [83, 92], "webkitformboundarypyisux63abamht5c": 83, "my_funny_apikei": 83, "tmpzupkro": 83, "349182": 83, "_process_multipart_data": 83, "file_prefix": 83, "file_suffix": 83, "cleanup": 83, "counterpart": 83, "httpclient": 83, "asynchttpcli": 83, "basenam": [83, 92], "wsgi_appl": 83, "executor": 83, "forced_head": 83, "removed_head": 83, "wsgi_app": 83, "octoprint_app": 83, "wsgicontain": 83, "__call__": 83, "bytesio": 83, "websocket": 83, "websockethandl": 83, "get_compression_opt": 83, "permessag": 83, "deflat": 83, "json_encod": 83, "jsonencod": 83, "frozendict": 83, "_httprequestcontext": 83, "_apply_xhead": 83, "remote_ip": 83, "downstream": 83, "blindli": [83, 95, 96], "proto": 83, "check_origin": 83, "rfc6454": 83, "path_filt": 83, "status_cod": [83, 92], "vice": 84, "versa": 84, "__overlay__": 84, "allow_fallback": 84, "check_writ": 84, "deep_check_writ": 84, "script_typ": [84, 92], "error_on_path": 84, "encapsul": 85, "display_nam": 85, "my_slic": 85, "save_slicer_profil": [85, 95], "my_default_profil": 85, "my_overrid": 85, "profile_path": [85, 95], "do_slic": [85, 95], "printer_profile_manag": [85, 92], "importantli": 85, "require_configur": 85, "slicer_nam": 85, "couldnotdeleteprofil": 85, "must_exist": 85, "slicerplugin": [85, 93], "ioerror": [85, 95], "stamp": 85, "require_exist": 85, "profile_nam": 85, "callback_arg": 85, "callback_kwarg": 85, "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "printer_profile_id": 85, "_analysi": 85, "_error": 85, "_cancel": 85, "calle": 85, "_progress": [85, 95], "commonli": 86, "default_factori": 86, "kw": 86, "shallow": 86, "od": 86, "run_first": 86, "on_condition_fals": 86, "on_cancel": 86, "repeatedli": 86, "timer": 86, "loop": [86, 92, 95], "exactli": [86, 95], "dynam": [86, 90, 95], "period": [86, 95], "sequenti": 86, "on_reset": 86, "ran": 86, "item_typ": 86, "stackoverflow": [86, 90], "312464": 86, "2028598": [86, 90], "gen": 86, "len": [86, 92], "stacklevel": 86, "includedoc": 86, "extenddoc": 86, "mod": 86, "offend": 86, "docstr": 86, "__doc__": 86, "caller": [86, 92], "shadow": 86, "getattr": 86, "zlib": 86, "decompress": 86, "deep": 86, "fnord": 86, "some_other_bar": 86, "whose": [86, 88, 92, 95], "filter_funct": 86, "key1": 86, "key2": 86, "other_kei": 86, "other_valu": 86, "k": [86, 92], "traceback": 86, "assertionerror": 86, "flatten": 86, "a1": 86, "a2": 86, "leaf_merg": 86, "in_plac": 86, "xormedia": 86, "isinst": [86, 92, 96], "l1": 86, "l2": 86, "diff": 86, "predic": 86, "bom": 86, "importerror": [86, 88, 96], "fmt": 86, "hh": 86, "num": 86, "unit": 86, "yte": 86, "ilo": 86, "ega": 86, "iga": 86, "era": 86, "decim": 86, "1094933": 86, "timedelta": 86, "ss": 86, "2020083": 86, "fqcn": 86, "comprehensive_json": 86, "s_or_u": 86, "renam": [86, 90], "stderr": 86, "do_something_with_the_passed_lin": 86, "sarg": 86, "underneath": [86, 90], "log_stdout": 86, "log_stderr": 86, "log_cal": 86, "err": 86, "delimit": 86, "buffer_s": 86, "output_timeout": 86, "_async": 86, "ansi": 86, "popen": 86, "win32": 86, "darwin": 86, "freebsd": 86, "compatibility_entri": 86, "current_o": 86, "close_exec": 86, "bunch": [87, 90, 94, 95], "plug": 87, "correspondingli": 87, "circumv": 87, "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_load__": [88, 91, 92], "whatev": [88, 92, 95], "__plugin_version__": [88, 90, 92, 94], "__plugin_description__": [88, 90, 92], "__plugin_author__": [88, 90], "__plugin_url__": [88, 90], "webpag": 88, "__plugin_license__": [88, 90], "__plugin_privacypolicy__": 88, "precaut": 88, "handle_gcode_s": 88, "comm_inst": [88, 92], "cmd_type": [88, 92], "getlogg": [88, 91, 92], "__name__": [88, 91, 92], "__plugin_check__": 88, "some_depend": 88, "check_config": [88, 93], "__plugin_unload__": 88, "__plugin_enable__": 88, "__plugin_disable__": 88, "__plugin_settings_overlay__": 88, "necessit": [88, 95], "5001": 88, "__init": 89, "py__": 89, "helloworld": [89, 90, 95], "cookiecutt": [89, 90], "md": [89, 90], "eleg": 89, "writeup": 89, "cours": [90, 92, 95], "fledg": [90, 95, 97], "pain": 90, "favor": [90, 97], "resembl": 90, "14": 90, "35": 90, "122": 90, "124": 90, "135": 90, "19": 90, "loadabl": 90, "modern": 90, "helloworldplugin": 90, "on_after_startup": [90, 91, 92, 95], "792": 90, "neat": 90, "greet": [90, 92], "convent": 90, "skeleton": 90, "delta": 90, "kib": 90, "plugin_packag": 90, "octoprint_helloworld": 90, "repo_nam": 90, "full_nam": 90, "net": 90, "github_usernam": 90, "yourgithubnam": 90, "plugin_vers": 90, "plugin_descript": 90, "todo": 90, "plugin_licens": 90, "agplv3": 90, "plugin_homepag": 90, "plugin_sourc": 90, "plugin_installurl": 90, "bug_report": 90, "feature_request": 90, "readm": 90, "__init__": [90, 92, 95, 96], "editorconfig": 90, "gitignor": 90, "babel": 90, "cfg": 90, "manifest": 90, "curios": 90, "prefil": 90, "plugin_identifi": 90, "octoprint_": 90, "plugin_author": 90, "mail": 90, "plugin_author_email": 90, "plugin_url": 90, "plugin_requir": 90, "sdist": 90, "14159430": 90, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_ignored_packag": 90, "octoprint_setuptool": 90, "create_plugin_setup_paramet": 90, "somedepend": 90, "additional_setup_paramet": 90, "somerepo": 90, "egg": 90, "python_requir": 90, "remain": 90, "pyc": 90, "discover": 90, "pyenv": 90, "env": 90, "py311": 90, "132": 90, "134": 90, "818": 90, "38": [90, 92], "997": 90, "ugli": 90, "nice": 90, "46": 90, "33": 90, "786": 90, "squash": 90, "48": 90, "54": 90, "templateplugin": [90, 92, 93], "wikipedia": 90, "helloworld_navbar": 90, "hello_world": [90, 95], "ve": [90, 96], "2015": [90, 95], "41": 90, "058": 90, "knockout": [90, 95], "get_template_var": [90, 95], "plugin_helloworld_url": 90, "hallo": 90, "welt": 90, "programm": 90, "47": 90, "18": [90, 92], "634": 90, "friendli": 90, "helloworld_set": 90, "div": [90, 92, 95], "settingsviewmodel": [90, 97], "void": 90, "navigationviewmodel": [90, 97], "unbind": 90, "get_template_config": [90, 92, 95], "custom_bind": [90, 95], "congratul": 90, "nav": 90, "ifram": 90, "helloworld_tab": 90, "xxlarg": 90, "newurl": 90, "primari": 90, "gotourl": 90, "currenturl": 90, "600px": 90, "border": 90, "1px": 90, "808080": 90, "assetplugin": [90, 93], "get_asset": [90, 95], "helloworldviewmodel": 90, "ko": 90, "dom": 90, "_after_": 90, "onbeforebind": [90, 97], "octoprint_viewmodel": [90, 97], "tab_plugin_helloworld": 90, "shini": 90, "desktop": [90, 95], "articl": 90, "squish": 90, "great": 90, "hardcod": 90, "nicer": 90, "Of": [90, 95], "lessj": 90, "bigger": 90, "forgot": 90, "85a134": 90, "compact": 90, "cleaner": 90, "invit": 90, "haven": 90, "curaengin": 90, "navbartemp": 90, "gh": 90, "newplugin": 90, "winless": 90, "__plugin_helpers__": 91, "zeroconf": 91, "excerpt": 91, "pybonjour": 91, "discoveryplugin": 91, "ssdp_brows": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "hopefulli": 91, "_register_growl": 91, "on_api_get": [91, 95], "jsonifi": [91, 92, 95], "browsing_en": 91, "browse_result": 91, "_gntp": 91, "_tcp": 91, "growl_inst": 91, "sibl": 92, "_gcode_hook": 92, "_pluginmanag": 92, "_gcodescript_hook": 92, "retval": 92, "to_list": 92, "scriptlin": 92, "custom_action_command": 92, "customactioncommandplugin": 92, "custom_action_handl": 92, "ordertest": 92, "ordertestplugin": 92, "oneorderedhook": 92, "anotherorderedhook": 92, "yetanotherhook": 92, "orderedhook": 92, "03": 92, "09": 92, "29": 92, "342": 92, "355": 92, "357": 92, "358": 92, "861": 92, "additional_permissions_hook": 92, "my_permiss": 92, "plugin_example_my_permiss": 92, "accessviewmodel": 92, "admin_group": 92, "user_group": 92, "readonly_group": 92, "guest_group": 92, "get_additional_permiss": 92, "gettext": 92, "user_manager_factory_hook": 92, "event_bu": 92, "analysis_queu": 92, "slicing_manag": 92, "file_manag": 92, "plugin_lifecycle_manag": 92, "preemptive_cach": 92, "stock": [92, 95], "settingsmanag": 92, "acl_keyvalidator_hook": 92, "obviou": 92, "educ": 92, "custom_keyvalid": 92, "findus": 92, "cli_commands_hook": 92, "cli_group": 92, "annot": 92, "custom_cli_command": 92, "clitest_command": 92, "greet_command": 92, "pass_context": 92, "random_greet_command": 92, "buon": 92, "giorno": 92, "hola": 92, "konnichiwa": 92, "oh": 92, "hai": 92, "hei": 92, "salv": 92, "randrang": 92, "morn": 92, "stranger": 92, "plugin_settings_from_settings_plugin": 92, "get_cli_command": 92, "plugin_settings_for_settings_plugin": 92, "bu": [92, 94, 95], "firmware_info_hook": 92, "firmware_data": 92, "firmware_vers": 92, "computation": 92, "expens": 92, "machinecom": 92, "firmware_capability_hook": 92, "already_defin": 92, "firmware_capability_report_hook": 92, "firmware_cap": 92, "protocol_action_hook": 92, "some_command": 92, "protocol_atcommandphase_hook": 92, "li": [92, 95], "mirror": 92, "custom_atcommand_handl": 92, "infinit": 92, "setpaus": 92, "protocol_gcodephase_hook": 92, "subcod": 92, "postprocess": 92, "expans": 92, "afterward": 92, "command_phas": 92, "traffic": 92, "2018": 92, "213": 92, "216": 92, "multi_gcode_test": 92, "217": 92, "219": 92, "230": 92, "00m": 92, "232": 92, "234": 92, "242": 92, "243": 92, "552": 92, "553": 92, "f6000": 92, "555": 92, "556": 92, "558": 92, "temperature_pol": 92, "sd_status_pol": 92, "categori": 92, "difficult": 92, "intent": 92, "my_custom_tag": 92, "honest": 92, "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "sent_m106": 92, "gcode_received_hook": 92, "machine_typ": 92, "read_m115_respons": 92, "detect_machine_typ": 92, "parse_firmware_lin": 92, "printer_data": 92, "gcode_error_hook": 92, "error_messag": 92, "recover": 92, "worst": 92, "comm_error_handler_test": 92, "_handled_error": 92, "handle_error": 92, "lower_error": 92, "error_handler_test": 92, "protocol_scripts_hook": 92, "script_nam": 92, "newlin": 92, "message_on_connect": 92, "gcode_script_vari": 92, "protocol_temperatures_received_hook": 92, "parsed_temperatur": 92, "thereof": 92, "45": 92, "178": 92, "prone": 92, "garbag": 92, "sane": [92, 95], "sanitize_temperatur": 92, "parsed_temp": 92, "is_san": 92, "additional_port_names_hook": 92, "serial_factory_hook": 92, "read_timeout": 92, "analogu": 92, "pyseri": 92, "readlin": 92, "connection_timeout": 92, "_changest": 92, "state_detect_seri": 92, "serial_obj": 92, "_detectport": 92, "_log": 92, "_errorvalu": 92, "state_error": 92, "geterrorstr": 92, "writetimeout": 92, "10000": 92, "pariti": 92, "parity_odd": 92, "parity_non": 92, "register_custom_events_hook": 92, "Their": [92, 97], "transform": [92, 95], "camel_cas": 92, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "my_custom_ev": 92, "my_other_custom_ev": 92, "analysis_queue_factory_hook": 92, "leaf": 92, "mycustomgcodeanalysisqueu": 92, "custom_gcode_analysis_queu": 92, "file_extension_hook": 92, "x3g": 92, "s3g": 92, "support_x3g_machinecod": 92, "file_preprocessor_hook": 92, "untouch": 92, "_strip": 92, "strip_all_com": 92, "strip_com": 92, "commentstripp": 92, "decoded_lin": 92, "valid_file_typ": [92, 95], "splitext": 92, "endswith": 92, "some_file_strip": 92, "additional_state_data_hook": 92, "beneath": [92, 95], "printer_factory_hook": 92, "printerinst": 92, "user_manag": 92, "power": [92, 95], "print_time_estimator_factori": 92, "printtimeestim": 92, "job_typ": 92, "denot": 92, "nonsens": 92, "customprinttimeestim": 92, "cleanedprinttim": 92, "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "2h": 92, "create_estimator_factori": 92, "sd_card_upload_hook": 92, "start_callback": 92, "success_callback": 92, "failure_callback": 92, "local_filenam": 92, "remote_filenam": 92, "success_or_failure_callback": 92, "dummi": [92, 95], "ten": 92, "nop_upload_to_sd": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_fail": 92, "remote_nam": 92, "_get_free_remote_nam": 92, "op": 92, "sd_upload_success": 92, "sd_upload_failur": 92, "after_request_handlers_hook": 92, "before_request_handlers_hook": 92, "access_validator_hook": 92, "router": 92, "server_bodysize_hook": 92, "current_max_body_s": 92, "1024kb": 92, "increase_bodys": 92, "bodysizeplugin": 92, "_size": 92, "api_endpoint": 92, "make_respons": [92, 95], "input_nam": 92, "found_fil": 92, "bodysize_hook": 92, "server_route_hook": 92, "server_rout": 92, "deliv": [92, 95], "add_tornado_rout": 92, "camera": [92, 95], "tornadorouteplugin": 92, "route_hook": 92, "is_hidden_path": 92, "demonstr": [92, 95], "urlforwardhandl": 92, "socket_authed_hook": 92, "deauthent": 92, "socket_registration_hook": 92, "socket_emit_hook": 92, "additional_commands_hook": 92, "z0": 92, "get_additional_command": 92, "additional_bundle_files_hook": 92, "get_additional_bundle_fil": 92, "console_log": 92, "timelapse_extension_hook": 92, "get_timelapse_extens": 92, "templatetype_hook": 92, "template_sort": 92, "template_rul": 92, "sake": 92, "custom_append": 92, "custom_prepend": 92, "custom_add_entri": 92, "custom_add_ord": 92, "_plugin_": [92, 95], "to_entri": 92, "custom_template_provid": 92, "customtemplatetypeprovid": 92, "add_templatetyp": 92, "current_ord": 92, "current_rul": 92, "awesometempl": 92, "_awesometempl": 92, "custom_template_provider_set": 92, "h3": 92, "plugin_custom_template_provider_awesometempl": 92, "_div": 92, "h4": 92, "custom_template_consum": 92, "customtemplatetypeconsum": 92, "enabled_plugin": 92, "custom_template_consumer_awesometempl": 92, "ourselv": 92, "spec": 92, "ui_theming_hook": 92, "loginui_them": 92, "capture_pre_hook": 92, "capture_post_hook": 92, "eventhandlerplugin": 93, "mfaplugin": 93, "progressplugin": 93, "shutdownplugin": 93, "uiplugin": 93, "webcamproviderplugin": 93, "keyvalid": 93, "capability_report": 93, "additional_port_nam": 93, "extension_tre": [93, 95], "additional_exclud": 93, "before_backup": 93, "after_backup": 93, "before_restor": 93, "after_restor": 93, "reconnect_hook": 93, "handle_connect": 93, "sdcardupload": 93, "bodys": 93, "additional_command": 93, "additional_bundle_fil": 93, "templatetyp": [93, 95], "theme": 93, "diagram": 93, "grow": 93, "galor": 93, "pitfal": 93, "divis": 93, "checklist": 93, "overview": [94, 95], "_plugin_info": 94, "_datafold": 94, "heart": 95, "asset_plugin": 95, "all_asset": 95, "plugin_asset": 95, "preferred_stylesheet": 95, "supported_stylesheet": 95, "plugin_a": 95, "plugin_b": 95, "plugin_c": 95, "plugin_d": 95, "plugina": 95, "pluginb": 95, "pluginc": 95, "plugind": 95, "typic": 95, "get_asset_fold": 95, "appropri": 95, "clientj": 95, "my_fil": 95, "my_other_fil": 95, "my_styl": 95, "behav": [95, 96], "myblueprintplugin": 95, "myecho": 95, "method_nam": 95, "grace": 95, "is_blueprint_csrf_protect": 95, "exempt": 95, "csrf_exempt": 95, "subject": 95, "hello_y": 95, "hello_m": 95, "errorhandl": 95, "code_or_except": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "static_fold": 95, "template_fold": 95, "get_template_fold": 95, "term": 95, "enforc": 95, "forthcom": 95, "is_blueprint_protect": 95, "on_ev": 95, "mfa": 95, "verif": 95, "totp": 95, "mfatotp": 95, "fixtur": 95, "mfa_dummi": 95, "encourag": 95, "has_mfa_credenti": 95, "wrongmfacredenti": 95, "is_mfa_en": 95, "on_print_progress": 95, "increment": [95, 96], "on_slicing_progress": 95, "destination_loc": 95, "pluginsettingsmanag": 95, "unrel": 95, "experi": [95, 96], "data_fold": 95, "on_settings_sav": 95, "mysettingsplugin": 95, "old_flag": 95, "new_flag": 95, "on_settings_load": 95, "get_settings_restricted_path": 95, "config_version_kei": 95, "_config_vers": 95, "get_settings_preprocessor": 95, "some_kei": 95, "some_other_kei": 95, "some_method": 95, "assert": [95, 96], "some_other_valu": 95, "octoprintpermiss": 95, "admin_onli": 95, "user_onli": 95, "get_settings_vers": 95, "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_migr": 95, "overload": 95, "_config": 95, "conjunct": 95, "cleanli": 95, "on_shutdown": 95, "immin": 95, "boil": 95, "flat": 95, "preliminari": 95, "mysimpleapiplugin": 95, "get_api_command": 95, "command1": 95, "command2": 95, "some_paramet": 95, "on_api_command": 95, "elif": 95, "some_optional_paramet": 95, "2342": 95, "140": 95, "is_api_adminonli": 95, "machinecode_path": 95, "model_path": 95, "your_plugins_slicing_progress": 95, "depict": 95, "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "same_devic": 95, "cpu": 95, "progress_report": 95, "source_file_typ": 95, "destination_extens": 95, "is_slicer_configur": 95, "cloud": 95, "enrich": 95, "_navbar": 95, "myplugin_navbar": 95, "_sidebar": 95, "myplugin_sidebar": 95, "_tab": 95, "myplugin_tab": 95, "alphabet": 95, "myplugin_set": 95, "_userset": 95, "myplugin_userset": 95, "_webcam": 95, "myplugin_webcam": 95, "is_wizard_requir": 95, "_wizard": 95, "myplugin_wizard": 95, "onwizardtabchang": 95, "hasn": 95, "2fa": 95, "_mfa_login": 95, "myplugin_mfa_login": 95, "_usersettings_mfa": 95, "myplugin_usersettings_mfa": 95, "_about": 95, "myplugin_about": 95, "mfa_login": 95, "usersettings_mfa": 95, "myplugin_first_tab": 95, "myplugin_second_tab": 95, "plugin_myplugin": 95, "plugin_myplugin_2": 95, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_2": 95, "plugin_myplugin_1": 95, "myplugin_first_tab_jinja2": 95, "_1st": 95, "myplugin_second_tab_jinja2": 95, "_2nd": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2nd": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2nd": 95, "data_bind": 95, "myclass": 95, "myotherclass": 95, "font": 95, "fa": 95, "fab": 95, "template_head": 95, "classes_wrapp": 95, "classes_cont": 95, "styles_wrapp": 95, "styles_cont": 95, "classes_link": 95, "styles_link": 95, "bold": 95, "myplugin_othertab": 95, "tempt": 95, "is_template_autoescap": 95, "autoescap": 95, "strongli": [95, 96], "entiti": 95, "xss": 95, "will_handle_ui": 95, "on_ui_rend": 95, "_refresh": 95, "altogeth": 95, "exemplari": 95, "userag": 95, "dummy_mobile_ui": 95, "__future__": [95, 96], "absolute_import": [95, 96], "dummymobileuiplugin": 95, "agent": 95, "android": 95, "ipad": 95, "iphon": 95, "user_ag": 95, "render_kwarg": 95, "render_templ": 95, "dummy_mobile_ui_index": 95, "viewport": 95, "scale": 95, "scalabl": 95, "h1": 95, "hope": 95, "disappoint": 95, "ul": 95, "pluginnam": 95, "demand": [95, 97], "lazili": 95, "get_ui_additional_etag": 95, "default_addit": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "werkzeug": 95, "environbuild": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "default_template_filt": 95, "template_typ": 95, "template_kei": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "uiapikei": 95, "freshli": 95, "supportedextens": 95, "classicwebcam": 95, "testpictur": 95, "get_webcam_configur": 95, "take_webcam_snapshot": 95, "webcamnam": 95, "get_wizard_vers": 95, "get_default_set": 95, "reshow": 95, "some_key_unset": 95, "some_other_key_unset": 95, "get_wizard_detail": [95, 97], "onwizarddetail": [95, 97], "is_wizard_ignor": 95, "seen_wizard": 95, "previous": 95, "januari": 96, "1st": 96, "2020": 96, "goal": 96, "ecosystem": 96, "year": 96, "whichev": 96, "python3execut": 96, "usr": 96, "venv3": 96, "btw": 96, "python2": 96, "venv2": 96, "python37": 96, "venv37": 96, "bat": 96, "suggest": 96, "mv": 96, "py2": 96, "anotherplugin": 96, "markdown": 96, "dilig": 96, "comprehens": 96, "sum": 96, "cheat": 96, "sheet": 96, "idiom": 96, "six": 96, "book": 96, "chapter": 96, "troublesom": 96, "overcom": 96, "aim": 96, "upcom": 96, "stick": 96, "scenario": 96, "troubl": 96, "problemat": 96, "magic": 96, "wrote": 96, "mess": 96, "distinct": 96, "obvious": 96, "unicode_liter": 96, "annoyingli": 96, "ain": 96, "outskirt": 96, "anyhow": 96, "weird": 96, "my_sub_packag": 96, "revisit": 96, "penalti": 96, "result1": 96, "my_collect": 96, "result2": 96, "__plugin_pycompat__": 96, "print_funct": 96, "thoroughli": 96, "pai": 96, "attent": 96, "proven": 96, "biggest": 96, "topic": 96, "discuss": 96, "roadmap": 96, "sooner": 97, "knockoutj": 97, "letter": 97, "additionalnam": 97, "mycustomviewmodel": 97, "loginst": 97, "someotherviewmodel": 97, "yourcustomviewmodel": 97, "loginstateviewmodel": 97, "some_div": 97, "some_other_div": 97, "practic": 97, "appearanceviewmodel": 97, "connectionviewmodel": 97, "filesviewmodel": 97, "gcodefilesviewmodel": 97, "firstrunviewmodel": 97, "gcodeviewmodel": 97, "logsviewmodel": 97, "printerprofilesviewmodel": 97, "printerstateviewmodel": 97, "slicingviewmodel": 97, "temperatureviewmodel": 97, "terminalviewmodel": 97, "timelapseviewmodel": 97, "usersviewmodel": 97, "usersettingsviewmodel": 97, "wizardviewmodel": 97, "onstartup": 97, "onafterbind": 97, "onallbound": 97, "allviewmodel": 97, "onstartupcomplet": 97, "onserverdisconnect": 97, "ondataupdaterreconnect": 97, "reestablish": 97, "fromhistorydata": 97, "fromcurrentdata": 97, "onslicingprogress": 97, "modelpath": 97, "machinecodepath": 97, "onev": 97, "eventnam": 97, "oneventprintdon": 97, "fromtimelapsedata": 97, "ondataupdaterpluginmessag": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onbeforeprintstart": 97, "ontabchang": 97, "onaftertabchang": 97, "inclus": 97, "onsettingsshown": 97, "onsettingshidden": 97, "onsettingsbeforesav": 97, "onusersettingsshown": 97, "onusersettingshidden": 97, "onusersettingsbeforesav": 97, "onbeforewizardtabchang": 97, "acl": 97, "onafterwizardtabchang": 97, "onbeforewizardfinish": 97, "onwizardfinish": 97, "onwebcamvisibilitychang": 97, "onwebcamrefresh": 97, "heavi": 97}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 10, 1, "", "LocalCliUser"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 14, 1, "", "detector"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 14, 1, "", "content_type"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [95, 10, 1, "", "MfaPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.MfaPlugin": [[95, 12, 1, "", "has_mfa_credentials"], [95, 12, 1, "", "is_mfa_enabled"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"], [95, 12, 1, "", "is_template_autoescaped"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "flags"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_heater_regex_no_current"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 10, 1, "", "Config"], [82, 12, 1, "", "model_dump"]], "octoprint.schema.BaseModel.Config": [[82, 13, 1, "", "use_enum_values"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteGroupsHeader"], [82, 13, 1, "", "remoteGroupsMapping"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteGroups"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "flags"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "suppressSecondHello"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "PythonEolCheckConfig"], [82, 10, 1, "", "PythonEolEntry"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.PythonEolCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "fallback"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PythonEolEntry": [[82, 13, 1, "", "date"], [82, 13, 1, "", "last_octoprint"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustLocalhostProxies"], [82, 13, 1, "", "trustedProxies"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "pythonEolCheck"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "RenderAfterPrintEnum"], [82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.RenderAfterPrintEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "failure"], [82, 13, 1, "", "off"], [82, 13, 1, "", "success"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "renderAfterPrint"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "get_api_key"], [83, 8, 1, "", "get_user_for_apikey"], [83, 8, 1, "", "get_user_for_authorization_header"], [83, 8, 1, "", "get_user_for_remote_user_header"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 13, 1, "", "response"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "titleterms": {"access": [0, 2, 37, 48, 76, 92], "control": [0, 2, 9, 37, 48, 51, 60, 88], "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "permiss": [0, 2, 48, 92], "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "all": [0, 3, 10, 14, 15], "group": [0, 2], "get": [0, 1, 96], "add": [0, 10, 14, 90], "new": [0, 10], "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "updat": [0, 10, 11, 14, 33], "delet": [0, 3, 7, 14, 16, 31], "user": [0, 2, 4, 73, 76, 90, 92], "chang": [0, 16, 39], "": [0, 3, 41, 45, 56, 90], "password": 0, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "regener": 0, "api": [0, 5, 23, 31, 37, 92], "kei": [0, 23], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "registr": 0, "request": [0, 4, 9, 10, 14, 23, 44], "connect": [1, 11, 59], "handl": [1, 47], "issu": [1, 3, 6, 9, 16, 23], "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "common": [2, 33, 96], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "relat": 2, "state": [2, 9], "temperatur": [2, 9, 37, 92], "histor": 2, "point": 2, "offset": 2, "resend": 2, "stat": 2, "job": [2, 6, 63], "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "progress": 2, "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "folder": [2, 3, 37], "abridg": 2, "gcode": [2, 29, 37, 47, 51, 52, 92], "analysi": [2, 37, 78, 92], "refer": [2, 31], "print": [2, 9, 47], "histori": [2, 11], "statist": 2, "record": 2, "need": 2, "oper": [3, 6, 9, 10, 55], "from": [3, 90, 96], "specif": [3, 14, 31, 48, 96], "locat": 3, "upload": [3, 7], "creat": 3, "gener": [4, 87, 92, 95], "author": [4, 23], "type": [4, 40, 51, 80], "encod": 4, "cross": 4, "origin": 4, "csrf": 4, "protect": 4, "login": [4, 48], "logout": 4, "current": [4, 6, 9, 11, 13, 16], "rest": 5, "about": [6, 9, 19], "languag": [7, 64], "instal": [7, 54, 89], "pack": 7, "compon": [7, 90], "metadata": 7, "log": [8, 31, 39, 46, 65], "manag": [8, 32, 89], "head": 9, "tool": [9, 42], "bed": 9, "chamber": 9, "an": [9, 10, 16, 23, 70], "sd": 9, "last": 9, "error": [9, 26, 44, 92], "send": 9, "arbitrari": 9, "custom": [9, 51, 90, 97], "full": 9, "profil": [10, 14, 37, 44, 47, 81], "singl": 10, "exist": [10, 23], "remov": 10, "push": 11, "payload": 11, "event": [11, 24, 32, 33, 37, 47, 52, 92], "slicingprogress": 11, "server": [12, 17, 37, 47, 77, 83, 92], "save": 13, "fetch": [13, 23], "templat": 13, "slice": [14, 37, 47, 69, 85], "slicer": 14, "system": [15, 37, 71, 92], "regist": [15, 19, 89, 92, 97], "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "execut": [15, 92, 95], "client": [15, 23, 31, 62], "definit": 15, "timelaps": [16, 47, 72, 92], "config": [16, 37, 48, 82], "unrend": 16, "render": 16, "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "z": 16, "trigger": 16, "time": 16, "util": [17, 33, 74, 78, 83, 86], "variou": 17, "test": 17, "path": 17, "result": 17, "url": 17, "resolut": 17, "address": 17, "version": [18, 33, 45, 89, 96], "wizard": [19, 75], "addit": 19, "finish": 19, "entri": [19, 23], "action": [20, 21, 49, 92], "notif": 20, "support": [20, 21, 23], "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "exampl": [20, 21, 25, 40, 47, 51, 52], "commun": [20, 21, 47, 70], "firmwar": [20, 21, 28, 92], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "prompt": 21, "announc": [22, 25], "applic": 23, "workflow": 23, "redirect": 23, "auth": [23, 70, 92], "dialog": [23, 92], "probe": 23, "start": [23, 55], "process": [23, 47], "poll": 23, "decis": 23, "decid": 23, "pend": 23, "javascript": [23, 62, 90], "librari": [23, 31, 62], "backup": [24, 92], "line": [24, 33], "usag": [24, 33, 34], "hook": [24, 32, 33, 48, 92], "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "additional_exclud": [24, 92], "before_backup": [24, 92], "after_backup": [24, 92], "before_restor": [24, 92], "after_restor": [24, 92], "helper": [24, 33, 91], "create_backup": 24, "delete_backup": 24, "discoveri": 25, "further": [25, 96], "zeroconf": 25, "servic": 25, "_http": 25, "_tcp": 25, "_octoprint": 25, "track": [26, 34], "check": [27, 28, 33], "viewer": [29, 37], "bundl": [30, 52], "avail": [31, 47, 48, 92, 95], "logfil": 31, "j": 31, "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "pluginmanag": [32, 92], "reconnect_hook": [32, 92], "softwar": 33, "first": 33, "step": [33, 48], "method": 33, "pattern": 33, "global": 33, "credenti": 33, "softwareupd": [33, 92], "check_config": [33, 92], "version_check": 33, "except": [33, 85], "anonym": 34, "virtual": [35, 46, 96], "cli": [36, 77, 92], "yaml": [37, 39, 40, 48], "appear": 37, "develop": [37, 42, 43, 54, 93], "estim": [37, 92], "featur": [37, 53], "script": [37, 51, 52, 92], "serial": [37, 92], "termin": 37, "filter": [37, 96], "webcam": [37, 82], "level": 39, "handler": 39, "formatt": 39, "A": 40, "primer": 40, "basic": 40, "rule": 40, "interest": 40, "scalar": 40, "int": 40, "float": 40, "boolean": 40, "string": 40, "dictionari": 40, "branch": 41, "up": [42, 46, 90], "environ": [42, 96], "obtain": 42, "build": 42, "run": 42, "linux": 42, "todo": 42, "window": 42, "option": [42, 46], "recommend": 42, "mac": 42, "o": 42, "x": 42, "id": 42, "setup": [42, 48, 70], "visual": 42, "studio": 42, "vscode": 42, "pycharm": 42, "strategi": 45, "debug": 46, "enabl": 46, "placehold": 47, "autologin": 48, "gather": 48, "The": 48, "easi": 48, "wai": 48, "us": 48, "autologinconfig": 48, "hard": 48, "manual": [48, 54, 89], "edit": 48, "prepar": 48, "octopi": 48, "If": 48, "you": 48, "ar": 48, "vpn": 48, "your": [48, 89, 90, 96], "absolut": [48, 96], "requir": 48, "disabl": 48, "intern": [48, 79], "extens": [48, 92], "theme": [48, 92], "contain": 51, "parameter": 51, "predefin": 52, "snippet": 52, "context": 52, "more": [52, 90], "nifti": 52, "paus": 52, "resum": 52, "find": 54, "safe": 55, "mode": 55, "how": [55, 90, 96], "differ": 55, "v": [55, 96], "normal": 55, "welcom": 56, "document": 56, "browser": 58, "printerprofil": 67, "socket": 70, "sampl": 70, "throttl": 70, "dev": 77, "filemanag": [78, 92], "destin": 78, "storag": 78, "modul": 79, "core": 80, "schema": 82, "flask": 83, "sockj": [83, 92], "tornado": 83, "commandlin": 86, "platform": 86, "concept": [87, 92, 95], "lifecycl": [87, 97], "properti": [88, 94, 95], "distribut": [89, 90], "proper": 89, "packag": 89, "via": 89, "pip": 89, "offici": 89, "repositori": 89, "after": 89, "releas": 89, "tutori": 90, "sai": 90, "hello": 90, "make": 90, "actual": 90, "do": 90, "someth": 90, "grow": 90, "frontend": 90, "fun": 90, "function": 90, "web": [90, 92, 97], "interfac": [90, 97], "galor": 90, "part": 90, "adjust": 90, "ad": 90, "style": 90, "matter": 90, "inject": [90, 94, 95], "css": 90, "page": 90, "where": 90, "we": 90, "go": 90, "here": 90, "order": [92, 95], "factori": 92, "accesscontrol": 92, "keyvalid": 92, "comm": 92, "protocol": 92, "info": 92, "capabl": 92, "capability_report": 92, "atcommand": 92, "phase": 92, "receiv": 92, "transport": 92, "additional_port_nam": 92, "register_custom_ev": 92, "extension_tre": 92, "preprocessor": 92, "additional_state_data": 92, "handle_connect": 92, "sdcardupload": 92, "after_request": 92, "before_request": 92, "http": 92, "access_valid": 92, "bodys": 92, "rout": 92, "emit": 92, "additional_command": 92, "systeminfo": 92, "additional_bundle_fil": 92, "ui": 92, "templatetyp": 92, "captur": 92, "pre": 92, "post": 92, "mixin": 95, "assetplugin": 95, "blueprintplugin": 95, "eventhandlerplugin": 95, "mfaplugin": 95, "progressplugin": 95, "reloadneedingplugin": 95, "restartneedingplugin": 95, "settingsplugin": 95, "shutdownplugin": 95, "simpleapiplugin": 95, "slicerplugin": 95, "startupplugin": 95, "templateplugin": 95, "uiplugin": 95, "webcamproviderplugin": 95, "wizardplugin": 95, "migrat": 96, "python": 96, "3": 96, "tell": 96, "i": 96, "readi": 96, "pitfal": 96, "dure": 96, "byte": 96, "unicod": 96, "import": 96, "integ": 96, "divis": 96, "iter": 96, "instead": 96, "map": 96, "zip": 96, "checklist": 96, "read": 96, "viewmodel": 97, "depend": 97, "callback": 97, "diagram": 97, "startup": 97, "reconnect": 97}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Access control": [[0, "access-control"], [2, "access-control"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "List all permissions": [[0, "list-all-permissions"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Get group list": [[0, "get-group-list"]], "Add a new group": [[0, "add-a-new-group"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Update a group": [[0, "update-a-group"]], "Delete a group": [[0, "delete-a-group"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Add a new user": [[0, "add-a-new-user"]], "Update a user": [[0, "update-a-user"]], "Delete a user": [[0, "delete-a-user"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Permission list response": [[0, "permission-list-response"]], "Group list response": [[0, "group-list-response"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "User list response": [[0, "user-list-response"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Connection handling": [[1, "connection-handling"]], "Get connection settings": [[1, "get-connection-settings"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Common data model": [[2, "common-data-model"]], "Printer related": [[2, "printer-related"]], "Printer State": [[2, "printer-state"]], "Temperature Data": [[2, "temperature-data"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Temperature offset": [[2, "temperature-offset"]], "Resend stats": [[2, "resend-stats"]], "Job related": [[2, "job-related"]], "Job information": [[2, "job-information"]], "Progress information": [[2, "progress-information"]], "File related": [[2, "file-related"]], "File information": [[2, "file-information"], [31, "file-information"]], "Folders": [[2, "folders"]], "Files": [[2, "files"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "References": [[2, "references"], [31, "references"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "User record": [[2, "user-record"]], "Permission record": [[2, "permission-record"]], "Group record": [[2, "group-record"]], "Needs": [[2, "needs"]], "File operations": [[3, "file-operations"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Issue a file command": [[3, "issue-a-file-command"]], "Delete file": [[3, "delete-file"]], "Retrieve response": [[3, "retrieve-response"]], "Upload response": [[3, "upload-response"]], "General information": [[4, "general-information"]], "Authorization": [[4, "authorization"]], "Content Type": [[4, "content-type"]], "Encoding": [[4, "encoding"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "CSRF Protection": [[4, "csrf-protection"]], "Login": [[4, "login"]], "Logout": [[4, "logout"]], "Current User": [[4, "current-user"]], "Login response": [[4, "login-response"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "REST API": [[5, "rest-api"]], "Job operations": [[6, "job-operations"]], "Issue a job command": [[6, "issue-a-job-command"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Job information response": [[6, "job-information-response"]], "Languages": [[7, "languages"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "List response": [[7, "list-response"], [23, "list-response"]], "Component list": [[7, "component-list"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Log file management": [[8, "log-file-management"]], "Printer operations": [[9, "printer-operations"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Full State Response": [[9, "full-state-response"]], "Temperature State": [[9, "temperature-state"]], "SD State": [[9, "sd-state"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Error Information": [[9, "error-information"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Add or update request": [[10, "add-or-update-request"]], "Profile": [[10, "profile"], [14, "profile"]], "Push updates": [[11, "push-updates"]], "connected payload": [[11, "connected-payload"]], "current and history payload": [[11, "current-and-history-payload"]], "event payload": [[11, "event-payload"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "Server information": [[12, "server-information"]], "Settings": [[13, "settings"], [47, "settings"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Save settings": [[13, "save-settings"]], "Fetch template data": [[13, "fetch-template-data"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Slicer list": [[14, "slicer-list"]], "Slicer": [[14, "slicer"]], "Profile Update Request": [[14, "profile-update-request"]], "System": [[15, "system"], [37, "system"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "List all response": [[15, "list-all-response"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Timelapse": [[16, "timelapse"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Timelapse list": [[16, "timelapse-list"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Path test result": [[17, "path-test-result"]], "URL test result": [[17, "url-test-result"]], "Server test result": [[17, "server-test-result"]], "Resolution test result": [[17, "resolution-test-result"]], "Address test result": [[17, "address-test-result"]], "Version information": [[18, "version-information"]], "Wizard": [[19, "wizard"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Finish wizards": [[19, "finish-wizards"]], "Wizard data entry": [[19, "wizard-data-entry"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Start authorization process": [[23, "start-authorization-process"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Key response": [[23, "key-response"]], "Decision request": [[23, "decision-request"]], "Key list entry": [[23, "key-list-entry"]], "Pending list entry": [[23, "pending-list-entry"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Backup Plugin": [[24, "backup-plugin"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "create_backup": [[24, "create-backup"]], "delete_backup": [[24, "delete-backup"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Example": [[25, "example"], [47, "example"]], "Announced Services": [[25, "announced-services"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "File Check": [[27, "file-check"]], "Firmware Check": [[28, "firmware-check"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Logging": [[31, "logging"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "JS Client Library": [[31, "js-client-library"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "Plugin Manager": [[32, "plugin-manager"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "Software Update Plugin": [[33, "software-update-plugin"]], "First Steps": [[33, "first-steps"]], "Version checks": [[33, "version-checks"]], "Update methods": [[33, "update-methods"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Global credentials": [[33, "global-credentials"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]], "updaters": [[33, "updaters"]], "exceptions": [[33, "exceptions"]], "util": [[33, "util"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Virtual Printer": [[35, "virtual-printer"]], "CLI": [[36, "cli"]], "config.yaml": [[37, "config-yaml"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Appearance": [[37, "appearance"]], "Controls": [[37, "controls"], [51, "controls"]], "Development settings": [[37, "development-settings"]], "Estimation": [[37, "estimation"]], "Feature": [[37, "feature"]], "Folder": [[37, "folder"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Viewer": [[37, "gcode-viewer"]], "Plugin settings": [[37, "plugin-settings"]], "Printer Profiles": [[37, "printer-profiles"]], "Scripts": [[37, "scripts"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Temperature": [[37, "temperature"]], "Terminal Filters": [[37, "terminal-filters"]], "Webcam": [[37, "webcam"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "logging.yaml": [[39, "logging-yaml"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "A YAML Primer": [[40, "a-yaml-primer"]], "Basic Rules": [[40, "basic-rules"]], "Interesting data types": [[40, "interesting-data-types"]], "Scalars": [[40, "scalars"]], "int": [[40, "int"]], "float": [[40, "float"]], "boolean": [[40, "boolean"]], "string": [[40, "string"]], "Lists": [[40, "lists"]], "Dictionaries": [[40, "dictionaries"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "Linux": [[42, "linux"]], "Todo": [[42, "id1"], [42, "id3"]], "Windows": [[42, "windows"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Mac OS X": [[42, "mac-os-x"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "PyCharm": [[42, "pycharm"]], "Development": [[43, "development"]], "Profiling requests": [[44, "profiling-requests"]], "Errors": [[44, "errors"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Log file": [[46, "log-file"]], "Debug commands": [[46, "debug-commands"]], "Placeholders": [[47, "placeholders"]], "Available Events": [[47, "available-events"]], "Printer communication": [[47, "printer-communication"]], "File handling": [[47, "file-handling"]], "Printing": [[47, "printing"]], "GCODE processing": [[47, "gcode-processing"]], "Timelapses": [[47, "timelapses"]], "Printer Profile": [[47, "printer-profile"]], "Autologin": [[48, "autologin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Preparation": [[48, "preparation"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "Action Commands": [[49, "action-commands"]], "@ Commands": [[50, "commands"]], "Custom Controls": [[51, "custom-controls"]], "Types": [[51, "types"]], "Containers": [[51, "containers"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "GCODE Scripts": [[52, "gcode-scripts"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Snippets": [[52, "snippets"]], "Context": [[52, "context"]], "Bundled Scripts": [[52, "bundled-scripts"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Features": [[53, "features"]], "Plugins": [[54, "plugins"]], "Finding Plugins": [[54, "finding-plugins"]], "Installing Plugins": [[54, "installing-plugins"]], "Manual Installation": [[54, "manual-installation"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Safe mode": [[55, "safe-mode"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Communication Throttling": [[70, "communication-throttling"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "Internal Modules": [[79, "internal-modules"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "Lifecycle": [[87, "lifecycle"]], "Control Properties": [[88, "control-properties"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Manual file distribution": [[89, "manual-file-distribution"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.theming.

              ": [[92, "octoprint-theming-dialog"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Mixins": [[95, "mixins"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "AssetPlugin": [[95, "assetplugin"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "MfaPlugin": [[95, "mfaplugin"]], "ProgressPlugin": [[95, "progressplugin"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "SlicerPlugin": [[95, "slicerplugin"]], "StartupPlugin": [[95, "startupplugin"]], "TemplatePlugin": [[95, "templateplugin"]], "UiPlugin": [[95, "uiplugin"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "WizardPlugin": [[95, "wizardplugin"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "Absolute imports": [[96, "absolute-imports"]], "Version specific imports": [[96, "version-specific-imports"]], "Integer division": [[96, "integer-division"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "Checklist": [[96, "checklist"]], "Further reading": [[96, "further-reading"]], "Viewmodels": [[97, "viewmodels"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Dependencies": [[97, "dependencies"]], "Callbacks": [[97, "callbacks"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Web interface startup": [[97, "web-interface-startup"]], "Web interface reconnect": [[97, "web-interface-reconnect"]]}, "indexentries": {"octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate"]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision"]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide"]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey"]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys"]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey"]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys"]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe"]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request"]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser"]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey"]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp"]], "additional_excludes_hook()": [[24, "additional_excludes_hook"]], "after_backup_hook()": [[24, "after_backup_hook"]], "after_restore_hook()": [[24, "after_restore_hook"]], "before_backup_hook()": [[24, "before_backup_hook"]], "before_restore_hook()": [[24, "before_restore_hook"]], "built-in function": [[24, "additional_excludes_hook"], [24, "after_backup_hook"], [24, "after_restore_hook"], [24, "before_backup_hook"], [24, "before_restore_hook"], [32, "reconnect_hooks_hook"], [33, "update_config_hook"], [92, "access_validator_hook"], [92, "acl_keyvalidator_hook"], [92, "additional_bundle_files_hook"], [92, "additional_commands_hook"], [92, "additional_permissions_hook"], [92, "additional_port_names_hook"], [92, "additional_state_data_hook"], [92, "after_request_handlers_hook"], [92, "analysis_queue_factory_hook"], [92, "before_request_handlers_hook"], [92, "capture_post_hook"], [92, "capture_pre_hook"], [92, "cli_commands_hook"], [92, "file_extension_hook"], [92, "file_preprocessor_hook"], [92, "firmware_capability_hook"], [92, "firmware_capability_report_hook"], [92, "firmware_info_hook"], [92, "gcode_error_hook"], [92, "gcode_received_hook"], [92, "print_time_estimator_factory"], [92, "printer_factory_hook"], [92, "protocol_action_hook"], [92, "protocol_atcommandphase_hook"], [92, "protocol_gcodephase_hook"], [92, "protocol_scripts_hook"], [92, "protocol_temperatures_received_hook"], [92, "register_custom_events_hook"], [92, "sd_card_upload_hook"], [92, "serial_factory_hook"], [92, "server_bodysize_hook"], [92, "server_route_hook"], [92, "templatetype_hook"], [92, "timelapse_extension_hook"], [92, "ui_theming_hook"], [92, "user_manager_factory_hook"]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper"]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper"]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog"]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog"]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs"]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook"]], "update_config_hook()": [[33, "update_config_hook"]], "octoprintclient() (class)": [[57, "OctoPrintClient"]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError"]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax"]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData"]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException"]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred"]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete"]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download"]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get"]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl"]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl"]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie"]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders"]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl"]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery"]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand"]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options"]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch"]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson"]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins"]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post"]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson"]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put"]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson"]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent"]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand"]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet"]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload"]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login"]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout"]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin"]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect"]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect"]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck"]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings"]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls"]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode"]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript"]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters"]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters"]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy"]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder"]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete"]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download"]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath"]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get"]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list"]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation"]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move"]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry"]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select"]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice"]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload"]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel"]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get"]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause"]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart"]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume"]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start"]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause"]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete"]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list"]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload"]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude"]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState"]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState"]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState"]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState"]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState"]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home"]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd"]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog"]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd"]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd"]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool"]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature"]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset"]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature"]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset"]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate"]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate"]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures"]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets"]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add"]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete"]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get"]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list"]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update"]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey"]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get"]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings"]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save"]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings"]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer"]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer"]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer"]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles"]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer"]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer"]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect"]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate"]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect"]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate"]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage"]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh"]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow"]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options"]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect"]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage"]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth"]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage"]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand"]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands"]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource"]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete"]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered"]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download"]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get"]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig"]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list"]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered"]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered"]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered"]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig"]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add"]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword"]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete"]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey"]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get"]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings"]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list"]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey"]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings"]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update"]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test"]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable"]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath"]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution"]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer"]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl"]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish"]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get"]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser"]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage"]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername"]], "localcliuser (class in octoprint.access.users)": [[76, "octoprint.access.users.LocalCliUser"]], "unknownrole": [[76, "octoprint.access.users.UnknownRole"]], "unknownuser": [[76, "octoprint.access.users.UnknownUser"]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User"]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists"]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict"]], "module": [[76, "module-octoprint.access.users"], [77, "module-octoprint.cli"], [77, "module-octoprint.cli.dev"], [77, "module-octoprint.cli.plugins"], [77, "module-octoprint.cli.server"], [78, "module-octoprint.filemanager"], [78, "module-octoprint.filemanager.analysis"], [78, "module-octoprint.filemanager.destinations"], [78, "module-octoprint.filemanager.storage"], [78, "module-octoprint.filemanager.util"], [80, "module-octoprint.plugin"], [80, "module-octoprint.plugin.core"], [80, "module-octoprint.plugin.types"], [81, "module-octoprint.printer"], [81, "module-octoprint.printer.profile"], [82, "module-octoprint.schema"], [82, "module-octoprint.schema.config"], [82, "module-octoprint.schema.config.access_control"], [82, "module-octoprint.schema.config.api"], [82, "module-octoprint.schema.config.appearance"], [82, "module-octoprint.schema.config.controls"], [82, "module-octoprint.schema.config.devel"], [82, "module-octoprint.schema.config.estimation"], [82, "module-octoprint.schema.config.events"], [82, "module-octoprint.schema.config.feature"], [82, "module-octoprint.schema.config.folder"], [82, "module-octoprint.schema.config.gcode_analysis"], [82, "module-octoprint.schema.config.plugins"], [82, "module-octoprint.schema.config.printer_parameters"], [82, "module-octoprint.schema.config.printer_profiles"], [82, "module-octoprint.schema.config.scripts"], [82, "module-octoprint.schema.config.serial"], [82, "module-octoprint.schema.config.server"], [82, "module-octoprint.schema.config.slicing"], [82, "module-octoprint.schema.config.system"], [82, "module-octoprint.schema.config.temperature"], [82, "module-octoprint.schema.config.terminalfilters"], [82, "module-octoprint.schema.config.webcam"], [82, "module-octoprint.schema.webcam"], [83, "module-octoprint.server"], [83, "module-octoprint.server.util"], [83, "module-octoprint.server.util.flask"], [83, "module-octoprint.server.util.sockjs"], [83, "module-octoprint.server.util.tornado"], [84, "module-octoprint.settings"], [85, "module-octoprint.slicing"], [85, "module-octoprint.slicing.exceptions"], [86, "module-octoprint.util"], [86, "module-octoprint.util.commandline"], [86, "module-octoprint.util.platform"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption"]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext"]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands"]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands"]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options"]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options"]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command"]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command"]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option"]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli"]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options"]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands"]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx"]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager"]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server"]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options"]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option"]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings"]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options"]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue"]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper"]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted"]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue"]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector"]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping"]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper"]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue"]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream"]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage"]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream"]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage"]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry"]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface"]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper"]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort"]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis"]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file"]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file"]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder"]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder"]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link"]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link"]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog"]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog"]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize"]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize"]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close"]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close"]], "content_type (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type"]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file"]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file"]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder"]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder"]], "detector (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.detector"]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue"]], "extensions (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions"]], "extensions (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions"]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists"]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists"]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path"]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path"]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists"]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists"]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata"]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata"]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified"]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified"]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata"]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata"]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size"]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size"]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis"]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis"]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path"]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path"]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified"]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified"]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files"]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files"]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file"]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file"]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder"]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage"]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage"]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk"]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk"]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause"]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line"]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable"]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable"]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata"]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata"]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file"]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file"]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder"]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder"]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link"]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link"]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume"]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize"]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize"]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name"]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name"]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path"]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path"]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save"]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save"]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save"]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable"]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable"]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata"]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata"]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path"]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path"]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream"]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream"]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream"]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable"]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable"]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin"]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin"]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo"]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager"]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings"]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin"]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin"]], "_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue"]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager"]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder"]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker"]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder"]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus"]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager"]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier"]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger"]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager"]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager"]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name"]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version"]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer"]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager"]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager"]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager"]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay"]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author"]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted"]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled"]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin"]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check"]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description"]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable"]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin"]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged"]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable"]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin"]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled"]], "flags (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.flags"]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled"]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get"]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean"]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations"]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float"]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers"]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook"]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks"]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation"]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations"]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int"]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin"]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder"]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder"]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info"]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path"]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key"]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get"]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder"]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean"]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float"]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int"]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set"]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean"]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float"]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int"]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks"]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins"]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks"]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks"]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation"]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers"]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden"]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks"]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks"]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation"]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible"]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize"]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax"]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook"]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked"]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook"]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin"]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license"]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load"]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded"]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str"]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin"]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable"]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin"]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name"]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled"]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled"]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall"]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin"]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata"]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks"]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager"]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings"]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins"]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy"]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat"]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver"]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins"]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay"]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save"]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message"]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set"]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean"]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float"]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int"]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload"]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver"]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url"]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate"]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version"]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor"]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin"]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER"]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR"]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError"]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError"]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT"]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback"]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface"]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager"]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR"]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError"]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file"]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print"]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool"]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands"]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect"]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect"]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude"]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack"]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate"]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate"]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options"]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options"]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection"]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data"]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job"]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures"]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id"]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string"]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history"]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport"]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home"]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling"]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error"]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file"]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error"]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational"]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused"]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing"]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing"]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready"]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold"]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog"]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log"]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message"]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature"]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message"]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data"]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data"]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print"]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback"]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print"]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script"]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file"]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback"]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold"]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature"]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset"]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print"]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print"]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback"]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file"]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes"]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex"]], "valid_heater_regex_no_current (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex_no_current"]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex"]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig"]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig"]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum"]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig"]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig"]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel"]], "basemodel.config (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel.Config"]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum"]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig"]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig"]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig"]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig"]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config"]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig"]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig"]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig"]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig"]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig"]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig"]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig"]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig"]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig"]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig"]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription"]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig"]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig"]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig"]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig"]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig"]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum"]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig"]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum"]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig"]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig"]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig"]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig"]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig"]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig"]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig"]], "pythoneolcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig"]], "pythoneolentry (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolEntry"]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum"]], "renderafterprintenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum"]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig"]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum"]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum"]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig"]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities"]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig"]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts"]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig"]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig"]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig"]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum"]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum"]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig"]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig"]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile"]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry"]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig"]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions"]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum"]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig"]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam"]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility"]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig"]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel"]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about"]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about"]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl"]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax"]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action"]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions"]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers"]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates"]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses"]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts"]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled"]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone"]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed"]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected"]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange"]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin"]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming"]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths"]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always"]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always"]], "always (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.always"]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum"]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api"]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance"]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_"]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist"]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect"]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs"]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged"]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal"]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh"]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval"]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos"]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus"]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp"]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate"]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause"]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed"]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ"]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused"]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted"]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected"]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange"]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate"]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates"]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts"]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling"]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands"]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue"]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle"]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol"]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache"]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster"]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot"]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities"]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll"]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword"]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands"]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children"]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays"]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup"]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick"]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color"]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon"]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent"]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command"]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command"]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command"]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands"]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands"]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication"]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy"]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat"]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components"]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm"]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm"]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection"]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls"]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies"]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical"]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css"]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff"]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data"]], "date (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.date"]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug"]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default"]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default"]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default"]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage"]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles"]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout"]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer"]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam"]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect"]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive"]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst"]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel"]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection"]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled"]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled"]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors"]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace"]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName"]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands"]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser"]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection"]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload"]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter"]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand"]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled"]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled"]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled"]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled"]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled"]], "enabled (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.enabled"]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled"]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding"]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames"]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation"]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event"]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events"]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions"]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive"]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20"]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection"]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras"]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder"]], "failure (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.failure"]], "fallback (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.fallback"]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature"]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg"]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline"]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads"]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline"]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec"]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection"]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun"]], "flags (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.flags"]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH"]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV"]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder"]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin"]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent"]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible"]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three"]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps"]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes"]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder"]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode"]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode"]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis"]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated"]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic"]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic"]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green"]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager"]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile"]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat"]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand"]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal"]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host"]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host"]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback"]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader"]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown"]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle"]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle"]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts"]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware"]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends"]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup"]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands"]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info"]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input"]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval"]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval"]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck"]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript"]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl"]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize"]], "last_octoprint (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.last_octoprint"]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax"]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout"]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less"]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write"]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks"]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand"]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log"]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel"]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause"]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends"]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs"]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long"]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands"]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency"]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max"]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts"]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends"]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders"]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting"]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize"]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize"]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses"]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min"]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify"]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins"]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection"]], "model_dump() (octoprint.schema.basemodel method)": [[82, "octoprint.schema.BaseModel.model_dump"]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name"]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name"]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name"]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name"]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name"]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name"]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name"]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name"]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name"]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name"]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix"]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar"]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar"]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never"]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never"]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never"]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum"]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none"]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control"]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api"]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance"]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls"]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel"]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation"]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events"]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature"]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder"]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis"]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins"]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters"]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles"]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts"]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial"]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server"]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing"]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system"]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature"]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters"]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "off (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.off"]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off"]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck"]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options"]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange"]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order"]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter"]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix"]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers"]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands"]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager"]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist"]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings"]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins"]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins"]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched"]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port"]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port"]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port"]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback"]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader"]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport"]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait"]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll"]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive"]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache"]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback"]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader"]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation"]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation"]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime"]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters"]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles"]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles"]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing"]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles"]], "pythoneolcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pythonEolCheck"]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red"]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex"]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex"]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder"]], "remotegroupsheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsHeader"]], "remotegroupsmapping (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsMapping"]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader"]], "renderafterprint (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.renderAfterPrint"]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp"]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk"]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart"]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold"]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop"]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy"]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90"]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt"]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt"]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite"]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools"]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback"]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader"]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script"]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts"]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts"]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable"]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand"]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase"]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath"]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus"]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport"]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport"]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey"]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure"]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards"]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically"]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter"]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands"]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError"]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial"]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server"]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback"]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader"]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand"]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings"]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings"]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso"]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename"]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation"]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar"]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar"]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine"]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing"]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles"]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider"]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot"]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay"]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation"]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout"]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam"]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets"]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout"]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order"]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold"]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode"]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil"]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step"]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream"]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio"]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout"]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers"]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict"]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet"]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions"]], "success (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.success"]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand"]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk"]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait"]], "suppresssecondhello (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.suppressSecondHello"]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend"]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system"]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system"]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand"]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand"]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab"]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab"]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature"]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature"]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport"]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph"]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet"]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template"]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters"]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize"]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio"]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines"]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio"]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed"]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse"]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse"]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled"]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp"]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout"]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout"]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations"]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29"]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication"]], "trustlocalhostproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustLocalhostProxies"]], "trustremotegroups (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteGroups"]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser"]], "trustedproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedProxies"]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets"]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl"]], "ttl (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.ttl"]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type"]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type"]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck"]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until"]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation"]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads"]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads"]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url"]], "url (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.url"]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState"]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround"]], "use_enum_values (octoprint.schema.basemodel.config attribute)": [[82, "octoprint.schema.BaseModel.Config.use_enum_values"]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager"]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile"]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings"]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings"]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange"]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical"]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet"]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd"]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect"]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList"]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn"]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning"]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched"]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark"]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets"]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam"]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled"]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard"]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard"]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow"]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange"]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS"]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException"]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin"]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection"]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters"]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection"]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer"]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler"]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler"]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler"]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform"]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler"]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache"]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity"]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest"]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse"]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider"]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface"]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver"]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment"]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin"]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater"]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler"]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler"]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler"]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession"]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler"]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler"]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler"]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer"]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory"]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add"]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done"]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified"]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag"]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies"]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler"]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler"]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler"]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler"]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received"]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default"]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete"]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete"]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie"]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps"]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension"]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ"]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access"]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode"]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling"]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin"]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get"]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get"]], "get_api_key() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_api_key"]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type"]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version"]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix"]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request"]], "get_user_for_apikey() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_apikey"]], "get_user_for_authorization_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_authorization_header"]], "get_user_for_remote_user_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_remote_user_header"]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request"]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream"]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions"]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head"]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize"]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize"]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize"]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize"]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize"]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart"]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path"]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception"]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error"]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response"]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild"]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler"]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler"]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish"]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options"]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin"]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path"]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch"]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory"]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator"]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator"]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post"]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare"]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put"]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado"]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler"]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently"]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with"]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login"]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with"]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path"]], "response (octoprint.server.util.flask.octoprintflaskresponse attribute)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.response"]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access"]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session"]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name"]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port"]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set"]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie"]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers"]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers"]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler"]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie"]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix"]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get"]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect"]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY"]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings"]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay"]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback"]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup"]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder"]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config"]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash"]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml"]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings"]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective"]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash"]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml"]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get"]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder"]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean"]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat"]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt"]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has"]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified"]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty"]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts"]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load"]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript"]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay"]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove"]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay"]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback"]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders"]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save"]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript"]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set"]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder"]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean"]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat"]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt"]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings"]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues"]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings"]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists"]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException"]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException"]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured"]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled"]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException"]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager"]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile"]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile"]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile"]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer"]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles"]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing"]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers"]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer"]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile"]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path"]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer"]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path"]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize"]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile"]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified"]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers"]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers"]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile"]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile"]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice"]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer"]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer"]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled"]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS"]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet"]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller"]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError"]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict"]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture"]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue"]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer"]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer"]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue"]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue"]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call"]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call"]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks"]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi"]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy"]], "count() (in module octoprint.util)": [[86, "octoprint.util.count"]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated"]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize"]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean"]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys"]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter"]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten"]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge"]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff"]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize"]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict"]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii"]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get"]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom"]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class"]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string"]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime"]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size"]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta"]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname"]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os"]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file"]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible"]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items"]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call"]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr"]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout"]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation"]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp"]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put"]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run"]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run"]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize"]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec"]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes"]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str"]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str"]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode"]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values"]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated"]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation"]], "access_validator_hook()": [[92, "access_validator_hook"]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook"]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook"]], "additional_commands_hook()": [[92, "additional_commands_hook"]], "additional_permissions_hook()": [[92, "additional_permissions_hook"]], "additional_port_names_hook()": [[92, "additional_port_names_hook"]], "additional_state_data_hook()": [[92, "additional_state_data_hook"]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook"]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook"]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook"]], "capture_post_hook()": [[92, "capture_post_hook"]], "capture_pre_hook()": [[92, "capture_pre_hook"]], "cli_commands_hook()": [[92, "cli_commands_hook"]], "file_extension_hook()": [[92, "file_extension_hook"]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook"]], "firmware_capability_hook()": [[92, "firmware_capability_hook"]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook"]], "firmware_info_hook()": [[92, "firmware_info_hook"]], "gcode_error_hook()": [[92, "gcode_error_hook"]], "gcode_received_hook()": [[92, "gcode_received_hook"]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory"]], "printer_factory_hook()": [[92, "printer_factory_hook"]], "protocol_action_hook()": [[92, "protocol_action_hook"]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook"]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook"]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook"]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook"]], "register_custom_events_hook()": [[92, "register_custom_events_hook"]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook"]], "serial_factory_hook()": [[92, "serial_factory_hook"]], "server_bodysize_hook()": [[92, "server_bodysize_hook"]], "server_route_hook()": [[92, "server_route_hook"]], "templatetype_hook()": [[92, "templatetype_hook"]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook"]], "ui_theming_hook()": [[92, "ui_theming_hook"]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook"]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin"]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin"]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin"]], "mfaplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.MfaPlugin"]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin"]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin"]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin"]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin"]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin"]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin"]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin"]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin"]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin"]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin"]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin"]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing"]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key"]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt"]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice"]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler"]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands"]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder"]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets"]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint"]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes"]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs"]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults"]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors"]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths"]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version"]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile"]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree"]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile"]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles"]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified"]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties"]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs"]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder"]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars"]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag"]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache"]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching"]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files"]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag"]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified"]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter"]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files"]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching"]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions"]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless"]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled"]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations"]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details"]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version"]], "has_mfa_credentials() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.has_mfa_credentials"]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly"]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected"]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected"]], "is_mfa_enabled() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.is_mfa_enabled"]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured"]], "is_template_autoescaped() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.is_template_autoescaped"]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored"]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required"]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup"]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command"]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get"]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event"]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress"]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup"]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized"]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load"]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate"]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save"]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown"]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress"]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup"]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render"]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish"]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route"]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile"]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot"]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui"]]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"@ Commands": [[50, "commands"]], "A YAML Primer": [[40, "a-yaml-primer"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "Absolute imports": [[96, "absolute-imports"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Access control": [[0, "access-control"], [2, "access-control"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Action Commands": [[49, "action-commands"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Add a new group": [[0, "add-a-new-group"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Add a new user": [[0, "add-a-new-user"]], "Add or update request": [[10, "add-or-update-request"]], "Address test result": [[17, "address-test-result"]], "Announced Services": [[25, "announced-services"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Appearance": [[37, "appearance"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "AssetPlugin": [[95, "assetplugin"]], "Authorization": [[4, "authorization"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Autologin": [[48, "autologin"]], "Available Events": [[47, "available-events"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "Backup Plugin": [[24, "backup-plugin"]], "Basic Rules": [[40, "basic-rules"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Bundled Scripts": [[52, "bundled-scripts"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "CLI": [[36, "cli"]], "CSRF Protection": [[4, "csrf-protection"]], "Callbacks": [[97, "callbacks"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Checklist": [[96, "checklist"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Common data model": [[2, "common-data-model"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Communication Throttling": [[70, "communication-throttling"]], "Component list": [[7, "component-list"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Connection handling": [[1, "connection-handling"]], "Containers": [[51, "containers"]], "Content Type": [[4, "content-type"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Context": [[52, "context"]], "Control Properties": [[88, "control-properties"]], "Controls": [[37, "controls"], [51, "controls"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "Current User": [[4, "current-user"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "Custom Controls": [[51, "custom-controls"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Debug commands": [[46, "debug-commands"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Decision request": [[23, "decision-request"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Delete a group": [[0, "delete-a-group"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Delete a user": [[0, "delete-a-user"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Delete file": [[3, "delete-file"]], "Dependencies": [[97, "dependencies"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Development": [[43, "development"]], "Development settings": [[37, "development-settings"]], "Dictionaries": [[40, "dictionaries"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Encoding": [[4, "encoding"]], "Error Information": [[9, "error-information"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Errors": [[44, "errors"]], "Estimation": [[37, "estimation"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Example": [[25, "example"], [47, "example"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Feature": [[37, "feature"]], "Features": [[53, "features"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Fetch template data": [[13, "fetch-template-data"]], "File Check": [[27, "file-check"]], "File handling": [[47, "file-handling"]], "File information": [[2, "file-information"], [31, "file-information"]], "File operations": [[3, "file-operations"]], "File related": [[2, "file-related"]], "Files": [[2, "files"]], "Finding Plugins": [[54, "finding-plugins"]], "Finish wizards": [[19, "finish-wizards"]], "Firmware Check": [[28, "firmware-check"]], "First Steps": [[33, "first-steps"]], "Folder": [[37, "folder"]], "Folders": [[2, "folders"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Full State Response": [[9, "full-state-response"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Further reading": [[96, "further-reading"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Scripts": [[52, "gcode-scripts"]], "GCODE Viewer": [[37, "gcode-viewer"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "GCODE processing": [[47, "gcode-processing"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "General information": [[4, "general-information"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Get connection settings": [[1, "get-connection-settings"]], "Get group list": [[0, "get-group-list"]], "Global credentials": [[33, "global-credentials"]], "Group list response": [[0, "group-list-response"]], "Group record": [[2, "group-record"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Installing Plugins": [[54, "installing-plugins"]], "Integer division": [[96, "integer-division"]], "Interesting data types": [[40, "interesting-data-types"]], "Internal Modules": [[79, "internal-modules"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Issue a file command": [[3, "issue-a-file-command"]], "Issue a job command": [[6, "issue-a-job-command"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "JS Client Library": [[31, "js-client-library"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Job information": [[2, "job-information"]], "Job information response": [[6, "job-information-response"]], "Job operations": [[6, "job-operations"]], "Job related": [[2, "job-related"]], "Key list entry": [[23, "key-list-entry"]], "Key response": [[23, "key-response"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Languages": [[7, "languages"]], "Lifecycle": [[87, "lifecycle"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Linux": [[42, "linux"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "List all permissions": [[0, "list-all-permissions"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "List all response": [[15, "list-all-response"]], "List response": [[7, "list-response"], [23, "list-response"]], "Lists": [[40, "lists"]], "Log file": [[46, "log-file"]], "Log file management": [[8, "log-file-management"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "Logging": [[31, "logging"]], "Login": [[4, "login"]], "Login response": [[4, "login-response"]], "Logout": [[4, "logout"]], "Mac OS X": [[42, "mac-os-x"]], "Manual Installation": [[54, "manual-installation"]], "Manual file distribution": [[89, "manual-file-distribution"]], "MfaPlugin": [[95, "mfaplugin"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "Mixins": [[95, "mixins"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Needs": [[2, "needs"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "Path test result": [[17, "path-test-result"]], "Pending list entry": [[23, "pending-list-entry"]], "Permission list response": [[0, "permission-list-response"]], "Permission record": [[2, "permission-record"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "Placeholders": [[47, "placeholders"]], "Plugin Manager": [[32, "plugin-manager"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Plugin settings": [[37, "plugin-settings"]], "Plugins": [[54, "plugins"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Preparation": [[48, "preparation"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "Printer Profile": [[47, "printer-profile"]], "Printer Profiles": [[37, "printer-profiles"]], "Printer State": [[2, "printer-state"]], "Printer communication": [[47, "printer-communication"]], "Printer operations": [[9, "printer-operations"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Printer related": [[2, "printer-related"]], "Printing": [[47, "printing"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Profile": [[10, "profile"], [14, "profile"]], "Profile Update Request": [[14, "profile-update-request"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Profiling requests": [[44, "profiling-requests"]], "Progress information": [[2, "progress-information"]], "ProgressPlugin": [[95, "progressplugin"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Push updates": [[11, "push-updates"]], "PyCharm": [[42, "pycharm"]], "REST API": [[5, "rest-api"]], "References": [[2, "references"], [31, "references"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Resend stats": [[2, "resend-stats"]], "Resolution test result": [[17, "resolution-test-result"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Retrieve response": [[3, "retrieve-response"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "SD State": [[9, "sd-state"]], "Safe mode": [[55, "safe-mode"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Save settings": [[13, "save-settings"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Scalars": [[40, "scalars"]], "Scripts": [[37, "scripts"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Server information": [[12, "server-information"]], "Server test result": [[17, "server-test-result"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Settings": [[13, "settings"], [47, "settings"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "Slicer": [[14, "slicer"]], "Slicer list": [[14, "slicer-list"]], "SlicerPlugin": [[95, "slicerplugin"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "Snippets": [[52, "snippets"]], "Software Update Plugin": [[33, "software-update-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Start authorization process": [[23, "start-authorization-process"]], "StartupPlugin": [[95, "startupplugin"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "System": [[15, "system"], [37, "system"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Temperature": [[37, "temperature"]], "Temperature Data": [[2, "temperature-data"]], "Temperature State": [[9, "temperature-state"]], "Temperature offset": [[2, "temperature-offset"]], "TemplatePlugin": [[95, "templateplugin"]], "Terminal Filters": [[37, "terminal-filters"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Timelapse": [[16, "timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Timelapse list": [[16, "timelapse-list"]], "Timelapses": [[47, "timelapses"]], "Todo": [[42, "id1"], [42, "id3"]], "Types": [[51, "types"]], "URL test result": [[17, "url-test-result"]], "UiPlugin": [[95, "uiplugin"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Update a group": [[0, "update-a-group"]], "Update a user": [[0, "update-a-user"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Update methods": [[33, "update-methods"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Upload response": [[3, "upload-response"]], "User list response": [[0, "user-list-response"]], "User record": [[2, "user-record"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Version checks": [[33, "version-checks"]], "Version information": [[18, "version-information"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Version specific imports": [[96, "version-specific-imports"]], "Viewmodels": [[97, "viewmodels"]], "Virtual Printer": [[35, "virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "Web interface reconnect": [[97, "web-interface-reconnect"]], "Web interface startup": [[97, "web-interface-startup"]], "Webcam": [[37, "webcam"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Windows": [[42, "windows"]], "Wizard": [[19, "wizard"]], "Wizard data entry": [[19, "wizard-data-entry"]], "WizardPlugin": [[95, "wizardplugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "boolean": [[40, "boolean"]], "config.yaml": [[37, "config-yaml"]], "connected payload": [[11, "connected-payload"]], "create_backup": [[24, "create-backup"]], "current and history payload": [[11, "current-and-history-payload"]], "delete_backup": [[24, "delete-backup"]], "event payload": [[11, "event-payload"]], "exceptions": [[33, "exceptions"]], "float": [[40, "float"]], "int": [[40, "int"]], "logging.yaml": [[39, "logging-yaml"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.theming.": [[92, "octoprint-theming-dialog"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "string": [[40, "string"]], "updaters": [[33, "updaters"]], "util": [[33, "util"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]]}, "docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "indexentries": {"_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue", false]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager", false]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder", false]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker", false]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder", false]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort", false]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis", false]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus", false]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager", false]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier", false]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger", false]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager", false]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager", false]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name", false]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version", false]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer", false]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager", false]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager", false]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager", false]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel", false]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about", false]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about", false]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue", false]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper", false]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory", false]], "access_validator_hook()": [[92, "access_validator_hook", false]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl", false]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig", false]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax", false]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook", false]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action", false]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig", false]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions", false]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add", false]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file", false]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file", false]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder", false]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder", false]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link", false]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link", false]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay", false]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay", false]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback", false]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook", false]], "additional_commands_hook()": [[92, "additional_commands_hook", false]], "additional_excludes_hook()": [[24, "additional_excludes_hook", false]], "additional_permissions_hook()": [[92, "additional_permissions_hook", false]], "additional_port_names_hook()": [[92, "additional_port_names_hook", false]], "additional_state_data_hook()": [[92, "additional_state_data_hook", false]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates", false]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses", false]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts", false]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers", false]], "after_backup_hook()": [[24, "after_backup_hook", false]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook", false]], "after_restore_hook()": [[24, "after_restore_hook", false]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled", false]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone", false]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected", false]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed", false]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange", false]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles", false]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin", false]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths", false]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming", false]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always", false]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always", false]], "always (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.always", false]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum", false]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum", false]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog", false]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog", false]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook", false]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted", false]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue", false]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser", false]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api", false]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig", false]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance", false]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig", false]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict", false]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin", false]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_", false]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author", false]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect", false]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs", false]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged", false]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal", false]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh", false]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval", false]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos", false]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus", false]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp", false]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist", false]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup", false]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel", false]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate", false]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause", false]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed", false]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor", false]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin", false]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ", false]], "before_backup_hook()": [[24, "before_backup_hook", false]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook", false]], "before_restore_hook()": [[24, "before_restore_hook", false]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected", false]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused", false]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted", false]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange", false]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate", false]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted", false]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates", false]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts", false]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands", false]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling", false]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue", false]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin", false]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS", false]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done", false]], "built-in function": [[24, "additional_excludes_hook", false], [24, "after_backup_hook", false], [24, "after_restore_hook", false], [24, "before_backup_hook", false], [24, "before_restore_hook", false], [32, "reconnect_hooks_hook", false], [33, "update_config_hook", false], [92, "access_validator_hook", false], [92, "acl_keyvalidator_hook", false], [92, "additional_bundle_files_hook", false], [92, "additional_commands_hook", false], [92, "additional_permissions_hook", false], [92, "additional_port_names_hook", false], [92, "additional_state_data_hook", false], [92, "after_request_handlers_hook", false], [92, "analysis_queue_factory_hook", false], [92, "before_request_handlers_hook", false], [92, "capture_post_hook", false], [92, "capture_pre_hook", false], [92, "cli_commands_hook", false], [92, "file_extension_hook", false], [92, "file_preprocessor_hook", false], [92, "firmware_capability_hook", false], [92, "firmware_capability_report_hook", false], [92, "firmware_info_hook", false], [92, "gcode_error_hook", false], [92, "gcode_received_hook", false], [92, "print_time_estimator_factory", false], [92, "printer_factory_hook", false], [92, "protocol_action_hook", false], [92, "protocol_atcommandphase_hook", false], [92, "protocol_gcodephase_hook", false], [92, "protocol_scripts_hook", false], [92, "protocol_temperatures_received_hook", false], [92, "register_custom_events_hook", false], [92, "sd_card_upload_hook", false], [92, "serial_factory_hook", false], [92, "server_bodysize_hook", false], [92, "server_route_hook", false], [92, "templatetype_hook", false], [92, "timelapse_extension_hook", false], [92, "ui_theming_hook", false], [92, "user_manager_factory_hook", false]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options", false]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle", false]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled", false]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol", false]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache", false]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster", false]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call", false]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin", false]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file", false]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print", false]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing", false]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing", false]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException", false]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize", false]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize", false]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot", false]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities", false]], "capture_post_hook()": [[92, "capture_post_hook", false]], "capture_pre_hook()": [[92, "capture_pre_hook", false]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll", false]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet", false]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER", false]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool", false]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check", false]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified", false]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder", false]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword", false]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call", false]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands", false]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children", false]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks", false]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR", false]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi", false]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup", false]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays", false]], "cli_commands_hook()": [[92, "cli_commands_hook", false]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close", false]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close", false]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS", false]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick", false]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color", false]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum", false]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon", false]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent", false]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command", false]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command", false]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command", false]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller", false]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError", false]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands", false]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands", false]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands", false]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig", false]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication", false]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy", false]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat", false]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig", false]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig", false]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig", false]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components", false]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag", false]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config", false]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config", false]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash", false]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key", false]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml", false]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers", false]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm", false]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm", false]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect", false]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection", false]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig", false]], "content_type (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type", false]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector", false]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping", false]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig", false]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig", false]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls", false]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig", false]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies", false]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies", false]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig", false]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy", false]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file", false]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file", false]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder", false]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder", false]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage", false]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler", false]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler", false]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin", false]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError", false]], "count() (in module octoprint.util)": [[86, "octoprint.util.count", false]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper", false]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical", false]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt", false]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler", false]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler", false]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css", false]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection", false]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters", false]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection", false]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer", false]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff", false]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options", false]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data", false]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received", false]], "date (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.date", false]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug", false]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default", false]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default", false]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default", false]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default", false]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings", false]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer", false]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage", false]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict", false]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles", false]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout", false]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer", false]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam", false]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete", false]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete", false]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper", false]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie", false]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile", false]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture", false]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated", false]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler", false]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description", false]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize", false]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect", false]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive", false]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst", false]], "detector (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.detector", false]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel", false]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig", false]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig", false]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig", false]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean", false]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys", false]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter", false]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten", false]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge", false]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff", false]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize", false]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable", false]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin", false]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled", false]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled", false]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection", false]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged", false]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect", false]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors", false]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper", false]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace", false]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig", false]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName", false]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice", false]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps", false]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler", false]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective", false]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash", false]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml", false]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser", false]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands", false]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable", false]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension", false]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin", false]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection", false]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled", false]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled", false]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled", false]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled", false]], "enabled (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.enabled", false]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled", false]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload", false]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter", false]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand", false]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding", false]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames", false]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue", false]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ", false]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler", false]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation", false]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig", false]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event", false]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin", false]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events", false]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig", false]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription", false]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions", false]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive", false]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20", false]], "extensions (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions", false]], "extensions (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions", false]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection", false]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras", false]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude", false]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder", false]], "failure (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.failure", false]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack", false]], "fallback (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.fallback", false]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict", false]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature", false]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig", false]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate", false]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg", false]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline", false]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads", false]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline", false]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec", false]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists", false]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists", false]], "file_extension_hook()": [[92, "file_extension_hook", false]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path", false]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path", false]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook", false]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii", false]], "firmware_capability_hook()": [[92, "firmware_capability_hook", false]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook", false]], "firmware_info_hook()": [[92, "firmware_info_hook", false]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection", false]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun", false]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access", false]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode", false]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling", false]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin", false]], "flags (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.flags", false]], "flags (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.flags", false]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH", false]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV", false]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate", false]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder", false]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists", false]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists", false]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig", false]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible", false]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled", false]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin", false]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent", false]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three", false]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps", false]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes", false]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder", false]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode", false]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode", false]], "gcode_error_hook()": [[92, "gcode_error_hook", false]], "gcode_received_hook()": [[92, "gcode_received_hook", false]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis", false]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig", false]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue", false]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig", false]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated", false]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler", false]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic", false]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic", false]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get", false]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get", false]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get", false]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get", false]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get", false]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata", false]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata", false]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands", false]], "get_api_key() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_api_key", false]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder", false]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets", false]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint", false]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes", false]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs", false]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom", false]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean", false]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class", false]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command", false]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command", false]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options", false]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options", false]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type", false]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version", false]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix", false]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection", false]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data", false]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job", false]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures", false]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string", false]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations", false]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request", false]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float", false]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime", false]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size", false]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta", false]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname", false]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers", false]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook", false]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks", false]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation", false]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations", false]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int", false]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified", false]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified", false]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata", false]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata", false]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os", false]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin", false]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder", false]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder", false]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info", false]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path", false]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path", false]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults", false]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors", false]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths", false]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version", false]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size", false]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size", false]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer", false]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile", false]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree", false]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile", false]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path", false]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles", false]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified", false]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties", false]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key", false]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id", false]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string", false]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history", false]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs", false]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder", false]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars", false]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport", false]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag", false]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache", false]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching", false]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files", false]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag", false]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified", false]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter", false]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files", false]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching", false]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions", false]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless", false]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled", false]], "get_user_for_apikey() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_apikey", false]], "get_user_for_authorization_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_authorization_header", false]], "get_user_for_remote_user_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_remote_user_header", false]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations", false]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details", false]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version", false]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder", false]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean", false]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat", false]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt", false]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get", false]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder", false]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean", false]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float", false]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int", false]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set", false]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean", false]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float", false]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int", false]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform", false]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green", false]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile", false]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager", false]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request", false]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream", false]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has", false]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis", false]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis", false]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks", false]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins", false]], "has_mfa_credentials() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.has_mfa_credentials", false]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks", false]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions", false]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks", false]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation", false]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head", false]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat", false]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand", false]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers", false]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden", false]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option", false]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption", false]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home", false]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks", false]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks", false]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal", false]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host", false]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host", false]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback", false]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader", false]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown", false]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle", false]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle", false]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands", false]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts", false]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware", false]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends", false]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup", false]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation", false]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible", false]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info", false]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum", false]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli", false]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize", false]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize", false]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize", false]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize", false]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input", false]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval", false]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval", false]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax", false]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError", false]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername", false]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck", false]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig", false]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file", false]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly", false]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected", false]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected", false]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling", false]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error", false]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file", false]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error", false]], "is_mfa_enabled() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.is_mfa_enabled", false]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart", false]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook", false]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational", false]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible", false]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused", false]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing", false]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked", false]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing", false]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready", false]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook", false]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin", false]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured", false]], "is_template_autoescaped() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.is_template_autoescaped", false]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored", false]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required", false]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items", false]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript", false]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold", false]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog", false]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path", false]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path", false]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path", false]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl", false]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys", false]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler", false]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified", false]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified", false]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified", false]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty", false]], "last_octoprint (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.last_octoprint", false]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize", false]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax", false]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout", false]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum", false]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options", false]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less", false]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache", false]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write", false]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license", false]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream", false]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands", false]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands", false]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files", false]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files", false]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts", false]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load", false]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load", false]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay", false]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays", false]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile", false]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded", false]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript", false]], "localcliuser (class in octoprint.access.users)": [[76, "octoprint.access.users.LocalCliUser", false]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage", false]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks", false]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand", false]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log", false]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception", false]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines", false]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel", false]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause", false]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends", false]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs", false]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long", false]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str", false]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands", false]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin", false]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT", false]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency", false]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error", false]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response", false]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable", false]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin", false]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max", false]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts", false]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends", false]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders", false]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting", false]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize", false]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize", false]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses", false]], "mfaplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.MfaPlugin", false]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min", false]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify", false]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins", false]], "model_computed_fields (octoprint.schema.basemodel attribute)": [[82, "octoprint.schema.BaseModel.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.model_computed_fields", false]], "model_computed_fields (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.model_computed_fields", false]], "model_computed_fields (octoprint.server.util.flask.reverseproxyinfo attribute)": [[83, "octoprint.server.util.flask.ReverseProxyInfo.model_computed_fields", false]], "model_config (octoprint.schema.basemodel attribute)": [[82, "octoprint.schema.BaseModel.model_config", false]], "model_config (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.model_config", false]], "model_config (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.model_config", false]], "model_config (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.model_config", false]], "model_config (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.model_config", false]], "model_config (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.model_config", false]], "model_config (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.model_config", false]], "model_config (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.model_config", false]], "model_config (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.model_config", false]], "model_config (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.model_config", false]], "model_config (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.model_config", false]], "model_config (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.model_config", false]], "model_config (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.model_config", false]], "model_config (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.model_config", false]], "model_config (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.model_config", false]], "model_config (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.model_config", false]], "model_config (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.model_config", false]], "model_config (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.model_config", false]], "model_config (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.model_config", false]], "model_config (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.model_config", false]], "model_config (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.model_config", false]], "model_config (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.model_config", false]], "model_config (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.model_config", false]], "model_config (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.model_config", false]], "model_config (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.model_config", false]], "model_config (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.model_config", false]], "model_config (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.model_config", false]], "model_config (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.model_config", false]], "model_config (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.model_config", false]], "model_config (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.model_config", false]], "model_config (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.model_config", false]], "model_config (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.model_config", false]], "model_config (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.model_config", false]], "model_config (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.model_config", false]], "model_config (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.model_config", false]], "model_config (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.model_config", false]], "model_config (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.model_config", false]], "model_config (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.model_config", false]], "model_config (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.model_config", false]], "model_config (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.model_config", false]], "model_config (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.model_config", false]], "model_config (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.model_config", false]], "model_config (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.model_config", false]], "model_config (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.model_config", false]], "model_config (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.model_config", false]], "model_config (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.model_config", false]], "model_config (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.model_config", false]], "model_config (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.model_config", false]], "model_config (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.model_config", false]], "model_config (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.model_config", false]], "model_config (octoprint.server.util.flask.reverseproxyinfo attribute)": [[83, "octoprint.server.util.flask.ReverseProxyInfo.model_config", false]], "model_fields (octoprint.schema.basemodel attribute)": [[82, "octoprint.schema.BaseModel.model_fields", false]], "model_fields (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.model_fields", false]], "model_fields (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.model_fields", false]], "model_fields (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.model_fields", false]], "model_fields (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.model_fields", false]], "model_fields (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.model_fields", false]], "model_fields (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.model_fields", false]], "model_fields (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.model_fields", false]], "model_fields (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.model_fields", false]], "model_fields (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.model_fields", false]], "model_fields (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.model_fields", false]], "model_fields (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.model_fields", false]], "model_fields (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.model_fields", false]], "model_fields (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.model_fields", false]], "model_fields (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.model_fields", false]], "model_fields (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.model_fields", false]], "model_fields (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.model_fields", false]], "model_fields (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.model_fields", false]], "model_fields (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.model_fields", false]], "model_fields (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.model_fields", false]], "model_fields (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.model_fields", false]], "model_fields (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.model_fields", false]], "model_fields (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.model_fields", false]], "model_fields (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.model_fields", false]], "model_fields (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.model_fields", false]], "model_fields (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.model_fields", false]], "model_fields (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.model_fields", false]], "model_fields (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.model_fields", false]], "model_fields (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.model_fields", false]], "model_fields (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.model_fields", false]], "model_fields (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.model_fields", false]], "model_fields (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.model_fields", false]], "model_fields (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.model_fields", false]], "model_fields (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.model_fields", false]], "model_fields (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.model_fields", false]], "model_fields (octoprint.server.util.flask.reverseproxyinfo attribute)": [[83, "octoprint.server.util.flask.ReverseProxyInfo.model_fields", false]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection", false]], "module": [[76, "module-octoprint.access.users", false], [77, "module-octoprint.cli", false], [77, "module-octoprint.cli.dev", false], [77, "module-octoprint.cli.plugins", false], [77, "module-octoprint.cli.server", false], [78, "module-octoprint.filemanager", false], [78, "module-octoprint.filemanager.analysis", false], [78, "module-octoprint.filemanager.destinations", false], [78, "module-octoprint.filemanager.storage", false], [78, "module-octoprint.filemanager.util", false], [80, "module-octoprint.plugin", false], [80, "module-octoprint.plugin.core", false], [80, "module-octoprint.plugin.types", false], [81, "module-octoprint.printer", false], [81, "module-octoprint.printer.profile", false], [82, "module-octoprint.schema", false], [82, "module-octoprint.schema.config", false], [82, "module-octoprint.schema.config.access_control", false], [82, "module-octoprint.schema.config.api", false], [82, "module-octoprint.schema.config.appearance", false], [82, "module-octoprint.schema.config.controls", false], [82, "module-octoprint.schema.config.devel", false], [82, "module-octoprint.schema.config.estimation", false], [82, "module-octoprint.schema.config.events", false], [82, "module-octoprint.schema.config.feature", false], [82, "module-octoprint.schema.config.folder", false], [82, "module-octoprint.schema.config.gcode_analysis", false], [82, "module-octoprint.schema.config.plugins", false], [82, "module-octoprint.schema.config.printer_parameters", false], [82, "module-octoprint.schema.config.printer_profiles", false], [82, "module-octoprint.schema.config.scripts", false], [82, "module-octoprint.schema.config.serial", false], [82, "module-octoprint.schema.config.server", false], [82, "module-octoprint.schema.config.slicing", false], [82, "module-octoprint.schema.config.system", false], [82, "module-octoprint.schema.config.temperature", false], [82, "module-octoprint.schema.config.terminalfilters", false], [82, "module-octoprint.schema.config.webcam", false], [82, "module-octoprint.schema.webcam", false], [83, "module-octoprint.server", false], [83, "module-octoprint.server.util", false], [83, "module-octoprint.server.util.flask", false], [83, "module-octoprint.server.util.sockjs", false], [83, "module-octoprint.server.util.tornado", false], [84, "module-octoprint.settings", false], [85, "module-octoprint.slicing", false], [85, "module-octoprint.slicing.exceptions", false], [86, "module-octoprint.util", false], [86, "module-octoprint.util.commandline", false], [86, "module-octoprint.util.platform", false]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file", false]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file", false]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder", false]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder", false]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream", false]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name", false]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name", false]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name", false]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name", false]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name", false]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name", false]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name", false]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name", false]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name", false]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name", false]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name", false]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix", false]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar", false]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar", false]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild", false]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart", false]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never", false]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never", false]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never", false]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum", false]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access", false]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler", false]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler", false]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none", false]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage", false]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands", false]], "octoprint.access.users": [[76, "module-octoprint.access.users", false]], "octoprint.cli": [[77, "module-octoprint.cli", false]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev", false]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins", false]], "octoprint.cli.server": [[77, "module-octoprint.cli.server", false]], "octoprint.filemanager": [[78, "module-octoprint.filemanager", false]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis", false]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations", false]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage", false]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util", false]], "octoprint.plugin": [[80, "module-octoprint.plugin", false]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core", false]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types", false]], "octoprint.printer": [[81, "module-octoprint.printer", false]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile", false]], "octoprint.schema": [[82, "module-octoprint.schema", false]], "octoprint.schema.config": [[82, "module-octoprint.schema.config", false]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control", false]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api", false]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance", false]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls", false]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel", false]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation", false]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events", false]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature", false]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder", false]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis", false]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins", false]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters", false]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles", false]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts", false]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial", false]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server", false]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing", false]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system", false]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature", false]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters", false]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam", false]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam", false]], "octoprint.server": [[83, "module-octoprint.server", false]], "octoprint.server.util": [[83, "module-octoprint.server.util", false]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask", false]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs", false]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado", false]], "octoprint.settings": [[84, "module-octoprint.settings", false]], "octoprint.slicing": [[85, "module-octoprint.slicing", false]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions", false]], "octoprint.util": [[86, "module-octoprint.util", false]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline", false]], "octoprint.util.platform": [[86, "module-octoprint.util.platform", false]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity", false]], "octoprintclient() (class)": [[57, "OctoPrintClient", false]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax", false]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData", false]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login", false]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout", false]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin", false]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect", false]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect", false]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck", false]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings", false]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls", false]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode", false]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript", false]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters", false]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters", false]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException", false]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred", false]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete", false]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download", false]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy", false]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder", false]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete", false]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download", false]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath", false]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get", false]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list", false]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation", false]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move", false]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry", false]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select", false]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice", false]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload", false]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get", false]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl", false]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl", false]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie", false]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders", false]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl", false]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery", false]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError", false]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand", false]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel", false]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get", false]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause", false]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart", false]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume", false]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start", false]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause", false]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete", false]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list", false]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload", false]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options", false]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch", false]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson", false]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins", false]], "octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate", false]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision", false]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide", false]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey", false]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys", false]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey", false]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys", false]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe", false]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request", false]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser", false]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey", false]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp", false]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog", false]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog", false]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs", false]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post", false]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson", false]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude", false]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState", false]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState", false]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState", false]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState", false]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState", false]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home", false]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd", false]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog", false]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd", false]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd", false]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool", false]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature", false]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset", false]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature", false]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset", false]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate", false]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate", false]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures", false]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets", false]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add", false]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete", false]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get", false]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list", false]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update", false]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put", false]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson", false]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent", false]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey", false]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get", false]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings", false]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save", false]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings", false]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand", false]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet", false]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer", false]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer", false]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer", false]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles", false]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer", false]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer", false]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect", false]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate", false]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect", false]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate", false]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage", false]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh", false]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow", false]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options", false]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect", false]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage", false]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth", false]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage", false]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand", false]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands", false]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource", false]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete", false]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered", false]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download", false]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get", false]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig", false]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list", false]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered", false]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered", false]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered", false]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig", false]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload", false]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add", false]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword", false]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete", false]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey", false]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get", false]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings", false]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list", false]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey", false]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings", false]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update", false]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test", false]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable", false]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath", false]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution", false]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer", false]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl", false]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish", false]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get", false]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext", false]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands", false]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest", false]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse", false]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider", false]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin", false]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands", false]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface", false]], "off (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.off", false]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off", false]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup", false]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command", false]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get", false]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event", false]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish", false]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call", false]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr", false]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout", false]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled", false]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled", false]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall", false]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress", false]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log", false]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message", false]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature", false]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message", false]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data", false]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data", false]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup", false]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized", false]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load", false]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate", false]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save", false]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown", false]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress", false]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup", false]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render", false]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish", false]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck", false]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig", false]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options", false]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options", false]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin", false]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange", false]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order", false]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin", false]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path", false]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY", false]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter", false]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata", false]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx", false]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch", false]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage", false]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage", false]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk", false]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk", false]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory", false]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix", false]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause", false]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print", false]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers", false]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands", false]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation", false]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator", false]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator", false]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager", false]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin", false]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks", false]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager", false]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager", false]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings", false]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver", false]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist", false]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig", false]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo", false]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager", false]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins", false]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins", false]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins", false]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig", false]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings", false]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings", false]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched", false]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port", false]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port", false]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port", false]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback", false]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader", false]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport", false]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait", false]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post", false]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll", false]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp", false]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive", false]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache", false]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig", false]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment", false]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback", false]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader", false]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare", false]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue", false]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory", false]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation", false]], "printer_factory_hook()": [[92, "printer_factory_hook", false]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback", false]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface", false]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters", false]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig", false]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager", false]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles", false]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles", false]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig", false]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing", false]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation", false]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime", false]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig", false]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy", false]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line", false]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile", false]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists", false]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException", false]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles", false]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified", false]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin", false]], "protocol_action_hook()": [[92, "protocol_action_hook", false]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook", false]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook", false]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook", false]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook", false]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put", false]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put", false]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat", false]], "pythoneolcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pythonEolCheck", false]], "pythoneolcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig", false]], "pythoneolentry (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolEntry", false]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry", false]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum", false]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable", false]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable", false]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook", false]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR", false]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red", false]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado", false]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex", false]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex", false]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback", false]], "register_custom_events_hook()": [[92, "register_custom_events_hook", false]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver", false]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers", false]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins", false]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers", false]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin", false]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin", false]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder", false]], "remotegroupsheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsHeader", false]], "remotegroupsmapping (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsMapping", false]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader", false]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove", false]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata", false]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata", false]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file", false]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file", false]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder", false]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder", false]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler", false]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link", false]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link", false]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay", false]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay", false]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback", false]], "renderafterprint (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.renderAfterPrint", false]], "renderafterprintenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum", false]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer", false]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp", false]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin", false]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently", false]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with", false]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login", false]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with", false]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk", false]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart", false]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold", false]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer", false]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path", false]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin", false]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin", false]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access", false]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume", false]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print", false]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop", false]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy", false]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig", false]], "reverseproxyinfo (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.ReverseProxyInfo", false]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90", false]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route", false]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run", false]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run", false]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server", false]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt", false]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum", false]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt", false]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite", false]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum", false]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize", false]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize", false]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name", false]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name", false]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path", false]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path", false]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders", false]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools", false]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save", false]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save", false]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save", false]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save", false]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save", false]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile", false]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session", false]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile", false]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError", false]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript", false]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback", false]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader", false]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script", false]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script", false]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts", false]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts", false]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig", false]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook", false]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable", false]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand", false]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase", false]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath", false]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus", false]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport", false]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport", false]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey", false]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure", false]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable", false]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable", false]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards", false]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file", false]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback", false]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message", false]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically", false]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter", false]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands", false]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError", false]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial", false]], "serial_factory_hook()": [[92, "serial_factory_hook", false]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities", false]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig", false]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize", false]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts", false]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig", false]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server", false]], "server_bodysize_hook()": [[92, "server_bodysize_hook", false]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name", false]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options", false]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port", false]], "server_route_hook()": [[92, "server_route_hook", false]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig", false]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback", false]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader", false]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand", false]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set", false]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set", false]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set", false]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata", false]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata", false]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean", false]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec", false]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie", false]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option", false]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers", false]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile", false]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers", false]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float", false]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler", false]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int", false]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold", false]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature", false]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset", false]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder", false]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean", false]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat", false]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt", false]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings", false]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings", false]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings", false]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings", false]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings", false]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater", false]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin", false]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie", false]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso", false]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename", false]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation", false]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin", false]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar", false]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar", false]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin", false]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine", false]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice", false]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer", false]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer", false]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException", false]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured", false]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin", false]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing", false]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled", false]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled", false]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig", false]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException", false]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager", false]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile", false]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles", false]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider", false]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot", false]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay", false]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation", false]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout", false]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam", false]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets", false]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout", false]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin", false]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order", false]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path", false]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path", false]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix", false]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold", false]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options", false]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print", false]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode", false]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin", false]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler", false]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler", false]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil", false]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step", false]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface", false]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream", false]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream", false]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get", false]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio", false]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout", false]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers", false]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper", false]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict", false]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet", false]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum", false]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions", false]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum", false]], "success (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.success", false]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand", false]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk", false]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait", false]], "suppresssecondhello (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.suppressSecondHello", false]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend", false]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system", false]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system", false]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig", false]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler", false]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand", false]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand", false]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab", false]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab", false]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot", false]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature", false]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature", false]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport", false]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig", false]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph", false]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile", false]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet", false]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template", false]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin", false]], "templatetype_hook()": [[92, "templatetype_hook", false]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile", false]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry", false]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters", false]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize", false]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession", false]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio", false]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines", false]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio", false]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed", false]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse", false]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse", false]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook", false]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp", false]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig", false]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled", false]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions", false]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum", false]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout", false]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout", false]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes", false]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str", false]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str", false]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode", false]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print", false]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations", false]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29", false]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication", false]], "trustedproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedProxies", false]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets", false]], "trustlocalhostproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustLocalhostProxies", false]], "trustremotegroups (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteGroups", false]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser", false]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl", false]], "ttl (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.ttl", false]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type", false]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type", false]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue", false]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue", false]], "ui_theming_hook()": [[92, "ui_theming_hook", false]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin", false]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck", false]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile", false]], "unknownrole": [[76, "octoprint.access.users.UnknownRole", false]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer", false]], "unknownuser": [[76, "octoprint.access.users.UnknownUser", false]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload", false]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback", false]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver", false]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file", false]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until", false]], "update_config_hook()": [[33, "update_config_hook", false]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation", false]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads", false]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads", false]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig", false]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler", false]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url", false]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url", false]], "url (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.url", false]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler", false]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState", false]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround", false]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User", false]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook", false]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists", false]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile", false]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager", false]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings", false]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings", false]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes", false]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues", false]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex", false]], "valid_heater_regex_no_current (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex_no_current", false]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex", false]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate", false]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect", false]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange", false]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values", false]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated", false]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation", false]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version", false]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical", false]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet", false]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd", false]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect", false]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList", false]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn", false]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings", false]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning", false]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched", false]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark", false]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets", false]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam", false]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam", false]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility", false]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig", false]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled", false]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin", false]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler", false]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui", false]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard", false]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard", false]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin", false]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable", false]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable", false]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer", false]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow", false]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange", false]]}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 10, 1, "", "LocalCliUser"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 13, 1, "", "detector"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 13, 1, "", "content_type"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [95, 10, 1, "", "MfaPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.MfaPlugin": [[95, 12, 1, "", "has_mfa_credentials"], [95, 12, 1, "", "is_mfa_enabled"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"], [95, 12, 1, "", "is_template_autoescaped"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "flags"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_heater_regex_no_current"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteGroupsHeader"], [82, 13, 1, "", "remoteGroupsMapping"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteGroups"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "flags"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "suppressSecondHello"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "PythonEolCheckConfig"], [82, 10, 1, "", "PythonEolEntry"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.PythonEolCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "fallback"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PythonEolEntry": [[82, 13, 1, "", "date"], [82, 13, 1, "", "last_octoprint"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustLocalhostProxies"], [82, 13, 1, "", "trustedProxies"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "pythonEolCheck"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "RenderAfterPrintEnum"], [82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.RenderAfterPrintEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "failure"], [82, 13, 1, "", "off"], [82, 13, 1, "", "success"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "renderAfterPrint"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "get_api_key"], [83, 8, 1, "", "get_user_for_apikey"], [83, 8, 1, "", "get_user_for_authorization_header"], [83, 8, 1, "", "get_user_for_remote_user_header"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "ReverseProxyInfo"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.ReverseProxyInfo": [[83, 13, 1, "", "model_computed_fields"], [83, 13, 1, "", "model_config"], [83, 13, 1, "", "model_fields"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "terms": {"": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "000000": 3, "00m": 92, "01": [37, 46, 82, 90], "01378": 9, "02": [9, 31, 92, 95], "02mm": 9, "03": 92, "032": 9, "05": [9, 17, 82], "058": 90, "06": [82, 90], "082": 9, "09": 92, "0rc": 41, "0rc1": [41, 96], "0rc2": 41, "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 47, 51, 66, 70, 82, 84, 85, 90, 92, 95], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "10000": 92, "10000k": 82, "100kb": [37, 82, 92], "101": [9, 90], "1024": [39, 92], "102400": [37, 82], "1024kb": 92, "105": [9, 46], "107": 9, "1073741824": [37, 82], "1094933": 86, "10mm": [9, 51, 66], "11": [22, 26, 34, 37, 42, 82, 83, 86, 90, 92, 95], "110": 46, "1107": 82, "1123": 9, "115": 46, "115200": [1, 37, 92], "1188": 3, "12": [47, 95], "122": 90, "12237201408": 31, "1234": [3, 25, 74], "123456": 37, "124": 90, "125": 9, "127": [37, 48, 74, 82, 88, 92], "128": [48, 82], "13": [42, 55, 70, 90], "132": 90, "13205": 31, "1334": 3, "134": 90, "135": 90, "1378847754": [3, 6], "1387144346": 3, "1392628936": 31, "1393158814": 31, "1395651926": 9, "1395651928": 9, "14": 90, "140": 95, "14159430": 90, "1440": [32, 33, 82], "1468987": [3, 6], "1470859680": 7, "1474574597": 7, "15": [3, 37, 82], "150": [10, 33], "15min": 34, "16": [17, 33, 82, 92], "168": [17, 37, 48, 82], "17": [31, 90, 95, 96], "174": 9, "178": 92, "1798419": 31, "18": [90, 92], "180": [37, 82], "19": 90, "192": [17, 37, 48, 82], "19200": 1, "19302": 82, "199": 17, "1gb": [37, 82], "1px": 90, "1st": 96, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "200mb": [37, 82], "201": [3, 14, 23], "2013": [29, 35, 48], "2014": 31, "2015": [90, 95], "2016": [42, 92], "2018": 92, "2019": 42, "202": [3, 23], "2020": 96, "2020083": 86, "2023": [82, 90], "2024": 82, "2028598": [86, 90], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "205": [9, 66], "2097152": [37, 39], "20971520": 37, "209715200": [37, 82], "20mb": 37, "20mm": [3, 10], "21": [10, 46, 92, 95], "210": [37, 82, 92], "212": 9, "213": 92, "214": 9, "216": 92, "217": 92, "219": 92, "220": [9, 46, 66, 92], "221": 9, "2298468264184775": 6, "23": [3, 40, 46, 48, 92, 95], "230": 92, "230400": 1, "232": 92, "234": 92, "2342": 95, "24": [37, 82, 89, 92], "242": 92, "243": 92, "246": 3, "24h": 33, "25": [9, 10, 37, 82, 92], "250000": [1, 84], "252": 9, "253": 9, "255": [37, 48, 51, 82], "25mm": 10, "263": 3, "27": [46, 82], "276": 6, "286": 9, "29": 92, "299": 17, "2f": 46, "2fa": 95, "2gb": 3, "2h": 92, "2mb": 37, "2mm": 66, "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "30": [37, 82, 86, 90], "300": [10, 17, 22, 37, 83, 92], "3000": 51, "3000mm": 51, "302": 83, "31": [82, 90, 92], "312464": 86, "32": 9, "33": 90, "337942": 6, "34": [46, 90], "342": 92, "3482": [37, 82], "349182": 83, "35": 90, "355": 92, "357": 92, "358": 92, "36": [3, 6, 90], "360": [32, 33], "3785": 9, "38": [90, 92], "38400": 1, "399": 17, "3d": 56, "3df4550c": 42, "3mm": 9, "3rd": 11, "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "40": [70, 95], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "401": 4, "403": [0, 4, 13, 31, 83], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "409": [0, 3, 6, 9, 10], "41": 90, "411": 9, "415": 3, "42": [40, 48, 90], "43": [46, 90], "430": 3, "43712": 31, "443": 25, "45": 92, "46": 90, "47": 90, "48": 90, "49": 9, "494": 9, "496c": 42, "499": 17, "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "50": [9, 66, 82, 92], "500": [3, 15, 17, 44, 83, 92], "5000": [37, 82, 84], "5000k": 37, "5001": 88, "500m": [11, 70], "500mb": [37, 82], "5088147346030592": [37, 82], "512": 83, "522": 9, "524288000": 82, "53": [17, 37, 74, 82, 90], "54": 90, "54089": 9, "552": 92, "553": 92, "555": 92, "556": 92, "558": 92, "5633521622188032": [37, 82], "57": 40, "57600": 1, "5987": [3, 4], "599": 17, "5mm": [9, 66], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "60": [37, 82, 86, 92], "6000": 10, "600px": 90, "634": 90, "63488000": 37, "64": 46, "69": [9, 90], "6h": 33, "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "70": 9, "731": 9, "748": 9, "75": [3, 9], "779": 9, "786": 90, "792": 90, "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "808080": 90, "8081": 4, "810": [3, 6], "818": 90, "83763": 9, "85": 9, "85a134": 90, "8601": 47, "861": 92, "866": 9, "868": 9, "87": 9, "8811": 6, "8821": 9, "8859": 4, "8963": 9, "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "90": [37, 66, 82], "900": 82, "91": 9, "912": 6, "92338": 9, "93": 9, "95": 9, "96": 9, "9600": 1, "97566": 9, "98": 9, "9946": 9, "997": 90, "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "And": [33, 46, 48, 92], "As": [24, 34, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "At": [23, 44, 57, 78], "Be": [82, 92], "But": [40, 90], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 34, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "Its": 56, "NO": 47, "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "OR": 57, "Of": [90, 95], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "Or": [2, 48], "Such": 49, "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 95, 96], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "Their": [92, 97], "Then": [42, 48, 90, 92, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "These": [20, 37, 42, 51, 52, 82, 88, 95], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "WILL": 81, "Will": [0, 4, 7, 9, 10, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "With": [11, 52, 55, 85, 96], "_": [61, 62, 80, 90, 91, 92, 95], "_1st": 95, "_2nd": 95, "__call__": 83, "__currentz": 47, "__data": 47, "__doc__": 86, "__eventnam": 47, "__fields__": [82, 83], "__filenam": 47, "__fileorigin": 47, "__filepath": 47, "__future__": [95, 96], "__init": 89, "__init__": [90, 92, 95, 96], "__name__": [88, 91, 92], "__now": 47, "__overlay__": 84, "__plugin_author__": [88, 90], "__plugin_check__": 88, "__plugin_description__": [88, 90, 92], "__plugin_disable__": 88, "__plugin_enable__": 88, "__plugin_helpers__": 91, "__plugin_hooks__": [24, 32, 33, 88, 92], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_license__": [88, 90], "__plugin_load__": [88, 91, 92], "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_privacypolicy__": 88, "__plugin_pycompat__": 96, "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_settings_overlay__": 88, "__plugin_unload__": 88, "__plugin_url__": [88, 90], "__plugin_version__": [88, 90, 92, 94], "__progress": 47, "_about": 95, "_after_": 90, "_analysi": 85, "_analysis_queu": [79, 80, 94], "_app_session_manag": [79, 80], "_apply_xhead": 83, "_async": 86, "_awesometempl": 92, "_basefold": [79, 80, 94], "_build": 42, "_cancel": 85, "_changest": 92, "_config": 95, "_config_vers": 95, "_connectivity_check": [77, 79, 80, 94], "_core": 7, "_current": 78, "_data_fold": [79, 80], "_datafold": 94, "_default": [1, 10, 37, 82], "_detectport": 92, "_disabl": [37, 82], "_div": 92, "_do_abort": [78, 79], "_do_analysi": [78, 79], "_environment_detector": 77, "_error": 85, "_errorvalu": 92, "_event_bu": [77, 79, 80, 94], "_file_manag": [79, 80, 94], "_flag": 82, "_forcedcompat": [37, 82, 96], "_gcode_hook": 92, "_gcodescript_hook": 92, "_get_free_remote_nam": 92, "_gntp": 91, "_handled_error": 92, "_httprequestcontext": 83, "_identifi": [77, 79, 80, 94], "_import": 22, "_is_external_cli": 4, "_log": 92, "_logger": [77, 79, 80, 90, 92, 94, 95], "_mfa_login": 95, "_navbar": 95, "_not_": 83, "_plugin_": [92, 95], "_plugin_info": 94, "_plugin_lifecycle_manag": [79, 80], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "_plugin_nam": [33, 79, 80, 94], "_plugin_vers": [33, 79, 80, 94], "_pluginmanag": 92, "_printer": [79, 80, 94], "_printer_profile_manag": [79, 80, 94], "_process_multipart_data": 83, "_progress": [85, 95], "_r": 4, "_refresh": 95, "_register_growl": 91, "_server_request_loop": 83, "_set": [77, 90, 91, 92, 94, 95], "_sidebar": 95, "_size": 92, "_slicing_manag": [79, 80, 94], "_someservic": 25, "_sortingord": [37, 82], "_strip": 92, "_tab": 95, "_tcp": 91, "_user_manag": [79, 80, 94], "_userset": 95, "_usersettings_mfa": 95, "_webcam": 95, "_wizard": 95, "a1": 86, "a189": 42, "a2": 86, "a4ut": 3, "a_list": 40, "a_turtle_turtl": 2, "aabbccddee1234523452345": 48, "ab": [37, 82], "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "abcdef1234567890": 23, "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "abort": [21, 23, 50, 78, 92, 95], "abortheatuponcancel": [79, 82], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "abridg": [3, 14], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "absolute_import": [95, 96], "absolute_path": 78, "abspath": 83, "abstract": 81, "abstractanalysisqueu": [78, 79, 92], "abstractfilewrapp": [78, 79, 92], "abus": [49, 81], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "access_control": 82, "access_valid": [83, 93], "access_validation_factori": [79, 83], "access_validator_hook": 92, "accesscontrol": [13, 37, 48, 79, 82, 93], "accesscontrolconfig": [79, 82], "accessviewmodel": 92, "accident": [51, 82], "accord": [33, 37, 47, 85, 90], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "accumul": 11, "accur": 47, "accuraci": [37, 82], "achiev": [9, 34, 37, 48, 89, 90, 96, 97], "ackmax": [79, 82], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "acl": 97, "acl_keyvalidator_hook": 92, "acquir": 81, "across": [16, 40, 46, 58, 97], "acryl": [37, 82], "act": [22, 33, 37, 82, 90, 92, 97], "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 83, 85, 86, 93], "action_command_notif": 20, "action_command_prompt": [13, 21], "action_custom": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "actionconfig": [79, 82], "activ": [0, 2, 3, 4, 6, 9, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "ad": [4, 9, 10, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 47, 48, 49, 50, 51, 54, 55, 57, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "adapt": [8, 65, 78, 86], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "add_fil": [78, 79], "add_fold": [78, 79], "add_link": [78, 79], "add_overlai": [79, 80, 84], "add_path_update_callback": [79, 84], "add_templatetyp": 92, "add_tornado_rout": 92, "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "additional_bundle_fil": 93, "additional_bundle_files_hook": 92, "additional_command": 93, "additional_commands_hook": 92, "additional_exclud": 93, "additional_excludes_hook": 24, "additional_permissions_hook": 92, "additional_port_nam": 93, "additional_port_names_hook": 92, "additional_setup_paramet": 90, "additional_state_data": [11, 93], "additional_state_data_hook": 92, "additional_valid": 80, "additionalbaudr": [37, 79, 82], "additionalclass": [51, 79, 82], "additionalnam": 97, "additionalport": [37, 79, 82], "addprofileforslic": [62, 69], "addremoteus": [37, 79, 82], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "adher": [24, 41, 42, 45], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "admin_group": 92, "admin_onli": 95, "administr": [23, 42, 48, 90, 92, 95], "advanc": [52, 89, 90], "advent": 55, "advis": [4, 37, 81, 82, 92], "affect": [4, 32, 83, 96], "affero": 56, "after": [2, 3, 6, 9, 11, 16, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "after_backup": 93, "after_backup_hook": 24, "after_load": 80, "after_request": [83, 93], "after_request_handlers_hook": 92, "after_restor": 93, "after_restore_hook": 24, "afterprintcancel": [37, 52, 79, 82], "afterprintdon": [37, 52, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "afterprintpaus": [37, 52, 92], "afterprintresum": [79, 82], "aftertoolchang": [52, 79, 82], "afterward": 92, "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "agent": 95, "agnost": 42, "agplv3": 90, "aim": 96, "ain": 96, "ajax": [4, 37, 57, 62, 82], "ajaxwithdata": [57, 62], "aka": [37, 40], "albeit": 83, "alert": [47, 95], "alex": 29, "alia": [78, 82], "alias_prior": 82, "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "all_asset": 95, "all_profil": [79, 85], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "allow_client_cach": 83, "allow_create_dir": 17, "allow_fallback": 84, "allow_from_autoenv": 77, "allow_overwrit": [78, 85, 92, 95], "allow_root": 77, "allowcrossorigin": [4, 37, 79, 82], "allowed_path": 83, "allowedloginredirectpath": [79, 82], "allowfram": [37, 79, 82], "allviewmodel": 97, "almost": 48, "alon": [48, 95], "along": [3, 78], "alongsid": 33, "alphabet": 95, "alpn": 83, "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "already_defin": 92, "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "although": 80, "altogeth": 95, "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "always_curr": 33, "alwaysdetectneverenum": [79, 82], "alwayssendchecksum": [37, 79, 82], "ambient": 46, "ambienttemperatur": 46, "amd": 57, "among": [10, 37, 77, 81, 82, 86, 92, 94, 95], "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "analogu": 92, "analys": [78, 92], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "analysis_backlog": [78, 79], "analysis_queu": 92, "analysis_queue_factory_hook": 92, "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "analyz": [78, 94], "and_a_subfold": 3, "android": 95, "anew": 81, "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "anim": [37, 82], "annot": [82, 83, 92], "announc": [13, 30, 56], "annoyingli": 96, "anonym": [4, 30, 33, 48, 56, 83, 95], "anonymousus": [76, 79], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "anotherkei": 40, "anotherorderedhook": 92, "anotherplugin": 96, "ansi": 86, "anyhow": 96, "anymor": [3, 9, 55, 90, 92], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "anywai": 14, "anywher": 2, "apach": [37, 82], "apart": [78, 90], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "api_endpoint": 92, "api_kei": 23, "api_password": 33, "api_us": 33, "apiconfig": [79, 82], "apikei": [0, 2, 4, 11, 57, 58, 62, 70, 76, 83, 92], "apikey1": 62, "apikey2": 62, "app": [4, 23, 33, 37, 42, 62, 83, 97], "app_id": 23, "app_token": 23, "appar": 55, "appdata": [37, 39, 51, 52, 54, 55, 84, 89, 90], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "appearanceconfig": [79, 82], "appearanceviewmodel": 97, "append": [9, 36, 37, 57, 83, 90, 92, 95], "append_valu": 36, "appkei": [23, 82, 95], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "appropri": 95, "approxim": [2, 48], "apt": 42, "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "arbitrari": [5, 47, 60, 80, 92, 95], "architectur": 57, "archiv": [32, 33, 54, 90], "area": [2, 10, 46, 78], "aren": [51, 52], "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 83, 84, 85, 86, 88, 90, 92, 95], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "around": [33, 37, 51, 81, 82, 90, 95], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "articl": 90, "artifact": 42, "as_attach": [83, 92], "as_dict": 76, "ascend": 80, "ascii": [2, 37, 82, 86], "asctim": 39, "asdict": [76, 79, 80], "ask": [23, 82], "aspect": [48, 82], "assembl": 62, "assert": [95, 96], "assertionerror": 86, "asset": [37, 62, 82, 90, 94, 95], "asset_plugin": 95, "asset_url": 62, "assetplugin": [90, 93], "assign": [0, 2, 4, 33, 48, 57, 61, 80, 92], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "ast": 80, "async": [15, 37, 82, 83, 92], "async_": [79, 82], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "asynchttpcli": 83, "at_end": [80, 84], "atcommand": [50, 93], "atom": 22, "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "attachment_nam": 83, "attack": 4, "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 83, 88, 92, 97], "attent": 96, "attr": [77, 90], "attr_author": 80, "attr_check": 80, "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "attr_vers": 80, "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "auth_dialog": 23, "authent": [4, 9, 11, 17, 23, 33, 37, 47, 48, 57, 58, 82, 83, 92, 95], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "autoconnect": [1, 37, 59, 79, 81, 82], "autodetect": [1, 24, 37, 47, 82, 92], "autoescap": 95, "autogener": 25, "autologin": [53, 82], "autologina": [37, 48, 79, 82], "autologinheadsupacknowledg": [79, 82], "autologinloc": [37, 48, 79, 82], "automat": [1, 3, 9, 16, 23, 24, 33, 34, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "autoreport": [37, 82], "autoreport_po": [46, 79, 82], "autoreport_sd_statu": 46, "autoreport_sdstatu": [79, 82], "autoreport_temp": [37, 46, 79, 82], "autouppercaseblacklist": [37, 79, 82], "avahi": 25, "avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "averag": [2, 37, 82], "averageprinttim": 2, "avoid": [33, 42, 48, 92, 96], "awai": [81, 84, 87], "awar": [83, 87, 92], "awesom": [23, 90, 92, 95], "awesometempl": 92, "awk": 48, "ax": [9, 10, 51, 66, 81], "axi": [9, 10, 11, 51, 66, 78, 81], "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "babel": 90, "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "backend": [9, 83, 90, 92, 95], "background": [3, 11, 90, 96], "backslash": 40, "backup": [30, 39, 48, 56, 79, 84, 93, 96], "backupcount": 39, "backupexcludetestplugin": 24, "backupplugin": 24, "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "band": 82, "bandwidth": [3, 83], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "base64": [17, 74], "basedir": [77, 84], "basedon": [10, 67], "basefold": [78, 80, 95], "basemodel": [79, 82], "basenam": [83, 92], "baseurl": [37, 57, 58, 62, 70], "bash": 42, "basic": [3, 4, 11, 17, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "basicauth": 17, "bat": 96, "batch": 82, "baud": [37, 47, 82], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "baudratedetectionpaus": [79, 82], "baudrateopt": 13, "baudrateprefer": [1, 81], "bclpr": [37, 82], "bcml": 3, "bearer": [4, 17, 83], "bearerauth": 17, "becam": [55, 86], "becaus": [37, 40, 62, 82, 83, 95], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "bedformfactor": [79, 81], "bedlevelvisu": 32, "bedorigin": [79, 81], "bedz": [79, 82], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "before_backup": 93, "before_backup_hook": 24, "before_import": 80, "before_load": 80, "before_request": [83, 93], "before_request_handlers_hook": 92, "before_restor": 93, "before_restore_hook": 24, "beforeprinterdisconnect": [52, 79, 82], "beforeprintpaus": [79, 82], "beforeprintresum": [37, 52], "beforeprintstart": [37, 52, 79, 82, 92], "beforetoolchang": [52, 79, 82], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "behalf": [23, 92], "behav": [95, 96], "behavior": 46, "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 80, 82, 90, 92, 95, 96], "behind": [36, 37, 82, 90, 92], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "belong": [23, 33, 85, 90, 95], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "benchi": 48, "beneath": [92, 95], "benefit": 48, "besid": [9, 89, 90], "best": [24, 81, 90, 92, 96], "beta": [13, 89], "better": [34, 37, 40, 90], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "big": [41, 95], "bigger": 90, "biggest": 96, "bin": [42, 54, 55, 89, 90, 96], "binari": [37, 42, 57, 82, 90, 95, 96], "bind": [37, 82, 90, 95, 97], "bit": [33, 37, 40, 48, 90, 96], "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_password": 33, "bitbucket_us": 33, "bitrat": [37, 79, 82], "black": [10, 13], "blacklist": [17, 37, 79, 80, 82, 86], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "blame": 42, "bleed": [33, 41], "blindli": [83, 95, 96], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "blockedcommand": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "blown": [23, 51, 52, 82], "blue": [10, 37, 79, 82], "blueprint": [57, 83, 92, 95], "blueprintplugin": [57, 92, 93], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "body_method": [79, 83], "bodys": 93, "bodysize_hook": 92, "bodysizeplugin": 92, "boil": 95, "bold": 95, "bom": 86, "bonjour": 25, "book": 96, "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "border": 90, "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "bottom": [51, 82, 86], "bottom_layer_spe": 14, "bottom_thick": 14, "bound": [2, 10, 78, 81, 90, 95, 97], "boundari": [3, 81], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "bracket": 40, "branch": [11, 33, 43, 45, 54, 56, 89, 95], "break": [40, 41, 45, 48, 95], "brew": 42, "brim_line_count": 14, "broader": 17, "broken": 46, "brokenm29": 46, "brows": [25, 42, 91], "browse_result": 91, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "browsing_en": 91, "btn": [51, 82, 90], "btw": 96, "bu": [92, 94, 95], "buffer": [46, 83], "buffer_s": 86, "bug": [4, 9, 26, 41, 42, 45, 54, 55], "bug_report": 90, "bugfix": 41, "buggi": [37, 82], "build": [37, 43, 52, 78, 90, 97], "build_don": [79, 83], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "bulk_opt": [77, 79], "bunch": [87, 90, 94, 95], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "bundled_str": 80, "buon": 92, "busi": [3, 37, 46, 82], "bust": 82, "busy_protocol": [37, 79, 82], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 95, 97], "bypass": 48, "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "bytesio": 83, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "c3": 3, "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "cache_ttl": 33, "cachebust": [79, 82], "calcul": [2, 37, 82, 83, 86, 95, 96], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "call_plugin": [79, 80], "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "callback_arg": 85, "callback_kwarg": 85, "calle": 85, "caller": [86, 92], "camel_cas": 92, "camera": [92, 95], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "can_modify_fil": [79, 81], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "cancel_fanspe": 52, "cancel_posit": 52, "cancel_print": [79, 81], "cancel_sd": 46, "cancel_sl": [79, 85, 95], "cancel_temperatur": 52, "candid": [26, 29, 33, 34, 92], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "cannotstartserverexcept": [79, 83], "canon": [57, 86], "canonic": [78, 79], "cansnapshot": [79, 82], "cap": 11, "capability_report": 93, "capabl": [37, 46, 79, 82, 93], "capit": 52, "capitan": 42, "captur": [37, 47, 82, 93], "capture_post_hook": 92, "capture_pre_hook": 92, "capturedon": 47, "capturefail": 47, "capturepostrol": [37, 79, 82], "capturestart": 47, "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "carri": 47, "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "caseinsensitiveset": [79, 84, 86], "catch": 81, "categori": 92, "caught": [47, 80], "caus": [26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "caution": [37, 48, 82], "ccm": 81, "cd": [42, 90], "celsiu": [52, 81], "center": [3, 10, 79, 81, 85, 95], "center_i": 51, "center_x": 51, "central": [48, 80], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "certainli": [48, 90], "certif": [82, 83], "cfg": 90, "chamber": [5, 10, 46, 66, 81], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "change_tool": [79, 81], "changeabl": 2, "changelog": [13, 82], "changepassword": [62, 73], "channel": [22, 26, 33, 41, 89], "channel_ord": 22, "chapter": 96, "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "charliermarsh": 42, "charset": [4, 83], "chart": 47, "chartmark": 47, "cheat": 96, "cheatsheet": 4, "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "check_access": [17, 74], "check_config": [88, 93], "check_lastmodifi": [79, 83], "check_origin": 83, "check_overlay_ttl": 33, "check_overlay_url": 33, "check_typ": [17, 74], "check_writ": 84, "check_writable_dir": 17, "checkbasefold": [79, 84], "checkbasicauthenticationpassword": [37, 79, 82], "checkbox": 4, "checkdecis": 23, "checked_cal": [79, 86], "checker": [33, 94], "checklist": 93, "checkout": [33, 42, 90], "checkout_fold": 33, "checksum": [37, 46, 82], "checksum_mismatch": 46, "checksumrequiringcommand": [37, 79, 82], "checktyp": 17, "child": [61, 78, 86], "children": [2, 3, 37, 51, 61, 78, 79, 82], "choic": [21, 39], "choos": 21, "chosen": [6, 40], "chromestatu": [37, 82], "chunk": [79, 83, 86], "ci": [34, 41], "cidr": [17, 37, 82], "circular": [10, 79, 81, 97], "circumst": [24, 92], "circumv": 87, "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "classes_cont": 95, "classes_link": 95, "classes_wrapp": 95, "classic": 82, "classicwebcam": 95, "classmethod": [81, 83, 95], "classvar": [82, 83], "claus": 24, "clean": [42, 86, 88, 95], "clean_ansi": [79, 86], "clean_on_startup": [37, 79, 82], "cleanedprinttim": 92, "cleaner": 90, "cleanli": 95, "cleantmpafterdai": [37, 79, 82], "cleanup": 83, "clear": [20, 49, 90, 92], "clearer": 40, "cli": [24, 38, 56, 79, 83, 93], "cli_commands_hook": 92, "cli_group": 92, "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "client1": 62, "client2": 62, "client_error": 17, "client_ip": 83, "clientauth": 47, "clientclass": 57, "clientclos": 47, "clientj": 95, "clientopen": 47, "clitest_command": 92, "clockwis": [37, 82], "clone": [42, 90], "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "close_exec": 86, "close_fd": [79, 86], "closed_with_error": 81, "closedorerror": [2, 9, 81], "closemodalswithclick": [79, 82], "closer": 51, "cloud": 95, "cloudflar": 82, "clumsi": 6, "cmd": [42, 88, 92], "cmd_name": 77, "cmd_type": [88, 92], "cm\u00b3": [2, 78], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "code_or_except": 95, "codeactionsonsav": 42, "codec": [37, 82], "collect": [10, 40, 77, 90, 95, 96, 97], "colon": 40, "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "colorenum": [79, 82], "coloricon": [79, 82], "colortranspar": [37, 79, 82], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "combin": [24, 48, 83, 92, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "comm": [49, 50, 88, 93], "comm_error_handler_test": 92, "comm_inst": [88, 92], "comma": [9, 66], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "command1": 95, "command2": 95, "command_lin": 33, "command_phas": 92, "commandbuff": 46, "commandlin": [42, 56, 79], "commandlinecal": [79, 86], "commandlineerror": [79, 86], "commandsconfig": [79, 82], "commandsuppress": 47, "comment": [40, 49, 92], "commentstripp": 92, "commerror": 34, "commit": [33, 41, 42, 45], "commitish": 33, "common": [5, 34, 40, 48, 52, 56, 80, 91, 93], "commonli": 86, "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "communicationbusi": [37, 79, 82], "compact": 90, "compar": [33, 83, 86, 92, 96], "comparison": 33, "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "compatibility_entri": 86, "compatibility_ignored_list": 80, "compens": [37, 82], "compil": [37, 81, 82, 90], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "complex": [40, 51, 90], "complianc": 26, "complic": [21, 90], "compon": [9, 13, 33, 37, 39, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "comprehens": 96, "comprehensive_json": 86, "compress": [83, 86], "compromis": 48, "comput": [82, 83, 97], "computation": 92, "compute_etag": [79, 83], "computedfieldinfo": [82, 83], "concaten": [77, 78, 80, 97], "concept": [45, 56, 84, 93], "concern": [37, 45], "concurr": [57, 86], "condit": [46, 86], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "config_hash": [11, 79, 84], "config_version_kei": 95, "config_yaml": [79, 84], "configdict": [82, 83], "configfil": [77, 84], "configur": [1, 2, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "configured_slic": [79, 85], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "confirmation_prompt": 77, "conflict": [0, 3, 6, 9, 10], "conform": [82, 83], "confus": [40, 90, 96], "congratul": 90, "conjunct": 95, "conn": 83, "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "connection_str": 81, "connection_timeout": 92, "connectionviewmodel": 97, "connectivitychang": 47, "connectivitycheck": [80, 94], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "consequ": [9, 47], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "console_log": 92, "const": 70, "construct": [4, 25, 78, 80, 84, 92, 95, 97], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "consum": [37, 56, 92], "consumpt": [11, 14, 89], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "containerconfig": [79, 82], "containerformat": 82, "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "content_typ": [78, 79, 83, 92], "content_type_blacklist": 17, "content_type_whitelist": 17, "contenttyp": 57, "contenttypedetector": [78, 79], "contenttypemap": [78, 79], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "contextmanag": 81, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "contract": [45, 92], "contrari": [50, 57], "contribut": 43, "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "controlviewmodel": [51, 82, 97], "convei": [37, 82], "conveni": [23, 80, 84, 90], "convent": 90, "convers": [80, 84, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "conveyor": 47, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "cookie_suffix": 83, "cookiecutt": [89, 90], "cookiesconfig": [79, 82], "cool": [10, 47, 51], "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "copy_fil": [78, 79], "copy_fold": [78, 79], "cor": [4, 83, 92], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "corner": [32, 33, 81, 90], "coroutin": 83, "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "correctli": [33, 37, 48, 52, 55, 82], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 82, 83, 86, 92, 95, 96], "correspondingli": 87, "corruptuserstorag": [76, 79], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "corssupportmixin": [79, 83, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "couldnotdeleteprofil": 85, "couldnotoverwriteerror": [79, 81], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "countdown": 33, "counter": [37, 82, 86], "counterpart": 83, "coupl": [37, 41, 70, 90], "cours": [90, 92, 95], "cover": 66, "cp": 48, "cpu": 95, "creat": [2, 4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "create_backup_help": 24, "create_estimator_factori": 92, "create_plugin_setup_paramet": 90, "createcustomexcept": [57, 62], "createfold": [61, 62], "createrejecteddef": [57, 62], "creation": [3, 16, 17, 24, 49, 61, 83, 85], "credenti": [0, 4, 23, 58, 83, 95], "crf": 83, "criteria": [74, 92], "critic": [37, 47, 79, 82], "cronjob": 24, "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "csrf_exempt": 95, "csrf_token": 4, "csrf_token_p": 4, "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "css": [37, 42, 79, 82, 92, 93, 95], "ctrl": 42, "ctx": [77, 83, 92], "culprit": 55, "cura": [3, 13, 14], "curaengin": 90, "curalegaci": [13, 14, 37], "curios": 90, "curl": 42, "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "current_max_body_s": 92, "current_o": 86, "current_ord": 92, "current_rul": 92, "current_vers": 33, "currenturl": 90, "currentus": 4, "currentz": [11, 81], "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "custom_action_command": 92, "custom_action_handl": 92, "custom_add_entri": 92, "custom_add_ord": 92, "custom_append": 92, "custom_atcommand_handl": 92, "custom_bind": [90, 95], "custom_box": [10, 81], "custom_cli_command": 92, "custom_command": 50, "custom_gcode_analysis_queu": 92, "custom_keyvalid": 92, "custom_prepend": 92, "custom_template_consum": 92, "custom_template_consumer_awesometempl": 92, "custom_template_provid": 92, "custom_template_provider_set": 92, "customactioncommandplugin": 92, "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "customis": 48, "customiz": 80, "customprinttimeestim": 92, "customtemplatetypeconsum": 92, "customtemplatetypeprovid": 92, "cut": [52, 82, 83], "cutoff": [79, 82], "cwd": 42, "cycl": [27, 28, 47, 52], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "daemon": [77, 86, 92], "daemon_opt": [77, 79], "dai": [37, 82], "danc": 51, "danger": [2, 37, 51, 82, 92], "darwin": 86, "dash": 40, "dat": 57, "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "data_bind": 95, "data_fold": 95, "data_receiv": [79, 83], "databas": 83, "datapoint": 9, "datatyp": 57, "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 79, 81, 82, 83, 85, 90, 95, 96, 97], "datetim": [83, 86, 95], "dd": [82, 86], "de": [7, 87, 90], "deactiv": [0, 4], "dead": [37, 82], "deauthent": 92, "debian": 42, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "debugg": 42, "decid": [81, 89, 90, 95], "decim": 86, "decis": [82, 95, 96], "declar": [33, 77, 80, 87, 91, 92, 95, 97], "decod": [4, 17, 78, 86, 92], "decoded_lin": 92, "decompress": 86, "decor": [77, 83, 86, 95], "decreas": [37, 70, 82], "decreaser": [62, 70], "dedic": [6, 23, 48], "deem": 39, "deep": 86, "deep_check_writ": 84, "deeper": [81, 90], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "defatul": 78, "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "default_addit": 95, "default_factori": 86, "default_filenam": 83, "default_group": [2, 92], "default_max_body_s": 83, "default_set": [79, 84], "default_slic": [79, 85], "default_template_filt": 95, "default_timeout": 83, "defaultextrusionlength": [10, 81], "defaultformatt": 42, "defaultinterpreterpath": 42, "defaultlanguag": [37, 79, 82], "defaultordereddict": [79, 86], "defaultprofil": [37, 79, 82], "defaultreauthenticationtimeout": [37, 79, 82], "defaultslic": [37, 79, 82], "defaultwebcam": [79, 82], "defer": 57, "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "deflat": 83, "degc": 81, "degre": 52, "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "delete_backup_help": 24, "delete_cooki": [79, 83], "delete_profil": [79, 85], "deletelog": 31, "deleteprofileforslic": [62, 69], "deleteunrend": [62, 72], "delimit": 86, "delimitercaptur": [79, 86], "deliv": [92, 95], "deliveri": [83, 92], "delta": 90, "demand": [95, 97], "demonstr": [92, 95], "deni": [4, 23, 48], "denot": 92, "dep": 42, "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "dependency_link": [32, 90], "dependson": 42, "depict": 95, "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 83, 84, 86, 92, 97], "deprecatedendpointhandl": [79, 83, 92], "depth": [2, 10, 51, 61, 78, 81, 96], "deriv": [78, 83, 85, 86, 97], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96], "deseri": [79, 86], "design": [52, 90], "desir": [37, 42, 49, 92], "desktop": [90, 95], "dest_loc": 11, "dest_path": [11, 85], "destin": [3, 11, 56, 61, 79, 85, 95], "destination_extens": 95, "destination_loc": 95, "destination_nam": 47, "destination_path": [47, 95], "destination_typ": 47, "detach": 83, "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "detect_baudr": 81, "detect_machine_typ": 92, "detect_seri": 81, "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "detector": [78, 79], "determin": [11, 16, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "deutsch": 7, "dev": [1, 37, 41, 42, 56, 79, 84, 90], "dev114": 41, "dev12": 41, "dev123": 41, "dev3": 41, "dev68": 45, "devel": [33, 37, 41, 42, 79, 82, 90], "develcacheconfig": [79, 82], "develconfig": [79, 82], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "develwebassetsconfig": [79, 82], "deviat": 37, "devic": [14, 25, 37, 48, 95], "diagnos": 54, "diagram": 93, "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "diamet": [3, 10, 52, 78, 81], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "didn": [15, 44, 80], "diff": 86, "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "difficult": 92, "digest": 17, "digestauth": 17, "dilig": 96, "dimens": [2, 78], "dir": [17, 37], "direct": [3, 4, 10, 23, 51, 82, 86], "direct_passthrough": 83, "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "dirti": 45, "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 34, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "disable_b": [52, 82], "disable_color": 77, "disable_hotend": [37, 52, 82], "disable_plugin": [79, 80], "disablesdprintingdetect": [79, 82], "disabling_discourag": [79, 80], "disallow": [17, 83], "disappoint": 95, "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "disconnectonerror": [37, 79, 82], "discourag": [48, 80], "discov": [25, 80, 90, 95], "discover": 90, "discoveri": [30, 39, 56, 88, 91], "discoveryplugin": 91, "discuss": 96, "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "diskfilewrapp": [78, 79], "diskspac": [37, 79, 82], "diskspaceconfig": [79, 82], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "display": [7, 82, 85], "display_limit": 22, "display_nam": 85, "display_vers": [11, 95], "displaynam": [14, 33, 79, 82], "displayvers": 33, "disposit": [3, 4, 83], "disrupt": [15, 54], "distanc": [9, 51, 81], "distinct": 96, "distinguish": [9, 37, 92], "distribut": [42, 48, 56, 93], "div": [90, 92, 95], "dive": [78, 90], "divid": [15, 37, 40, 81, 82, 96], "divis": 93, "dn": [17, 25, 37, 82], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "do_slic": [85, 95], "do_something_with_the_passed_lin": 86, "doc": [33, 37, 42, 48, 52, 82, 95], "docstr": 86, "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "doe": [0, 2, 3, 6, 9, 10, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "dom": 90, "domain": [37, 57, 82, 83], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "done": [3, 21, 23, 37, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 82, 83, 86, 90, 92, 95, 96, 97], "dont": 48, "dont_answ": 46, "dosometh": 57, "doubl": [4, 25, 40, 83], "down": [37, 47, 48, 78, 82, 84, 95, 96], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "downloadlog": 31, "downstream": 83, "drag": 82, "drop": [11, 13, 14, 46, 82], "drop_connect": 46, "dropdown": 37, "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "dumb": [37, 82], "dummi": [92, 95], "dummy_mobile_ui": 95, "dummy_mobile_ui_index": 95, "dummymobileuiplugin": 95, "dump": [78, 79, 83, 86], "duplic": [33, 95], "durat": [33, 37, 82], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "dwell": [37, 47, 82], "dynam": [86, 90, 95], "dynamiczipbundlehandl": [79, 83], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "e5": 52, "e55f2f8b01c": 42, "e627": 9, "e628": 9, "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "eager": [77, 95], "earli": 34, "earlier": [6, 37, 42, 77, 82, 88, 90], "easi": [24, 33, 40, 90, 95, 96], "easier": [55, 90], "easiest": [48, 96], "easili": [42, 48, 92], "echo": [37, 46, 82, 92, 95], "echoonm117": 46, "ecosystem": 96, "edg": [33, 41, 46], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "editor": [39, 40, 42, 48, 51, 55], "editorconfig": 90, "educ": 92, "eebd": 42, "eeprom": [46, 51, 82], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "effective_hash": [79, 84], "effective_print": 47, "effective_select": 47, "effective_yaml": [79, 84], "effectiveprint": 3, "effectiveselect": 3, "eg": [46, 95], "ega": 86, "egg": 90, "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "eject": 47, "el": 42, "elaps": [37, 47, 81, 82, 92], "eleg": 89, "element": [51, 57, 61, 78, 90, 95, 97], "elif": 95, "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "elsewher": [50, 80], "email": [11, 13, 14, 33, 90], "emb": [37, 48, 62, 95], "embed": [37, 82, 90, 95], "emerg": [1, 9, 21, 47, 82], "emergency_pars": [46, 79, 82], "emergencycommand": [79, 82], "emit": [52, 93], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "en": [33, 82, 90], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "enable_eeprom": 46, "enable_emergency_send": 21, "enable_per_message_deflate_extens": [79, 83], "enable_plugin": [79, 80], "enable_popup": 20, "enable_sign": 21, "enablecsrfprotect": [79, 82], "enabled_channel": 22, "enabled_plugin": 92, "enabled_str": 80, "enabled_unreleas": 26, "enabledragdropupload": [79, 82], "enableratelimit": [79, 82], "enableshutdownactioncommand": [37, 79, 82], "encapsul": 85, "enclosur": 81, "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "encount": [41, 47, 80, 81, 96], "encourag": 95, "encrypt": [37, 82], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "endasset": 62, "endfor": [37, 51, 52, 82, 92], "endif": [51, 52, 82], "endless": 48, "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "endswith": 92, "enforc": 95, "enforcereallyuniversalfilenam": [37, 79, 82], "engin": [3, 52, 80, 81, 95], "english": [7, 90], "enhanc": 60, "enjoi": 56, "enqueu": [46, 66, 78, 79, 92], "enrich": 95, "ensur": [37, 42, 48, 54, 55, 77, 78, 80, 81, 82, 83, 86, 90, 92, 95, 96], "ensure_ascii": 83, "ensurepip": 42, "entail": 57, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "entir": [3, 34, 48, 92], "entiti": 95, "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "entryforpath": [61, 62], "entrypointorigin": 80, "enumer": [2, 9, 82], "env": 90, "environ": [24, 33, 34, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "environbuild": 95, "eol": [82, 92, 96], "epoch": 47, "equal": [80, 95], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "era": 86, "err": 86, "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "error_callback": 80, "error_handler_test": 92, "error_messag": 92, "error_on_path": 84, "errorhandl": 95, "errortrack": 26, "escap": [40, 83, 90], "especi": [26, 40, 90, 95, 96], "essenti": 42, "establish": [11, 17, 37, 81, 82, 92], "estim": [2, 38, 78, 79, 81, 82, 93], "estimatedprinttim": [2, 3, 6, 78, 81], "estimationconfig": [79, 82], "estop": 47, "etag": [33, 83, 95], "etag_gener": 83, "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "eth0": [25, 48], "eval": [51, 82], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "event_bu": 92, "eventhandlerplugin": 93, "eventmanag": [80, 92, 94], "eventnam": 97, "eventobj": 70, "eventsconfig": [79, 82], "eventsubscript": [79, 82], "ever": [29, 35, 37, 48, 81, 82, 95], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "everyon": [48, 90], "everyth": [48, 52, 57, 77, 90, 96], "ex": [42, 96], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "exactli": [86, 95], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "examplebackup": 24, "exampleplugin": 32, "exc": 80, "exce": 83, "exceed": 10, "excel": 40, "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "excerpt": 91, "exchang": [11, 23], "exclud": [9, 24, 37, 42, 66, 80, 82], "exclus": [9, 51, 79, 82], "execut": [5, 17, 33, 37, 42, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "executecommand": [62, 71], "executor": 83, "exemplari": 95, "exempt": 95, "exhaust": [6, 48, 53], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "exit": [24, 33, 36, 37, 92, 96], "expand": [39, 92], "expans": 92, "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "expens": 92, "experi": [95, 96], "experienc": [37, 39, 82], "expir": 83, "expiri": 83, "explain": 40, "explan": [47, 66], "explicit": [42, 95, 96], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "explor": 25, "export": [24, 32, 91], "expos": [15, 24, 33, 48, 91], "express": [37, 39, 51, 81, 82, 86, 92, 95], "ext": [39, 84, 95], "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "extenddoc": 86, "extended_m20": [46, 79, 82], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "extension_tre": [93, 95], "extern": [4, 33, 37, 42, 45, 82, 95], "externalheatupdetect": [37, 79, 82], "extra": [79, 82, 83, 89, 90], "extract": [29, 35, 80, 83, 92, 95], "extrem": 48, "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "extrus": [9, 10, 52, 81, 85], "eyal0": 32, "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "f3000": 51, "f4500": 52, "f5": 42, "f6000": 92, "fa": 95, "fab": 95, "fact": [37, 40, 81, 82, 92], "factor": [9, 10, 11, 66, 81, 86, 95], "factori": [57, 80, 84, 93], "fail": [2, 3, 9, 17, 23, 24, 33, 37, 42, 47, 74, 81, 82, 83, 92, 96, 97], "failur": [2, 3, 17, 37, 47, 79, 80, 82, 92, 95], "failure_callback": 92, "fake": [1, 59, 81, 95], "fake_ack": [1, 79, 81], "fakeack": [1, 59, 62], "fall": [23, 24, 92, 95, 96], "fallback": [4, 47, 79, 80, 82, 83, 86, 95], "fallback_dict": [79, 86], "fallbackhandl": 83, "fals": [0, 1, 2, 3, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "fan": [37, 51, 52, 82, 88, 92], "faq": [9, 47, 56], "far": [37, 48, 52, 53, 82, 83, 90, 95], "fast": [11, 70], "faster": 70, "favor": [90, 97], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "feature_request": 90, "featureconfig": [79, 82], "feed": [9, 22, 32, 52, 81], "feed_rat": [79, 81], "feedback": [51, 81, 97], "feedrat": [9, 47, 52, 66], "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "few": [2, 41, 52, 90, 95], "ffmpeg": [13, 37, 47, 79, 82], "ffmpegcommandlin": [79, 82], "ffmpegpath": 13, "ffmpegthread": [37, 79, 82], "ffmpegthumbnailcommandlin": [79, 82], "ffmpegvideocodec": [37, 79, 82], "fiction": 33, "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "field1": 25, "field2": 25, "fieldinfo": [82, 83], "fig": [51, 55], "figur": [48, 95], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "filamentchang": 47, "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "file_exist": [78, 79], "file_extension_hook": 92, "file_in_path": [78, 79], "file_manag": 92, "file_object": [78, 92], "file_prefix": 83, "file_preprocessor_hook": 92, "file_suffix": 83, "filead": 47, "filebas": [37, 82], "filebasedgroupmanag": 82, "filebasedusermanag": [37, 82, 92], "filedeselect": 47, "fileinput": 57, "filemanag": [39, 56, 79, 80, 93, 94, 95], "filemov": 47, "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "filepath": [42, 78], "filepo": [2, 6, 81], "fileposit": 47, "fileremov": 47, "files": 46, "files_delet": 3, "files_list": 3, "files_select": 3, "files_upload": 3, "fileselect": 47, "filesviewmodel": 97, "filesystem": [37, 82, 83], "fill": [46, 80, 95], "fill_dens": 3, "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "filter_funct": 86, "filter_non_ascii": [79, 86], "final": [33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "financi": 56, "find": [39, 41, 42, 48, 52, 53, 80, 83, 87, 89, 90, 95, 96], "findus": 92, "fine": [37, 46, 57, 81, 82, 90, 96], "finer": 81, "finish": [3, 5, 16, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "finished_callback": 78, "fire": [33, 47, 92, 95, 97], "firmare_nam": 46, "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "firmware_cap": 92, "firmware_capability_hook": 92, "firmware_capability_report_hook": 92, "firmware_data": 92, "firmware_info_hook": 92, "firmware_nam": [46, 92], "firmware_vers": 92, "firmwaredetect": [37, 79, 82], "firmwareerror": 47, "firmwarenam": 46, "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "first_tri": 3, "firstrun": [19, 37, 79, 82, 95], "firstrun_only_access": [79, 83], "firstrunviewmodel": 97, "fit": [2, 83, 95], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "fixal": 42, "fixtur": 95, "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 79, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "flag_valu": 77, "flake8en": 42, "flask": [9, 56, 79, 91, 92, 95], "flat": 95, "flatten": 86, "fledg": [90, 95, 97], "flip": [37, 82], "fliph": [37, 79, 82], "flipv": [37, 79, 82], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "flood": [11, 96], "flow": [9, 81, 83], "flow_rat": [79, 81], "flowrat": [9, 66], "fluctuat": [37, 82], "flush": 78, "fly": [78, 90, 95], "fmt": 86, "fnmatch": 80, "fnord": 86, "focus": 56, "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "folder_exist": [78, 79], "folder_typ": 80, "foldera": 3, "folderad": 47, "folderconfig": [79, 82], "foldermov": 47, "foldernam": 3, "folderorigin": 80, "folderremov": 47, "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "font": 95, "foo": [24, 83, 86, 92, 95], "foosel": 33, "footer": 42, "footnot": [45, 51, 54, 89, 90], "forbidden": [0, 4, 13, 31], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "force_refresh": 78, "force_reinstal": 33, "force_reload": 80, "forcechecksum": 46, "forced_channel": 22, "forced_compat": [79, 82], "forced_dis": [79, 80], "forced_head": 83, "forcedumbaftermin": [37, 79, 82], "forcedumbfromperc": [37, 79, 82], "forev": 81, "forget": [55, 62, 78, 89, 90, 96], "forgot": 90, "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92, 95], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "formatonsav": 42, "formatstr": 82, "formatt": [38, 42], "formdata": 57, "former": [8, 47, 65], "formerli": [28, 31], "formfactor": [10, 81], "forthcom": 95, "forum": [42, 56, 96], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "forwardfor": 37, "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "found_fil": 92, "four": [40, 92, 95], "four_thre": [79, 82], "fourth": [80, 92], "fp": [16, 37, 79, 82], "fqcn": 86, "frame": [16, 17, 37, 47, 82, 92, 96], "framer": [37, 82], "framework": [4, 9], "free": [3, 31, 33, 46, 56, 86, 95, 96], "freebsd": 86, "fresh": [23, 37, 82, 83, 90], "freshli": 95, "friendli": 90, "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "from_vers": 33, "fromcurrentdata": 97, "fromhistorydata": 97, "fromtimelapsedata": 97, "front": [37, 82, 96], "frontend": [25, 51, 87, 92, 93, 95, 97], "frozendict": 83, "fssl": 42, "fulfil": 3, "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "full_nam": 90, "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "fun": [51, 93, 96], "func": [83, 95], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "funni": 61, "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "furthermor": 46, "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "fuzzytim": [79, 82], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g0": [47, 92], "g1": [9, 47, 51, 52, 92], "g21": 3, "g28": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "g4": [37, 47, 51, 82], "g46c7a9c": 45, "g90": [3, 37, 51, 52, 82, 92], "g90influencesextrud": [37, 79, 82], "g91": [37, 51, 52, 82, 92], "g92": 52, "galor": 93, "garbag": 92, "gather": 26, "gco": [2, 3, 51, 61], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "gcode_analysi": 82, "gcode_error_hook": 92, "gcode_loc": 47, "gcode_received_hook": 92, "gcode_script_vari": 92, "gcodeanalysi": [2, 3, 37, 79, 82], "gcodeanalysisconfig": [79, 82], "gcodeanalysisqueu": [78, 79, 92, 95], "gcodefilesviewmodel": 97, "gcodescript": [13, 37, 47, 52, 82, 92], "gcodescriptafterprintdonefinish": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptsconfig": [79, 82], "gcodeview": [13, 29, 37], "gcodeviewmodel": 97, "gcodevisu": [13, 37], "gen": 86, "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "generateapikei": [62, 68, 73], "generatekei": 23, "generatingdatahandl": [79, 83], "genuin": 18, "german": [7, 90], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "get_additional_bundle_fil": 92, "get_additional_command": 92, "get_additional_metadata": [78, 79], "get_additional_permiss": 92, "get_api_command": 95, "get_api_kei": [79, 83], "get_asset": [90, 95], "get_asset_fold": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "get_bom": [79, 86], "get_boolean": [79, 80, 95], "get_class": [79, 86], "get_cli_command": 92, "get_command": [77, 79], "get_compression_opt": 83, "get_connection_opt": [79, 81], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "get_cookie_suffix": [79, 83], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_default_set": 95, "get_exception_str": [79, 86], "get_filtered_implement": [79, 80], "get_flask_user_from_request": [79, 83], "get_float": [79, 80], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "get_help": [24, 79, 80, 91], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_int": [79, 80, 95], "get_lastmodifi": [78, 79], "get_latest": 33, "get_metadata": [78, 79], "get_o": [79, 86], "get_plugin": [79, 80], "get_plugin_data_fold": [24, 79, 80, 94, 95], "get_plugin_info": [79, 80], "get_plugin_logfile_path": [79, 80, 92], "get_preprocessor": 80, "get_profile_path": [79, 85], "get_settings_default": [80, 90, 95], "get_settings_preprocessor": 95, "get_settings_restricted_path": 95, "get_settings_vers": 95, "get_siz": [78, 79], "get_slic": [79, 85], "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profile_path": [79, 85], "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "get_sorting_kei": [79, 80, 92, 95], "get_state_id": [47, 79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_template_config": [90, 92, 95], "get_template_fold": 95, "get_template_var": [90, 95], "get_timelapse_extens": 92, "get_transport": [79, 81], "get_ui_additional_etag": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "get_update_inform": [33, 88, 89], "get_user_for_apikei": [79, 83], "get_user_for_authorization_head": [79, 83], "get_user_for_remote_user_head": [79, 83], "get_webcam_configur": 95, "get_wizard_detail": [95, 97], "get_wizard_vers": 95, "getadditionalcontrol": [51, 97], "getallkei": 23, "getattr": 86, "getbasefold": [79, 80, 84], "getbaseurl": [57, 62], "getbedst": [62, 66], "getblueprinturl": [57, 62], "getboolean": [79, 80, 84], "getchamberst": [62, 66], "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "getconfig": [62, 72], "getcooki": [4, 57, 62], "getcustomcontrol": [60, 62], "geterrorstr": 92, "getfloat": [79, 80, 84], "getfullst": [62, 66], "gethead": 4, "getint": [79, 80, 84, 91], "getkei": 23, "getlogg": [88, 91, 92], "getpluginset": [62, 68], "getprofileforslic": [62, 69], "getrequesthead": [57, 62], "getsdstat": [62, 66], "getset": [59, 62, 73], "getsimpleapiurl": [57, 62], "getter": [80, 84, 95], "gettext": 92, "gettoolst": [62, 66], "getwithqueri": [57, 62], "gh": 90, "gif": [17, 74, 92], "gina": [7, 90], "giorno": 92, "gist": 33, "gistid": 33, "git": [33, 42, 45, 54, 90, 95], "git_commit": 33, "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90, 95], "github_commit": 33, "github_releas": 33, "github_usernam": 90, "githubusercont": [33, 42], "gitignor": 90, "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "glob": [37, 82, 92], "global": [23, 57, 62, 77, 80, 81, 83, 86, 88, 90, 91, 92, 97], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "globalheadertransform": [79, 83], "gm": [37, 82], "gnu": 56, "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "go_awol": 46, "goal": 96, "goe": [23, 52, 92], "good": [41, 48, 90, 92, 96, 97], "googl": [37, 82], "got": [1, 4, 23, 37, 47, 90, 92, 95], "gotourl": 90, "grace": 95, "graduat": 41, "grant": [23, 47, 48], "granular": [34, 48, 92, 95], "graph": [37, 82], "great": 90, "greater": 80, "green": [10, 37, 79, 82], "greet": [90, 92], "greet_command": 92, "grep": 48, "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "groupfil": [79, 82], "groupmanag": [79, 82], "grow": 93, "growl": [47, 54, 90, 91], "growl_inst": 91, "guarante": [33, 61, 81, 90, 95], "guess": [40, 48, 83, 90], "guest": [4, 48, 97], "guest_group": 92, "guid": [33, 42, 82, 96], "guidelin": 43, "gz": [7, 32, 83], "gzip": 83, "h": 37, "h1": 95, "h3": 92, "h4": 92, "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "had": [49, 50, 90, 95], "hai": 92, "half": [70, 95], "hallo": 90, "hand": [14, 32, 42, 48, 92, 95], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "handle_connect": 93, "handle_error": 92, "handle_gcode_s": 88, "handle_request": [79, 83], "handle_stream": [79, 83], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "handshak": [37, 82, 83], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "happili": 48, "haproxi": [37, 82], "hard": [46, 54], "hardcod": 90, "harder": 48, "has_analysi": [78, 79], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_mfa_credenti": 95, "has_obsolete_hook": [79, 80], "has_permiss": [79, 83], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hasb": 46, "haschamb": 46, "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "hasn": 95, "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "haven": 90, "he": 49, "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "header_method": 33, "header_nam": 33, "header_prefix": 33, "header_url": 33, "heart": 95, "heartbeat": [79, 82, 83], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "heater": [9, 37, 46, 48, 52, 81, 82], "heatup": [37, 82], "heavi": 97, "heavili": 35, "hei": 92, "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "held": [81, 84], "hello": [20, 24, 37, 82, 86, 92, 93, 95], "hello_m": 95, "hello_world": [90, 95], "hello_y": 95, "hellocommand": [37, 79, 82], "helloworld": [89, 90, 95], "helloworld_navbar": 90, "helloworld_set": 90, "helloworld_tab": 90, "helloworldplugin": 90, "helloworldviewmodel": 90, "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "henceforth": 45, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "hesit": 51, "hex": 46, "hh": 86, "hi": [51, 82, 92], "hiccup": 42, "hidden": [32, 42, 77, 79, 80, 84, 97], "hidden_opt": [77, 79], "hiddenopt": [77, 79], "hide_input": 77, "hierarch": [51, 95], "hierarchi": [47, 57, 80], "high": [2, 14, 22, 37, 49, 78, 82], "high_prior": 78, "high_qual": [3, 14], "higher": [33, 70, 95], "highest": 39, "highli": [48, 89], "highlight": 40, "hint": [33, 90, 95, 96], "histor": 9, "histori": [9, 66, 81, 97], "hit": 9, "hola": 92, "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "homebrew": 42, "homepag": [24, 90], "honest": 92, "hood": 40, "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "hook_matches_hook": [79, 80], "hop": [16, 37, 82], "hope": 95, "hopefulli": 91, "horizont": [37, 51, 79, 82, 90], "horribli": 57, "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "hostfallback": [37, 79, 82], "hosthead": [37, 79, 82], "hostnam": [17, 37, 82, 91], "hotend": [9, 46, 52, 66, 81, 82], "hotfix": 45, "hour": [22, 82, 89, 92], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "href": [78, 90], "html": [37, 42, 44, 82, 90, 92, 95], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "http1connect": 83, "http1connectionparamet": 83, "http1serverconnect": 83, "httpclient": 83, "httperror": 83, "httpheader": 33, "httponli": 83, "httppassword": 25, "httpserver": 83, "httpserverrequest": 83, "httpstatu": 83, "httpusernam": 25, "httputil": 83, "huge": 48, "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "h\u00e4u\u00dfg": 7, "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "icon": [25, 32, 33, 95, 97], "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "idea": [9, 48, 90, 92, 95], "ideal": [40, 47, 48], "ident": [37, 82, 95], "identicalresendscount": 37, "identicalresendscountdown": [79, 82], "identif": 55, "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "idiom": 96, "idl": [13, 37, 79, 82], "idonotexist": 74, "ifram": 90, "iga": 86, "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 86, 90, 92, 95, 96], "ignore_blacklist": 77, "ignore_exist": 78, "ignore_throttl": 33, "ignoredcommand": [37, 79, 82], "ignoredidenticalresend": 37, "ignoreemptyport": [79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "ignoreidenticalresend": [37, 79, 82], "ignoreincompletestartup": [37, 79, 82], "ignorerevsfil": 42, "iknowwhatimdo": 77, "illeg": 40, "ilo": 86, "imag": [17, 37, 47, 74, 82, 95, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "immin": 95, "impact": [37, 82], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "implementat": 23, "impli": 33, "implic": 82, "implicit": [2, 95, 97], "implicitli": [3, 33], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "importantli": 85, "importerror": [86, 88, 96], "imposs": [4, 9, 90], "improperli": 48, "improv": [41, 83], "in_plac": 86, "inact": 52, "incl": [14, 92], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "include_bodi": 83, "includecurrenttoolintemp": 46, "includedoc": 86, "includefilenameinopen": 46, "inclus": 97, "incom": [37, 70, 82, 83, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "incomplet": [37, 82, 97], "incomplete_startup": 12, "inconvi": 48, "increas": [39, 41, 45, 70, 86, 92, 95], "increase_bodys": 92, "increaser": [62, 70], "increment": [95, 96], "inde": 18, "indent": [40, 48], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "individu": [0, 16, 37, 39, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "infil": 3, "infinit": 92, "influenc": [37, 82, 92, 95], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "infowarnneverenum": [79, 82], "ing": [33, 96], "inherit": [2, 25, 95, 96], "init": [9, 66, 80, 84], "init_platform": 77, "init_platform_for_cli": [77, 79], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "initialize_implement": 80, "initsd": [62, 66], "inject": [11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "inlin": [46, 51], "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "input_nam": 92, "input_stream": 78, "insecur": [37, 48, 82], "insensit": [23, 33, 83, 86], "insert": [36, 80], "insert_valu": 36, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "insight": [34, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "instanti": [57, 62, 88, 90, 92, 97], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "intact": 57, "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "intent": 92, "interact": [23, 37, 49, 66, 82, 90, 97], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "interfer": [9, 49], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "internet": [33, 47, 48], "interpret": [3, 9, 36, 42, 81, 92], "interpreterpath": 42, "interv": [16, 24, 34, 37, 46, 79, 82, 86], "introduc": [55, 81], "intuit": 77, "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "invalid_syntax": [79, 80], "invalidargumenterror": [57, 62], "invalidfileloc": 81, "invalidfiletyp": 81, "invalidprofileerror": [79, 81], "invalidtoolreport": 47, "invalidusernam": [76, 79], "invalu": [37, 82], "invers": 77, "invert": [10, 81], "investig": [1, 47], "invit": 90, "invoc": [80, 92], "invok": [78, 80, 86, 92, 95], "involv": [48, 81, 92], "io": [24, 26, 78, 83], "iobas": 78, "ioerror": [85, 95], "iostream": 83, "ip": [17, 25, 33, 37, 47, 48, 82, 83], "ipad": 95, "ipcheck": [37, 79, 82], "ipcheckconfig": [79, 82], "iphon": 95, "ipv4": [48, 82], "ipv6": 48, "irrelev": [80, 92], "is_allowed_fil": [79, 86], "is_api_adminonli": 95, "is_blueprint_csrf_protect": 95, "is_blueprint_protect": 95, "is_cancel": [79, 81], "is_client": 83, "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_flag": 77, "is_hidden_path": 92, "is_lan_address": 17, "is_mfa_en": 95, "is_multipart": [79, 83], "is_null_sess": 83, "is_obsolete_hook": [79, 80], "is_oper": [79, 81], "is_os_compat": [79, 86], "is_paus": [79, 81], "is_plugin_mark": [79, 80], "is_pre_compress": 83, "is_print": [79, 81], "is_readi": [79, 81], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "is_san": 92, "is_slicer_configur": 95, "is_template_autoescap": 95, "is_wizard_ignor": 95, "is_wizard_requir": 95, "isfold": 61, "isinst": [86, 92, 96], "isn": [3, 23, 48, 90, 96], "iso": [4, 47], "isol": 48, "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 95, 96], "issuecommand": [57, 62], "italian": 7, "italiano": 7, "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "item_typ": 86, "iter": [6, 52, 78, 83, 92, 93, 95, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "januari": 96, "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "jinja": [52, 90, 92, 95], "jinja2": [51, 52, 62, 90, 92, 95], "jneilliii": 32, "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "job_on_hold": [79, 81], "job_typ": 92, "jog": [9, 62, 66, 79, 81, 92], "join": [24, 78, 83, 95], "join_path": [78, 79, 83], "jpeg": [74, 95], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "js_client": 62, "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "json_encod": 83, "jsondata": 33, "jsonencod": 83, "jsonifi": [91, 92, 95], "jump": 21, "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "k": [86, 92], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "kei": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "kept": [41, 77], "key1": 86, "key2": 86, "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "keyvalid": 93, "keyword": [77, 80, 83, 85, 86, 92, 95], "kib": 90, "kill": [9, 46], "kind": [11, 48, 92, 95, 96], "kindli": 26, "knockout": [90, 95], "knockoutj": 97, "know": [9, 40, 90, 95, 96, 97], "known": [25, 37, 47, 50, 52, 78, 82, 92, 95], "ko": 90, "konnichiwa": 92, "kw": 86, "kwarg": [24, 32, 33, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 95], "l": [82, 86], "l1": 86, "l2": 86, "label": [42, 47, 51, 57, 82, 90], "lack": [3, 9, 11, 42, 52], "lai": [51, 82], "lambda": [80, 86, 92, 95, 96], "lan": [17, 48], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "language_pack": 7, "larg": [9, 37, 82], "larger": [10, 39, 92], "largeresponsehandl": [79, 83, 92], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "last_fanspe": 52, "last_modifi": [78, 79, 84], "last_modified_or_made_dirti": [79, 84], "last_octoprint": [79, 82], "last_posit": 52, "last_temperatur": 52, "last_upd": 7, "lastlinebuffers": [79, 82], "lastmodifi": [83, 95], "lastn": 46, "lastprinttim": [2, 81], "latenc": 82, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "latest": [24, 33, 42, 49], "latin_1": [37, 82], "latter": [51, 92, 95, 97], "launch": [42, 44, 95], "lax": [37, 79, 82], "layer": [14, 39, 40, 47, 48, 81, 85, 92], "layer_height": 14, "layout": [37, 51, 79, 82], "layoutenum": [79, 82], "lazili": 95, "lcd": [37, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "leaf": 92, "leaf_merg": 86, "learn": [48, 90], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "leav": [33, 37, 82, 86, 90, 95], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "legaci": [13, 14, 77, 90, 96], "legacy_opt": [77, 79], "len": [86, 92], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "lessj": 90, "lesssimplecach": [79, 83], "let": [48, 51, 89, 90, 92, 95], "letter": 97, "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "levelnam": 39, "lfn_write": [46, 79, 82], "lgz0trf8by": 11, "li": [92, 95], "lib": [62, 90], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 90, 95], "libx264": 82, "libyaml": 42, "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "life": [47, 90], "lifecycl": [81, 92, 93], "lifecyclemanag": [80, 92], "light": [23, 40], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "likewis": [80, 85, 87], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "linear": [2, 37, 82], "lineno": 39, "linenumb": [37, 46, 82], "lineprocessorstream": [78, 79, 92, 96], "link": [9, 32, 33, 47, 78, 90, 92, 95], "lint": 42, "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89, 90], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "list_command": [77, 79], "list_fil": [78, 79], "listallslicersandprofil": [62, 69], "listen": [48, 83, 95], "listforloc": [61, 62], "listlog": 31, "listprofilesforslic": [62, 69], "listrend": [62, 72], "listscript": [79, 84], "listunrend": [62, 72], "liter": [40, 96], "littl": [32, 33, 90, 95], "live": [22, 32, 33, 37, 82, 92, 96], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "load_overlai": [79, 84], "load_profil": [79, 85], "loadabl": 90, "loader": 83, "loadscript": [79, 84], "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "local_filenam": 92, "local_vers": 33, "localclius": [76, 79], "locale_displai": 7, "locale_english": 7, "localfilestorag": [78, 79], "localhost": [4, 37, 82], "localnetwork": [37, 48, 79, 82], "localpipcommand": [37, 79, 82], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "location_str": 80, "lock": [37, 81, 82], "lodash": 62, "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "log_cal": 86, "log_color": 39, "log_except": [79, 83], "log_lin": [79, 81], "log_stderr": 86, "log_stdout": 86, "logfil": [37, 80, 97], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "logging_config": 77, "logging_prefix": 80, "logic": [32, 51, 80, 82, 83, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "login_requir": 83, "loginst": 97, "loginstateviewmodel": 97, "loginui_them": 92, "loglevel": 39, "logon": [37, 82], "logout": [5, 11, 58, 62, 92], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "logrecord": 39, "logresend": [37, 79, 82], "logsviewmodel": 97, "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "long_str": [79, 80], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "longnam": 46, "longrunningcommand": [37, 79, 82], "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "looks_like_plugin": [79, 80], "lookup": [17, 83], "loop": [86, 92, 95], "loopback": 83, "loss": 24, "lost": [1, 46, 47, 81], "lot": [33, 37, 40, 57, 82, 92], "low": 82, "lower": [70, 81, 86, 90, 92, 95, 97], "lower_error": 92, "lowerleft": [10, 79, 81], "lowlat": [79, 82], "lru": 78, "ly": 81, "m": [42, 81, 86, 90, 92], "m0": [37, 47, 82], "m1": [37, 47, 82], "m104": [37, 52, 82], "m105": [37, 46, 82, 92], "m105notargetformatstr": 46, "m105targetformatstr": 46, "m106": [9, 37, 51, 52, 88, 92], "m107": [37, 51, 52, 88, 92], "m108": 82, "m109": [3, 46], "m110": [37, 82, 92], "m112": [46, 47, 82], "m114": [47, 51, 52, 82], "m115": [37, 46, 47, 92], "m115_geometry_report": 46, "m115formatstr": 46, "m115reportarea": 46, "m115reportcap": 46, "m117": [37, 46, 47, 51, 82, 92], "m118": [37, 82], "m140": [52, 82], "m18": [9, 52], "m20": [46, 82], "m226": [37, 47, 82], "m23": 46, "m240": 47, "m245": 47, "m25": [37, 82], "m27": [37, 82, 92], "m29": [37, 46, 82], "m300": 47, "m40": 47, "m400": [37, 82], "m410": 82, "m500": 46, "m503": 46, "m600": [37, 47, 82], "m701": 47, "m702": 47, "m707": 82, "m708": 82, "m80": [47, 92], "m81": 47, "m82": 52, "m83": 52, "m84": 52, "m876": 21, "mac": [43, 51, 54, 89, 90], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "machine_typ": 92, "machinecod": [2, 3, 47, 78, 81, 92], "machinecode_path": 95, "machinecodepath": 97, "machinecom": 92, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "magic": 96, "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "mail": 90, "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "maintain": [45, 95], "mainten": [33, 41, 45, 96], "major": [41, 45], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "make_api_error": [79, 83], "make_respons": [92, 95], "make_text_respons": [79, 83], "malform": 15, "malici": 49, "malwar": 48, "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "mandat": 45, "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "mani": [34, 37, 46, 66, 81, 82, 92], "manifest": 90, "manipul": [36, 49, 92], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "mark_plugin": [79, 80], "markdown": 96, "marlin": 46, "mask": 48, "master": [32, 33, 41, 42, 54, 90, 95], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "materi": 81, "math": 57, "matter": [40, 93, 96], "max": [37, 51, 79, 80, 82, 83], "max_ag": 83, "max_body_s": 83, "max_cookie_s": 83, "max_default_body_s": 83, "max_i": 10, "max_x": 10, "max_z": 10, "maxbyt": 39, "maxcommunicationtimeout": [13, 37, 79, 82], "maxconsecutiveresend": [79, 82], "maxextrud": [37, 79, 82], "maxi": [2, 78], "maxim": [11, 70], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "maxnotsdprint": [79, 82], "maxsiz": [37, 79, 82, 86], "maxtimeoutsidl": 13, "maxtimeoutslong": 13, "maxtimeoutsprint": 13, "maxwritepass": [37, 79, 82], "maxx": [2, 78], "maxz": [2, 78], "mb": [33, 39], "md": [89, 90], "md5": 2, "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "meantim": 33, "measur": [48, 70], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "media": [3, 90], "medium": 14, "medium_qu": 14, "memori": [37, 82, 83], "mention": [37, 49, 52, 88, 90, 96], "menu": [15, 37, 55, 82, 89, 90, 92], "mere": [48, 92], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "mess": 96, "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "message_on_connect": 92, "met": [51, 82, 83, 95], "meta": [7, 41, 80, 85, 95], "metadata": [3, 47, 77, 78, 80, 82, 83, 87, 88, 90, 92], "metadataanalysisfinish": 47, "metadataanalysisstart": 47, "metadatastatisticsupd": 47, "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "method_nam": 95, "metric": 34, "mfa": 95, "mfa_dummi": 95, "mfa_login": 95, "mfaplugin": 93, "mfatotp": 95, "mi": 46, "microsoft": 25, "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "migrat": [24, 41, 56, 84, 93, 95], "millimet": 81, "mime": 83, "mime_type_guess": 83, "mimetyp": [74, 83], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "min_i": 10, "min_x": 10, "min_z": 10, "mind": [40, 78, 90, 92], "mindelai": 16, "mini": [2, 78], "minif": [37, 82], "minifi": [37, 79, 82], "minify_plugin": [37, 79, 82], "minim": [78, 83, 86, 95], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "minimum_free_storag": 33, "minor": 45, "mintemp": 9, "minut": [22, 33, 37, 82], "minx": [2, 78], "minz": [2, 78], "mirror": 92, "misc": 46, "misconfigur": 47, "mismatch": [0, 4, 46], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "missing_fil": 17, "missing_lineno": 46, "mistaken": 40, "mitig": 4, "mix": [2, 37, 82, 95], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "mixtur": [2, 37, 82], "mjpeg": 82, "mjpg": [37, 82], "mm": [2, 3, 9, 10, 66, 78, 81, 82, 86], "mobil": [37, 90, 95], "mobilesizethreshold": [13, 29, 37], "mod": 86, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 83, 90, 95], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 83, 85, 90, 92, 95, 97], "model_computed_field": [79, 82, 83], "model_config": [79, 82, 83], "model_field": [79, 82, 83], "model_path": 95, "modelpath": 97, "modelsizedetect": [37, 79, 82], "modern": 90, "modif": [47, 78, 81, 84, 85, 95], "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "modulenotfounderror": 44, "moduleorigin": 80, "modulesdkpath": 42, "moment": [11, 17, 57, 78, 92], "monitor": [9, 92], "monitor_termin": 9, "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "moreov": 62, "morn": 92, "most": [3, 7, 33, 34, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "mostli": [9, 13, 83], "motor": [37, 48, 52, 82], "mount": 37, "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "move_fil": [78, 79], "move_fold": [78, 79], "movement": [9, 78], "movi": [37, 47, 48, 82], "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "movierend": 47, "movierenderdon": 11, "mozilla": 82, "mpeg2video": 37, "msvcv142": 42, "much": [9, 48, 89, 90, 92, 96], "multi": [14, 52, 92, 95], "multi_gcode_test": 92, "multicommand": [77, 92], "multilin": 40, "multipart": [3, 4, 7, 57, 83, 92], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "multipli": [11, 66], "multistream": [78, 79], "multitud": 52, "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "must_exist": 85, "mutual": [9, 51, 82], "mv": 96, "my": [10, 23, 37, 57, 88, 96], "my_collect": 96, "my_custom_ev": 92, "my_custom_reprap": 3, "my_custom_tag": 92, "my_default_profil": 85, "my_error_callback": 80, "my_fil": 95, "my_funny_apikei": 83, "my_host": 80, "my_other_custom_ev": 92, "my_other_fil": 95, "my_overrid": 85, "my_permiss": 92, "my_plugin": 33, "my_port": 80, "my_printer_profil": 1, "my_profil": 10, "my_repo": 33, "my_slic": 85, "my_styl": 95, "my_sub_packag": 96, "my_success_callback": 80, "my_us": 33, "myblueprintplugin": 95, "myclass": 95, "mycommand": 57, "mycustomexcept": 57, "mycustomgcodeanalysisqueu": 92, "mycustomviewmodel": 97, "myecho": 95, "myendpoint": 57, "myfilenam": 57, "mygrowlserv": 47, "myotherclass": 95, "mypassword": [58, 70], "myplugin": [52, 57, 88, 92, 95, 96], "myplugin_about": 95, "myplugin_first_tab": 95, "myplugin_first_tab_jinja2": 95, "myplugin_mfa_login": 95, "myplugin_navbar": 95, "myplugin_othertab": 95, "myplugin_second_tab": 95, "myplugin_second_tab_jinja2": 95, "myplugin_set": 95, "myplugin_sidebar": 95, "myplugin_tab": 95, "myplugin_userset": 95, "myplugin_usersettings_mfa": 95, "myplugin_webcam": 95, "myplugin_wizard": 95, "myplugincli": 57, "myprintersymlink": 37, "myself": 42, "mysettingsplugin": 95, "mysimpleapiplugin": 95, "myusernam": [58, 70], "myvari": [52, 92], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "n0": [37, 82], "n2685": 9, "n2686": 9, "n2687": 9, "n2688": 9, "n2689": 9, "n2690": 9, "n2691": 9, "n2692": 9, "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "name_gener": 83, "namespac": [80, 90], "namesuffix": [37, 79, 82], "nano": 48, "nativ": 82, "natur": [9, 97], "nav": 90, "navbar": [13, 37, 79, 82, 90, 95], "navbartemp": 90, "navig": [33, 37, 82, 90, 95, 97], "navigationviewmodel": [90, 97], "nearest": 45, "neat": 90, "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "necessarili": [52, 81, 92], "necessit": [88, 95], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "needs_rebuild": [79, 83], "needs_restart": [79, 80], "neg": [9, 23, 86], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "net": 90, "netloc": 83, "network": [4, 25, 37, 48, 82], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "never_curr": 33, "neversendchecksum": [79, 82], "new": [1, 3, 5, 7, 8, 9, 11, 14, 16, 22, 23, 24, 32, 33, 34, 37, 39, 41, 42, 45, 47, 48, 52, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "new_flag": 95, "newer": [33, 42, 92], "newli": [24, 42, 48, 80, 89], "newlin": 92, "newplugin": 90, "newurl": 90, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "nginx": [37, 82, 83], "nice": 90, "nicer": 90, "nifti": [37, 82], "nm106": [37, 82], "nm140": 37, "nm84": [37, 82], "no_color": 39, "no_firstrun_access": [79, 83], "no_fram": 47, "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "node": [2, 47, 49, 78, 90], "nois": 46, "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 83, 86, 90, 95], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "nonetyp": 82, "nonsens": 92, "nop_upload_to_sd": 92, "nor": [3, 11, 83, 85, 88, 92], "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "nosuchstorag": [78, 79], "notat": [37, 82], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "notic": [32, 90, 95], "notices_ttl": 32, "notif": [22, 30, 33, 37, 55, 56, 82], "notifi": [33, 57, 92, 95], "notify_us": 33, "notifysuppressedcommand": [79, 82], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "nozzl": [10, 29, 46, 52, 81], "nozzlediamet": [10, 81], "npn": 83, "null": [2, 9, 19, 37, 46, 97], "num": 86, "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "numextrud": 46, "o": [24, 37, 43, 46, 82, 86, 92, 95], "obj": 83, "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "object_": 83, "obligatori": [25, 95], "observ": [54, 55, 90, 92], "obsolet": 80, "obtain": [11, 23, 33, 43, 51, 82, 90], "obviou": 92, "obvious": 96, "occas": 52, "occur": [2, 9, 15, 17, 47, 90], "octet": [3, 57, 83], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "octoprint1": 62, "octoprint2": 62, "octoprint_": 90, "octoprint_app": 83, "octoprint_backup_restore_unsupport": 24, "octoprint_daemon": 77, "octoprint_helloworld": 90, "octoprint_logo": 47, "octoprint_setuptool": 90, "octoprint_tracking_dis": 34, "octoprint_viewmodel": [90, 97], "octoprintanonymousident": [79, 83], "octoprintcli": [4, 23, 30, 56, 62], "octoprintcontext": [77, 79], "octoprintdevelcommand": [77, 79], "octoprintflaskrequest": [79, 83], "octoprintflaskrespons": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintpermiss": 95, "octoprintplugin": [24, 79, 80, 92, 94, 95], "octoprintplugincommand": [77, 79, 92], "octoprintsessioninterfac": [79, 83], "od": 86, "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "offend": 86, "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "offici": [24, 32, 54, 56, 90, 93, 96], "offlin": [6, 47, 51, 81, 82], "offset": [9, 10, 11, 66, 81], "often": [3, 11, 34, 45, 95], "oh": 92, "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "okafterresend": 46, "okbeforecommandoutput": 46, "okformatstr": 46, "okwithlinenumb": 46, "old": [47, 48, 52, 57, 90, 95, 97], "old_flag": 95, "older": [37, 41, 82, 95], "omg": 9, "on_after_startup": [90, 91, 92, 95], "on_api_command": 95, "on_api_get": [91, 95], "on_cancel": 86, "on_condition_fals": 86, "on_ev": 95, "on_finish": [79, 83, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "on_plugin_pending_uninstal": [79, 80, 87], "on_print_progress": 95, "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "on_reset": 86, "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_load": 95, "on_settings_migr": 95, "on_settings_sav": 95, "on_shutdown": 95, "on_slicing_progress": 95, "on_startup": [80, 90, 92, 95], "on_ui_rend": 95, "on_wizard_finish": [19, 95], "onafterbind": 97, "onaftertabchang": 97, "onafterwizardtabchang": 97, "onallbound": 97, "onbeforebind": [90, 97], "onbeforeprintstart": 97, "onbeforewizardfinish": 97, "onbeforewizardtabchang": 97, "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "ondataupdaterpluginmessag": 97, "ondataupdaterreconnect": 97, "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "oneorderedhook": 92, "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "oneself": 78, "onev": 97, "oneventprintdon": 97, "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "onlinecheckconfig": [79, 82], "onmessag": [62, 70], "onratetoohigh": [62, 70], "onratetoolow": [62, 70], "onserverdisconnect": 97, "onsettingsbeforesav": 97, "onsettingshidden": 97, "onsettingsshown": 97, "onslicingprogress": 97, "onstartup": 97, "onstartupcomplet": 97, "ontabchang": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onusersettingsbeforesav": 97, "onusersettingshidden": 97, "onusersettingsshown": 97, "onwebcamrefresh": 97, "onwebcamvisibilitychang": 97, "onwizarddetail": [95, 97], "onwizardfinish": 97, "onwizardtabchang": 95, "op": 92, "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "open_seri": 81, "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "opposit": 78, "oprint": [54, 55, 89, 90, 96], "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "optionsalloworigin": [79, 83], "orang": [10, 37, 79, 82], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "orderedhook": 92, "ordertest": 92, "ordertestplugin": 92, "org": [9, 17, 32, 33, 34, 37, 54, 56, 74, 82, 90], "organ": [40, 54], "organizeimport": 42, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95, 97], "original_absolute_path": [79, 83], "orward": 80, "oserror": 78, "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "other_kei": 86, "other_valu": 86, "otherparamet": 57, "othervalu": 57, "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "our": [23, 78, 83, 88, 90, 92, 95, 97], "ourselv": 92, "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "outdat": [42, 95, 96], "outgo": 46, "outlin": [48, 95], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "output_timeout": 86, "outright": [4, 33, 54], "outsid": [9, 40, 47, 80, 92, 96], "outskirt": 96, "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "overal": [17, 84], "overcom": 96, "overhead": [78, 92], "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "overlay_kei": [79, 84], "overload": 95, "overrid": [3, 14, 34, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "overview": [94, 95], "overwrit": [78, 81, 83, 90, 92, 95], "overwritten": [10, 14, 70, 78, 85, 86, 90], "owasp": 4, "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "owner": [23, 47], "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "p1": 21, "p500": 51, "pack": [5, 55, 62, 64, 90], "packag": [33, 54, 87, 88, 90, 93, 94, 96], "packed_cli": 62, "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "pai": 96, "pain": 90, "pair": [9, 40, 52, 57, 60, 66, 86, 95], "pane": [46, 95], "panel": [20, 24, 37, 82, 95, 97], "paragraph": 40, "param": [77, 78, 81, 83, 86, 92], "param_decl": 77, "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "parametr": 51, "parametric_command": 37, "paramtyp": 77, "parent": [3, 61, 78, 80, 83, 95], "pariti": 92, "parity_non": 92, "parity_odd": 92, "park": 81, "park_printhead": 81, "pars": [3, 17, 33, 36, 47, 77, 80, 83, 92, 95], "parse_firmware_lin": 92, "parsed_metadata": [79, 80], "parsed_temp": 92, "parsed_temperatur": 92, "parser": 82, "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "partial": [10, 13, 73, 92], "particular": [9, 81, 95, 97], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "pass_context": 92, "pass_octoprint_ctx": [77, 79, 92], "passiv": [4, 11, 58, 97], "passivelogin": [58, 62, 70], "password": [4, 17, 25, 33, 37, 58, 70, 73, 82, 83, 91], "passwordhash": 76, "past": [2, 17, 23, 37, 47, 82, 96], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "patchjson": [57, 62], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96, 97], "path_filt": 83, "path_in_storag": [78, 79], "path_on_disk": [78, 79], "path_processor": 83, "path_valid": [83, 92], "path_validation_factori": [79, 83, 92], "pathforentri": [61, 62], "pathnam": 39, "pathprefix": 25, "pathsuffix": [37, 79, 82], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "pause_fanspe": 52, "pause_posit": 52, "pause_print": [79, 81], "pause_temperatur": 52, "pausetrigg": [79, 82], "pausingcommand": [37, 79, 82], "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "pbn": [37, 82], "pc": 48, "penalti": 96, "pend": [33, 80, 86, 92], "pending_deprec": [79, 86], "peopl": [52, 90], "pep440": 45, "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "percent": [47, 81], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "perform_upd": 33, "perfprofil": 44, "period": [86, 95], "perman": 83, "permessag": 83, "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "permissionmanag": [79, 82], "permit": 48, "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "person": [0, 2, 33, 94], "pertain": 37, "phase": [80, 88, 93, 96], "phew": 40, "physic": [10, 37, 48, 82], "pi": [33, 48, 90, 96], "pick": [33, 90, 92], "pickl": 83, "pickleerror": 83, "pictur": [37, 82], "pid": 77, "piec": [40, 88], "pin": 46, "ping": 34, "pinnedextrud": 46, "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "pip_arg": 32, "pip_command": 33, "pip_cwd": 33, "pip_force_us": 32, "pisupport": 33, "pitfal": 93, "pla": [37, 82], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "plai": [40, 84], "plain": [17, 57, 83], "plan": [48, 54, 57, 96], "platform": [42, 48, 56, 77, 79, 80, 92, 95], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "plot": 11, "plu": [9, 37, 41, 85, 95, 97], "plug": 87, "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "plugin_": [37, 80, 90, 92, 95], "plugin_a": 95, "plugin_achiev": 82, "plugin_achievements_2": 82, "plugin_action_command_notification_clear": 20, "plugin_action_command_notification_show": 20, "plugin_action_command_prompt": 13, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_announc": [13, 37, 82], "plugin_appkei": [37, 82], "plugin_appkeys_admin": [23, 92], "plugin_appkeys_gr": 23, "plugin_asset": 95, "plugin_author": 90, "plugin_author_email": 90, "plugin_b": 95, "plugin_backup": [37, 82], "plugin_backup_backup_cr": 24, "plugin_bas": 80, "plugin_blacklist": 80, "plugin_c": 95, "plugin_considered_bundl": 80, "plugin_corewizard_acl": [37, 82], "plugin_corewizard_onlinecheck": 82, "plugin_curalegaci": 13, "plugin_custom_template_provider_awesometempl": 92, "plugin_d": 95, "plugin_descript": 90, "plugin_disabled_list": 80, "plugin_entry_point": 80, "plugin_errortrack": [37, 82], "plugin_eventmanag": 82, "plugin_example_my_permiss": 92, "plugin_firmware_check": 37, "plugin_firmware_check_info": 82, "plugin_firmware_check_warn": 82, "plugin_flag": 80, "plugin_fold": 80, "plugin_gcodeview": [37, 82], "plugin_hash": 11, "plugin_health_check": 82, "plugin_helloworld": 37, "plugin_helloworld_url": 90, "plugin_homepag": 90, "plugin_hook": [79, 80], "plugin_id": 13, "plugin_identifi": 90, "plugin_ignored_packag": 90, "plugin_installurl": 90, "plugin_kei": 80, "plugin_licens": 90, "plugin_lifecycle_manag": 92, "plugin_log": [13, 37, 82], "plugin_logging_plugintimingslog": 82, "plugin_logging_seriallog": 82, "plugin_manag": [77, 79, 80, 92], "plugin_myplugin": 95, "plugin_myplugin_1": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2": 95, "plugin_myplugin_2nd": 95, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "plugin_nam": [13, 54, 90], "plugin_obsolete_hook": 80, "plugin_packag": 90, "plugin_pi_support": [37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "plugin_pluginmanager_disabled_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_install_plugin": 32, "plugin_pluginmanager_uninstall_plugin": 32, "plugin_printer_safety_check": 13, "plugin_requir": 90, "plugin_restart_needing_hook": 80, "plugin_set": [79, 80, 92], "plugin_settings_for_settings_plugin": 92, "plugin_settings_from_settings_plugin": 92, "plugin_softwareupd": [13, 37, 82], "plugin_softwareupdate_upd": 82, "plugin_softwareupdate_update_fail": 33, "plugin_softwareupdate_update_succeed": 33, "plugin_sorting_ord": 80, "plugin_sourc": 90, "plugin_track": [37, 82], "plugin_url": 90, "plugin_valid": 80, "plugin_vers": 90, "plugin_virtual_printer_seri": 46, "plugina": 95, "pluginassetresolv": [79, 83], "pluginb": 95, "pluginblacklist": [37, 79, 82], "pluginblacklistconfig": [79, 82], "pluginc": 95, "plugind": 95, "plugininfo": [79, 80, 94], "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "pluginnam": 95, "pluginname_eventtyp": 47, "pluginsconfig": [79, 82], "pluginset": [47, 79, 80, 92, 94], "pluginsettingsmanag": 95, "plugintim": [79, 82], "png": [17, 47], "po": 81, "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "polici": [26, 34, 80, 88], "poll": [37, 82, 92], "pollwatch": [37, 79, 82], "pop": 41, "popen": 86, "popul": [2, 57, 78, 83, 90, 95], "popup": [20, 81], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "portfallback": [79, 82], "porthead": [79, 82], "portopt": 13, "portprefer": [1, 81], "posautoreport": [79, 82], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "positionlogwait": [79, 82], "positionupd": 47, "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "possibli": [2, 42, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "postfix": [80, 92], "postjson": [57, 62], "postprocess": 92, "postrol": [16, 37, 79, 82], "potenti": [2, 10, 41, 42, 70, 80], "power": [92, 95], "poweroff": 47, "poweron": 47, "pp": [79, 86], "practic": 97, "pragma": 83, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "precaut": 88, "preced": [49, 92], "precondit": 6, "preconfigur": [22, 83, 92], "predefin": [48, 53, 92, 95], "predic": 86, "preemptiv": [37, 79, 82, 95], "preemptive_cach": 92, "preemptivecach": [37, 79, 82, 92], "preemptivecacheconfig": [79, 82], "prefer": [1, 37, 42, 62, 81, 82, 96], "preferred_stylesheet": 95, "prefil": 90, "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "prefixawarejinjaenviron": [79, 83], "prefixfallback": [37, 79, 82], "prefixhead": [37, 79, 82], "prelaunchtask": 42, "preliminari": 95, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "prepare_ok": 46, "preparedok": 46, "prepend": [37, 57, 92], "prependablequeu": [79, 86], "preprocess": [61, 92, 95], "preprocessor": [80, 84, 93, 95], "prereleas": 33, "prerelease_branch": [33, 89], "prerelease_channel": 33, "prerequisit": 42, "presenc": [0, 33, 37, 82, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "preserv": 78, "press": [42, 51, 82, 86], "pretti": [9, 48, 89, 90, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "preview": [29, 41], "previou": [2, 4, 11, 52, 90, 97], "previous": 95, "primari": 90, "primarili": [56, 96], "prime": [29, 52], "primer": [38, 48, 51, 55, 56], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "print_funct": 96, "print_time_estimator_factori": 92, "printabl": [47, 92], "printafterselect": 81, "printcancel": [47, 52], "printcancelconfirm": [37, 79, 82], "printdon": [47, 52], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "printer_data": 92, "printer_factory_hook": 92, "printer_paramet": 82, "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "printer_profile_id": 85, "printer_profile_manag": [85, 92], "printer_safety_check": [13, 34], "printercallback": [79, 81, 92], "printerinst": 92, "printerinterfac": [79, 80, 81, 92, 94], "printerparamet": [79, 82], "printerparametersconfig": [79, 82], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "printerprofilemodifi": 47, "printerprofileprefer": 1, "printerprofilesconfig": [79, 82], "printerprofilesviewmodel": 97, "printerstatechang": 47, "printerstateviewmodel": 97, "printfail": [11, 47], "printhead": [9, 92], "printingarea": [2, 78], "printjob": 34, "printpaus": [47, 52], "printresum": [47, 52], "printstart": [47, 52], "printstartconfirm": [79, 82], "printtim": [2, 6, 37, 79, 81, 82, 92], "printtimeestim": 92, "printtimeestimationconfig": [79, 82], "printtimegeniu": 32, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "prior": [6, 48, 57, 78, 81, 92, 95, 97], "priorit": 78, "prioriti": [22, 37, 78, 82], "privaci": [26, 34, 37, 80, 88], "privacypolici": [79, 80], "privat": 33, "privileg": 42, "pro": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "problemat": 96, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "proceed": [21, 48, 90], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "process_lin": [78, 79, 92, 96], "produc": [11, 21, 83, 86, 90, 95], "product": [37, 80, 82, 92], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "profile_nam": 85, "profile_path": [85, 95], "profilealreadyexist": [79, 85], "profileexcept": [79, 85], "profileid": 69, "profiles_last_modifi": [79, 85], "program": [9, 42, 90], "programm": 90, "programmat": [15, 95], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "progress_report": 95, "progressavail": 47, "progressoutput": 57, "progressplugin": 93, "project": [27, 28, 42, 90, 96], "projectfiledir": 42, "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "prompt_begin": 21, "prompt_button": 21, "prompt_choic": 21, "prompt_end": 21, "prompt_requir": 77, "prompt_show": 21, "prone": 92, "pronterfac": 49, "proper": [57, 90, 93, 95], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "properti": [0, 2, 3, 9, 10, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "protect": [5, 82, 95], "proto": 83, "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "protocol_action_hook": 92, "protocol_atcommandphase_hook": 92, "protocol_gcodephase_hook": 92, "protocol_scripts_hook": 92, "protocol_temperatures_received_hook": 92, "protocol_vers": [46, 92], "prototyp": 57, "proven": 96, "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "proxi": [37, 82, 83, 92], "pubkei": 37, "public": [25, 33, 48, 56, 90], "publicli": [48, 95], "publicport": 25, "publish": [25, 33, 89, 90, 91, 95], "pull": [42, 96], "pure": [33, 95], "purpos": [4, 37, 80, 90, 92, 95], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 95, 96, 97], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "putjson": [57, 62], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "py2": 96, "py311": 90, "py__": 89, "pybonjour": 91, "pyc": 90, "pycharm": 43, "pydant": [82, 83], "pyenv": 90, "pyinstrument": 44, "pyinterpreterdirectori": 42, "pylinten": 42, "pypi": [33, 54], "pypi_releas": 33, "pyseri": 92, "pytest": 42, "pytesten": 42, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "python2": 96, "python3": [42, 96], "python37": 96, "python3execut": 96, "python_check": 33, "python_requir": 90, "python_updat": 33, "pythoncompat": [79, 80], "pythoneolcheck": [79, 82], "pythoneolcheckconfig": [79, 82], "pythoneolentri": [79, 82], "q": 82, "qualifi": [78, 86], "qualiti": [14, 81], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "question": [4, 9, 23, 33, 83, 92], "queu": [81, 92], "queue": [21, 78, 86, 92, 94, 95, 96], "queue_factori": 78, "queueentri": [78, 79], "quick": [82, 90], "quick_test": 14, "quickli": [37, 55, 90, 96], "quirk": 35, "quit": [40, 90, 92, 96], "quo": [11, 14], "quot": [40, 49], "quoted_str": 40, "r": [17, 37, 74, 77, 80, 83, 92], "r0lgodlhaqabaiaaaaaaap": 17, "rais": [78, 80, 81, 83, 84, 85, 86, 95], "ran": 86, "random": [78, 82, 92], "random_greet_command": 92, "randomli": [37, 82], "randrang": 92, "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "raspberri": [33, 48, 90], "raspi": 47, "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "rateslidingwindows": 70, "rather": [4, 37, 82], "ratio": [2, 46, 82], "ratioenum": [79, 82], "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "rawiobas": 78, "rc": [26, 33, 41], "re": [33, 81, 82, 92, 95], "reach": [17, 51, 56, 82, 92], "reachabl": [17, 25, 48, 74, 92, 95], "react": [24, 34, 54, 80, 87, 90, 92, 95], "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "read_m115_respons": 92, "read_timeout": 92, "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "reader": 22, "readi": [2, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "readlin": 92, "readm": 90, "readonly_group": 92, "real": [11, 46, 83, 86, 92], "realli": [15, 33, 37, 48, 55, 82, 90], "really_univers": 78, "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "reauthent": [11, 37, 82], "reauthrequir": 11, "reboot": 15, "rebuild": 42, "rebuilt": 83, "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "recent": [0, 23, 33, 83, 86, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "reconnect": [1, 32, 62, 70, 93], "reconnect_hook": 93, "reconnect_hooks_hook": 32, "record": [0, 4, 16, 25, 37, 47, 82, 95], "recov": 47, "recover": 92, "recoveri": [4, 55, 82, 92], "rectangular": [10, 79, 81], "recurs": [2, 3, 61, 78, 86, 90], "recursivelyprintnam": 61, "recv": [9, 11, 37, 82], "red": [10, 22, 37, 51, 79, 82, 95], "redefin": [37, 39], "redirect": [17, 30, 82, 83, 95], "redirect_to_tornado": [79, 83], "reduc": [37, 82, 90, 95], "redund": [2, 90], "reenqueu": 78, "reestablish": 97, "ref": [2, 3, 31], "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "referenc": [39, 92], "reflect": [9, 13, 17, 66, 90], "refresh": [3, 9, 42, 66, 82, 89, 97], "refreshsd": [62, 66], "refus": [37, 78, 96], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "regardless": [37, 62, 82, 87, 92, 95, 96], "regener": [11, 37, 82], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "register_callback": [79, 81], "register_custom_ev": [47, 93], "register_custom_events_hook": 92, "register_finish_callback": 78, "register_message_receiv": [79, 80], "registered_slic": [79, 85], "registerplugincompon": [57, 62], "registr": [57, 78, 89, 92, 96], "registri": 57, "regret": 48, "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "regular_express": 82, "regularli": [33, 54], "reinstal": [24, 33, 90], "reject": [23, 37, 57, 82], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "rel_path": 83, "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 45, 48, 56, 66, 93, 96], "release_compar": 33, "releasesd": [62, 66], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "reli": [4, 37, 57, 82, 95, 96], "reload": [80, 87, 90, 95, 97], "reload_plugin": [79, 80], "reload_slic": [79, 85], "reloadneedingplugin": [79, 80, 87, 93], "remain": 90, "rememb": [4, 37, 58, 82, 90, 95, 97], "rememberfilefold": [79, 82], "remind": 55, "remot": [17, 33, 37, 47, 82, 83, 90, 92], "remote_address": 83, "remote_filenam": 92, "remote_group": 82, "remote_ip": 83, "remote_nam": 92, "remote_us": [37, 82], "remote_vers": 33, "remoteaddress": 47, "remotegroupshead": [79, 82], "remotegroupsmap": [79, 82], "remoteuserhead": [37, 79, 82], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "remove_handl": [79, 83], "remove_link": [78, 79], "remove_overlai": [79, 80, 84], "remove_path_update_callback": [79, 84], "remove_valu": 36, "removed_head": 83, "removemessag": [62, 70], "renam": [86, 90], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "render_kwarg": 95, "render_templ": 95, "renderafterprint": [16, 37, 79, 82], "renderafterprintenum": [79, 82], "renderunrend": [62, 72], "rendit": [51, 82, 95], "reorder": 37, "repeat": [42, 61], "repeatedli": 86, "repeatedtim": [79, 86], "repeti": [37, 46, 82], "repetierstyleresend": 46, "repetierstyletargettemperatur": 46, "repetiertargettemp": [37, 79, 82], "repetit": 51, "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 83, 84, 86, 90, 92, 95], "repli": [9, 17, 46], "replic": [57, 92], "repo": 33, "repo_nam": 90, "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "repository_ttl": 32, "reprap": [10, 49], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 84, 86, 92, 95], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "reproduc": [46, 55], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "requestforus": 23, "requesthandl": [83, 92], "requestlessexceptionloggingmixin": [79, 83], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "require_configur": 85, "require_credentials_checked_rec": [79, 83], "require_en": 80, "require_exist": 85, "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "required_en": 80, "rerend": [37, 82], "resembl": 90, "resend": [11, 37, 46, 47, 82, 92], "resend_loop": 47, "resend_ratio": 46, "resend_with_timeout": 46, "resendok": [79, 82], "resendratiostart": [79, 82], "resendratiothreshold": [37, 79, 82], "reserv": [33, 41], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "resetapikei": [62, 73], "resetlin": 46, "resettabletim": [79, 86], "reshow": 95, "resid": [37, 80, 87, 92], "resolut": 82, "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "resolve_output_to_path": [79, 83], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "resp": 83, "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "respond": [9, 15, 17, 46, 81, 83], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 81, 82, 83, 85, 92, 95, 96, 97], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "restartneedingplugin": [79, 80, 87, 93], "restor": [24, 48], "restore_unsupport": 24, "restrict": [3, 15, 23, 92, 95], "restricted_access": [79, 83], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "result1": 96, "result2": 96, "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "resume_print": [79, 81], "retract": [9, 16, 37, 52, 66, 81, 82], "retractionzhop": [16, 37, 79, 82], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "returncod": [47, 86], "retval": 92, "reus": [4, 33, 90], "reusabl": 52, "rev": 42, "revers": [9, 37, 77, 78, 82], "reverseproxi": [37, 79, 82], "reverseproxyconfig": [79, 82], "reverseproxyinfo": [79, 83], "revert": [37, 47, 82], "revis": 42, "revisit": 96, "revoc": 23, "revok": [4, 23], "revokekei": 23, "revokekeyforapp": 23, "rewrit": [37, 82, 83, 92], "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "rewritten": [83, 92], "rfc": [3, 4], "rfc6454": 83, "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "risk": [48, 49, 95], "roadmap": 96, "rock": 41, "role": [2, 48, 76, 84, 92, 95, 97], "roll": [16, 37, 82], "rollov": 39, "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "rotat": [37, 82], "rotate90": [37, 79, 82], "rotatingfilehandl": 39, "roughli": [48, 92, 96], "round": [57, 70, 86, 92, 96], "roundtrip": 11, "rout": [48, 93, 95], "route_hook": 92, "router": 92, "rpi1": 37, "rsa": 37, "rss": 22, "rubi": 42, "ruff": 42, "rule": [38, 42, 92, 95, 96], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "run_first": 86, "run_serv": [77, 79], "runat": [79, 82], "runatenum": [79, 82], "runawai": 47, "runout": 21, "runtim": [46, 87, 95, 96], "runtimeexcept": 81, "rx": 46, "rxbuffer": 46, "s0": [9, 21, 37, 52, 82, 92], "s220": [3, 46], "s3g": 92, "s_or_u": 86, "sadli": [42, 53, 90, 95, 96, 97], "safari": 25, "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86, 95], "safe_mod": 77, "safemod": [12, 55], "safeti": [13, 28, 34], "sai": [48, 55, 88, 93], "said": [37, 47, 48, 82], "sake": 92, "salt": [48, 79, 82], "salv": 92, "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "same_devic": 95, "samedevic": 14, "samesit": [37, 79, 82, 83], "samesiteenum": [79, 82], "sampl": 62, "sane": [92, 95], "sanit": [78, 79, 86, 92], "saniti": [37, 82, 92], "sanitize_filenam": 78, "sanitize_nam": [78, 79], "sanitize_path": [78, 79], "sanitize_temperatur": 92, "sanity_check_fold": [79, 84], "sanitychecktool": [79, 82], "sarg": 86, "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "save_profil": [79, 85], "save_sess": [79, 83], "save_slicer_profil": [85, 95], "saveconfig": [62, 72], "saveerror": [79, 81], "savepluginset": [62, 68], "savescript": [79, 84], "saveset": [62, 73], "saw": 40, "scalabl": 95, "scale": 95, "scan": 25, "scan_dep": 42, "scari": [37, 48], "scenario": 96, "schema": [56, 79], "scheme": [25, 37, 41, 82, 83], "schemefallback": [37, 79, 82], "schemehead": [37, 79, 82], "scope": [42, 83], "screen": [48, 90, 95], "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "script_nam": 92, "script_typ": [84, 92], "scriptlin": 92, "scriptnam": [47, 92], "scriptsconfig": [79, 82], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "sd_card_upload_hook": 92, "sd_eject": 49, "sd_insert": 49, "sd_status_pol": 92, "sd_updat": 49, "sd_upload_fail": 92, "sd_upload_failur": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_success": 92, "sdalwaysavail": [37, 79, 82], "sdcancelcommand": [79, 82], "sdcard": [2, 3, 11, 47, 61, 81, 92], "sdcardupload": 93, "sdfile": 46, "sdist": 90, "sdk": 42, "sdlowercas": [79, 82], "sdreadi": [2, 9, 81], "sdrelativepath": [37, 79, 82], "sdstatu": [13, 37, 79, 82, 84], "sdstatusautoreport": [79, 82], "sdsupport": [37, 79, 82], "search": 29, "sec": 37, "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "secret": [37, 82], "secretkei": [37, 79, 82], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "section_featur": [13, 37, 82], "section_octoprint": [13, 37, 82], "section_plugin": [13, 37], "section_print": [13, 37, 82], "secur": [4, 26, 37, 48, 79, 82, 83, 95], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "seek": 78, "seekabl": [78, 79], "seem": [6, 37, 42, 82, 90, 96], "seen": [19, 90, 95], "seen_wizard": 95, "seenwizard": [79, 82], "segment": [45, 46], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "select_fil": [79, 81], "select_sd": 46, "selector": [57, 90], "selecttool": [62, 66], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "semant": [33, 45, 52, 90], "semantic_vers": 33, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 92, 95, 97], "send_initial_callback": [79, 81], "send_plugin_messag": [79, 80], "send_printhead_back": 81, "sendauth": [62, 70], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "sendbusi": 46, "sendchecksumwithunknowncommand": [37, 79, 82], "sendgcod": [60, 62], "sendgcodescript": [60, 62], "sendgcodescriptwithparamet": [60, 62], "sendgcodewithparamet": [60, 62], "sendm112onerror": [79, 82], "sendmessag": [62, 70], "sendwait": 46, "sens": [4, 40, 47, 48, 86, 90, 92, 95], "sensit": [40, 51, 82, 95], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "sent_m106": 92, "sentri": 26, "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "sequenc": [77, 92], "sequenti": 86, "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "serial_factory_hook": 92, "serial_obj": 92, "serialcap": [79, 82], "serialconfig": [79, 82], "serialfil": 39, "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "server_bodysize_hook": 92, "server_error": 17, "server_nam": [79, 83], "server_opt": [77, 79], "server_path": 83, "server_port": [79, 83], "server_protocol": 83, "server_rout": 92, "server_route_hook": 92, "serverconfig": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "serverrestartcommand": [37, 79, 82], "servic": [26, 30, 37, 48, 95, 96], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "session_id": 83, "session_refresh_each_request": 83, "sessionmanag": 80, "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 34, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "set_additional_metadata": [78, 79], "set_boolean": [79, 80], "set_close_exec": [79, 86], "set_cooki": [79, 83], "set_ctx_obj_opt": [77, 79], "set_default_head": [79, 83], "set_default_profil": [79, 85], "set_extra_head": [79, 83], "set_float": [79, 80], "set_handl": [79, 83], "set_int": [79, 80], "set_job_on_hold": [79, 81], "set_preprocessor": 80, "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "setbasefold": [79, 84], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "setboolean": [79, 80, 84], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "setfloat": [79, 80, 84], "setflowr": [62, 66], "setint": [79, 80, 84], "setpaus": 92, "setter": [80, 81, 84, 95], "setting1": 40, "setting2": 40, "settings_read": 13, "settingscheckupdat": [79, 83], "settingsmanag": 92, "settingsplugin": [13, 90, 92, 93, 94], "settingsupd": [47, 80], "settingsviewmodel": [90, 97], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 95, 96], "setuptool": [42, 89, 90], "sever": [4, 47, 95, 96, 97], "sha": 83, "sha1": 78, "shadow": 86, "shall": 83, "shallow": 86, "share": [4, 10, 46, 77, 81, 86, 94, 95], "sharednozzl": [10, 46, 52, 81, 82], "shed": 40, "sheet": 96, "shell": [37, 42], "shift": [42, 90], "shini": 90, "ship": [37, 54, 55, 82], "short": [47, 83, 95], "shortcut": [57, 74, 83, 90], "shorten": [37, 82], "shorthand": 63, "shot": 16, "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "should_set_cooki": [79, 83], "shouldn": [32, 33, 48, 90], "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "show_bundl": 80, "show_choic": 77, "show_default": 77, "show_en": 80, "show_envvar": 77, "show_loc": 80, "showfahrenheitalso": [79, 82], "showinternalfilenam": [37, 79, 82], "showloadinganim": [37, 79, 82], "shown": [20, 37, 82, 95, 97], "shut": [37, 47, 82, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "shutdownplugin": 93, "sibl": 92, "side": [4, 37, 46, 83, 95], "sidebar": [13, 20, 37, 79, 82, 95, 97], "signal": [11, 21, 23, 49, 92, 95], "signatur": [33, 57, 85, 86, 92], "signifi": [9, 15, 80, 92, 95], "silent": [24, 37, 78, 82, 83, 84], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "similarli": 83, "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "simpleapicommand": [57, 62], "simpleapiget": [57, 62], "simpleapiplugin": [57, 93], "simplecach": 83, "simpli": [37, 42, 48, 52, 95, 96], "simul": [35, 37, 46], "simulated_error": 46, "simulatereset": 46, "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "single_file_plugin": 33, "singleton": [80, 84], "singular": 62, "site": [83, 90], "situat": [9, 81, 92, 96], "six": 96, "sixteen_nin": [79, 82], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "sizethreshold": [13, 29, 37], "skeleton": 90, "skip": [19, 29, 37, 82, 83, 95], "skipuntilthi": 29, "skirt": 14, "skirt_line_count": 14, "slash": 78, "sleep": [9, 46, 86, 92], "sleep_a_bit": 33, "sleep_aft": 46, "sleep_after_next": 46, "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "slicer_nam": 85, "slicerexcept": [79, 85], "slicernotconfigur": [79, 85], "slicerplugin": [85, 93], "slicing_en": [79, 85], "slicing_manag": 92, "slicingcancel": [47, 79, 85, 95], "slicingconfig": [79, 82], "slicingdon": 47, "slicingexcept": [79, 85], "slicingfail": 47, "slicingmanag": [79, 80, 85, 92, 94], "slicingplugin": [80, 95], "slicingprofil": [37, 79, 82, 85, 95], "slicingprofilead": 47, "slicingprofiledelet": 47, "slicingprofilemodifi": 47, "slicingprogress": 47, "slicingstart": 47, "slicingviewmodel": 97, "slide": 70, "slider": [51, 79, 82], "slightli": [52, 57, 83], "slot": [46, 86], "slower": 70, "slowli": [41, 70], "small": [17, 42, 52, 90, 92, 95, 96], "smaller": [10, 92], "smoothietemperaturereport": 46, "snappi": 56, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "snapshotdisplai": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "snapshoturl": 13, "snapshotwebcam": [79, 82], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "socket_authed_hook": 92, "socket_emit_hook": 92, "socket_registration_hook": 92, "sockj": [11, 56, 62, 70, 79, 93], "sockjsconnecttimeout": [79, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "solid": [41, 90], "solv": [37, 81, 96], "solver": 1, "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "some_command": 92, "some_custom_hook": 32, "some_depend": 88, "some_div": 97, "some_fil": [78, 95], "some_file_strip": 92, "some_flag": [40, 95], "some_fold": [3, 78], "some_hook": 37, "some_kei": 95, "some_key_unset": 95, "some_method": 95, "some_model": 3, "some_optional_paramet": 95, "some_other_bar": 86, "some_other_custom_hook": 32, "some_other_div": 97, "some_other_fold": 3, "some_other_hook": 37, "some_other_kei": 95, "some_other_key_unset": 95, "some_other_profil": 10, "some_other_set": 37, "some_other_valu": 95, "some_paramet": 95, "some_plugin": [7, 33, 37], "some_profil": 10, "some_set": [37, 40, 95], "some_sub_fold": 78, "some_us": 23, "some_valu": [40, 95], "some_vers": 37, "somedepend": 90, "somefil": 61, "somefunct": 57, "somegist": 33, "someimag": 74, "somekei": 57, "someon": [48, 92], "someotherparamet": 57, "someothervalu": 57, "someotherviewmodel": 97, "someparamet": 57, "somepathstofind": 61, "someplugin": 33, "somerepo": 90, "somesecretkei": 37, "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "sometim": [41, 42, 96], "someus": [11, 33, 37, 90], "somevalu": 57, "somewher": [81, 90], "soon": [8, 65, 90], "sooner": 97, "sophist": [51, 52, 82, 95], "sort": [13, 37, 42, 80, 82, 92, 95], "sort_kei": 83, "sortabl": 80, "sortableplugin": [79, 80, 95], "sorting_context": [80, 92], "sorting_ord": [79, 82], "sound": 48, "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "source_file_typ": 95, "source_loc": [11, 95], "source_nam": 47, "source_path": [11, 47, 85, 95], "source_typ": [32, 47], "space": [3, 31, 33, 37, 40, 82], "span": [40, 83], "sparingli": [22, 81, 88], "spars": [37, 82], "spec": 92, "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "spectrum": 52, "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "speed_i": 51, "speed_x": 51, "speed_z": 51, "spent": 2, "sphinx": 42, "split": [74, 78, 92], "split_path": [78, 79], "split_prefix": [79, 83], "splitext": 92, "spot": 41, "spread": 40, "squash": 90, "squish": 90, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "ss": 86, "ssdp": [25, 91], "ssdp_brows": 91, "sseof": 82, "ssh": [33, 48], "ssl": [17, 37, 82, 83], "ssliostream": 83, "stabil": 2, "stabl": [26, 29, 33, 37, 41, 42, 82], "stable_branch": [33, 89], "stable_channel": 33, "stablethreshold": [37, 79, 82], "stack": [57, 83, 86], "stacklevel": 86, "stackoverflow": [86, 90], "stage": [41, 42], "stai": [6, 40, 51, 92, 96], "stale": [11, 23], "stall": [1, 92], "stamp": 85, "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "standard_opt": [77, 79], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "start_callback": 92, "start_heartbeat": 83, "start_print": [47, 79, 81], "start_sd": 46, "startingdirectori": 42, "startonceinsafemod": [37, 55, 79, 82], "startswith": [80, 86, 92, 95], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "startupplugin": [80, 90, 92, 93], "stat": [9, 11, 48], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "state_detect_seri": 92, "state_error": 92, "state_id": 47, "state_str": 47, "statement": [39, 90, 92, 96], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "static_fold": 95, "staticdatahandl": [79, 83, 92], "staticfilehandl": [83, 92], "staticzipbundlehandl": [79, 83], "statist": [11, 37, 82], "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "statsweighinguntil": [37, 79, 82], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "status_cod": [83, 92], "stderr": 86, "stdout": [33, 39, 86], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "stepper": [48, 52], "stick": 96, "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "stl": [2, 3, 11, 47, 78, 95], "stl_locat": 47, "stock": [92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "storageinterfac": [78, 79], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "stranger": 92, "strategi": [4, 43, 56, 96], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "stream_bodi": 83, "streamed_get": [79, 83], "streamer": [37, 82], "streamhandl": 39, "streamlin": [11, 14], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamurl": 13, "streamwebrtciceserv": [79, 82], "streamwrapp": [78, 79, 92], "strict": [37, 40, 79, 82, 86], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "strip": [3, 78, 86, 92], "strip_all_com": 92, "strip_com": 92, "strong": 15, "strongli": [95, 96], "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stuck": 81, "studio": 43, "stuff": [41, 51, 90], "stun": 82, "style": [37, 42, 46, 48, 51, 82, 93, 95], "styles_cont": 95, "styles_link": 95, "styles_wrapp": 95, "stylesheet": [37, 79, 82, 90, 95], "stylesheetenum": [79, 82], "styliz": 47, "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "subclass": [57, 78, 83, 86, 90, 92, 95], "subcod": 92, "subcommand": 77, "subdirectori": 83, "subfold": [2, 3, 61, 78, 90], "subgroup": [0, 2], "subject": 95, "submit": [4, 89], "subnet": [17, 37, 48, 82], "subscrib": [9, 11, 26, 82], "subscript": [11, 37, 47, 79, 82], "subscriptiontypeenum": [79, 82], "subset": 77, "subsetting21": 40, "subsetting22": 40, "substitut": 42, "substructur": 78, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "subsystem": [24, 80, 88, 89, 94, 95], "subtre": [13, 78, 95], "succe": [14, 70, 85], "succeed": 33, "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 79, 80, 82, 86, 92, 95], "success_callback": 92, "success_or_failure_callback": 92, "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "sudo": [37, 42, 48, 96], "suffic": [11, 52, 92], "suffix": [37, 57, 82, 83, 84, 92, 95], "suggest": 96, "suit": 42, "suitabl": 42, "sum": 96, "summari": [42, 96], "summary_limit": 22, "supersed": 47, "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 42, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "support_m503": 46, "support_x3g_machinecod": 92, "supported_stylesheet": 95, "supportedextens": 95, "supportf": 46, "supportfascommand": [37, 79, 82], "supportm112": 46, "supportresendswithoutok": [37, 79, 82], "supportwait": [79, 82], "suppos": [3, 15, 88, 92, 96], "suppress": [37, 47, 81, 82, 92, 95], "suppressapplicationtitl": 42, "suppressedcommand": 47, "suppresssecondhello": [79, 82], "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "swallowokafterresend": [37, 79, 82], "swap": 21, "switch": [33, 42, 51, 81, 90, 92, 96, 97], "sy": [39, 86, 96], "symptom": 1, "synchron": 9, "syntax": [40, 51, 52, 80, 82, 90], "system": [0, 2, 3, 5, 10, 11, 13, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "systemconfig": [79, 82], "systeminfo": [82, 93], "systeminfobundlehandl": [79, 83], "systemmenu": [13, 37, 82], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "t": [0, 3, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "t0": [3, 46, 52, 82, 92], "t1": [46, 92], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tab_plugin_helloworld": 90, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2": 95, "tab_plugin_myplugin_2nd": 95, "tabtitl": 42, "tag": [33, 45, 81, 90, 92], "tailor": 34, "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "take_snapshot": 81, "take_webcam_snapshot": 95, "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "talk": [37, 62, 82], "tar": [7, 32], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "target_commitish": 33, "target_vers": 33, "targetextr0": [37, 46, 82], "task": [42, 54, 57, 80, 95], "tb": 83, "tcp": 17, "tcpserver": 83, "te": 77, "team": [7, 33], "tell": [21, 42, 78, 88, 90, 92, 93], "temp": [11, 81], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "temperature_pol": 92, "temperatureautoreport": [79, 82], "temperatureconfig": [79, 82], "temperaturegraph": [37, 79, 82], "temperatureprofil": [79, 82], "temperaturetargetset": [13, 37, 79, 82], "temperatureviewmodel": 97, "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "template_fold": 95, "template_head": 95, "template_kei": 95, "template_rul": 92, "template_sort": 92, "template_typ": 95, "templateplugin": [90, 92, 93], "templatetyp": [93, 95], "templatetype_hook": 92, "temporari": [37, 82, 83, 85], "temporarili": [33, 95, 96], "temporaryprofil": [79, 85], "tempt": 95, "ten": 92, "term": 95, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "terminalfilt": [13, 37, 79, 82], "terminalfilterentri": [79, 82], "terminallogs": [79, 82], "terminalviewmodel": 97, "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "test2": 3, "testballoon": 17, "testexecut": [62, 74], "testpath": [62, 74], "testpictur": 95, "testresolut": [62, 74], "testserv": [62, 74], "testurl": [62, 74], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textstatu": 57, "textual": [2, 6], "tgz": [7, 32], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "thank": [9, 42, 43, 52], "the_end": 40, "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "theme": 93, "themselv": [33, 39, 88, 92, 95, 97], "therefor": [4, 90, 95, 97], "therein": [33, 42, 92, 96], "thereof": 92, "thermal": 47, "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "think": 48, "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "thirdparti": [13, 37, 82], "thoroughli": 96, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "thread": [9, 37, 81, 82, 86, 92], "threadsafesess": [79, 83], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "threshold": [37, 82, 83], "throttl": [11, 33, 34, 46, 62, 81], "throttle_highprio": [37, 79, 82], "throttle_lin": [79, 82], "throttle_normalprio": [37, 79, 82], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "throughout": [81, 90, 92], "throw": [46, 57], "thrown": [81, 84, 85], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "thumb": [40, 96], "thumbnail": 16, "tick": [51, 82], "ticket": 37, "tier": [37, 82], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "timedelta": 86, "timedrotatingfilehandl": 39, "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "timelapse_admin": 16, "timelapse_delet": 16, "timelapse_extension_hook": 92, "timelapse_list": 16, "timelapse_manage_unrend": 16, "timelapse_tmp": [13, 37, 79, 82], "timelapseconfig": [79, 82], "timelapseen": [79, 82], "timelapseopt": [79, 82], "timelapsetmp": 13, "timelapsetypeenum": [79, 82], "timelapseviewmodel": 97, "timelas": 82, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutcommun": 13, "timeoutconnect": 13, "timeoutdetect": 13, "timeoutsdstatu": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "timer": 86, "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "timezon": 83, "titl": [10, 22, 37, 82, 95], "tmp": [37, 82, 83], "tmpzupkro": 83, "tn": 52, "to_byt": [79, 86, 96], "to_entri": 92, "to_list": 92, "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "to_vers": 33, "todo": 90, "togeth": [17, 51, 78, 82, 90], "toggl": 6, "toggle_pause_print": [79, 81], "toggleabl": 2, "togglepaus": [62, 63], "token": [4, 17, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "took": [47, 90], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "tool0": [6, 9, 66, 78, 81], "tool1": [9, 66, 78, 81], "toolchang": 47, "toolx": 78, "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "topic": 96, "tornado": [56, 79, 92], "tornadorouteplugin": 92, "total": [2, 37, 57, 82, 90], "totp": 95, "touch": [24, 25, 32, 37, 48, 56, 82, 90], "toward": [4, 81, 96], "trace": [83, 90], "traceback": 86, "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "tracker": 55, "traffic": 92, "trail": [57, 78], "transfer": [47, 92], "transferdon": 47, "transfering_fil": 81, "transferstart": 47, "transform": [92, 95], "transifex": 7, "translat": [7, 55, 79, 82, 90, 95], "transmit": [2, 83, 97], "transpar": [37, 82, 97], "transport": [81, 93], "travel": [2, 9, 78], "travelarea": [2, 78], "traveldimens": [2, 78], "treat": 4, "tree": [2, 13, 42, 61, 92, 95], "tremend": [40, 41, 90], "tri": [57, 58, 70, 80, 83], "trick": [40, 92], "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "trigger_ev": [47, 80, 84], "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "trigger_resend_checksum": 46, "trigger_resend_lineno": 46, "triggerokform29": [37, 79, 82], "trip": 70, "trivial": 57, "troubl": 96, "troublesom": 96, "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "truncat": 78, "trust": [37, 48, 82, 83], "trustbasicauthent": [37, 79, 82, 83], "trusted_proxi": 83, "trustedproxi": [37, 79, 82], "trustedsubnet": [37, 79, 82], "trustlocalhostproxi": [37, 79, 82], "trustremotegroup": [79, 82], "trustremoteus": [37, 79, 82, 83], "truthi": 61, "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "ttl": [22, 33, 37, 79, 82], "ttyacm0": [1, 37, 84], "tune": 46, "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "turtl": 2, "tutori": [56, 89, 93, 95], "tweak": 37, "twice": [11, 90], "twitter": 37, "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "txt": [17, 24, 25, 90, 95], "txt_record": 25, "typ": 83, "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "typeof": 57, "typeok": 17, "typepath": [2, 3, 78], "typic": 95, "u": [23, 25, 90], "ubuntu": 42, "udp": [17, 74], "ugli": 90, "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "ui_theming_hook": 92, "uiapikei": 95, "uiplugin": 93, "ul": 95, "umlaut": 3, "un": 78, "unauthent": 4, "unauthor": [4, 95], "unavail": 24, "unbind": 90, "uncaught": 83, "unchang": [77, 83], "uncom": 52, "uncommit": 45, "uncompress": 83, "unconfigur": [81, 85], "undefin": [61, 97], "under": [6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "underestim": 48, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "underneath": [86, 90], "understand": [48, 90], "unequ": 33, "unexpect": [52, 90], "unicod": [2, 37, 78, 82, 93], "unicode_liter": 96, "uninstal": [32, 34, 55, 80, 87], "union": [82, 83], "uniqu": [22, 26, 29, 34, 81, 90, 95], "unique_id": [26, 34], "unit": 86, "unittesten": 42, "univers": [37, 82], "unix": [2, 31, 83], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "unknowncommandsneedack": [37, 79, 82], "unknownprofil": [79, 85], "unknownrol": [76, 79], "unknownscriptexcept": 81, "unknownslic": [79, 85], "unknownus": [76, 79], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "unload": [21, 79, 80, 87, 88], "unlock": 34, "unpack": 54, "unquot": 40, "unrecover": [2, 47], "unregist": [80, 81], "unregister_callback": [79, 81], "unregister_finish_callback": 78, "unregister_message_receiv": [79, 80], "unrel": 95, "unreleas": [26, 29], "unrend": [5, 37, 57, 72, 82], "unresolv": 83, "unsecur": 48, "unselect": [3, 81], "unselect_fil": [79, 81], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "unsolv": 57, "unstructur": 82, "unsupport": [3, 17], "unsupportedoper": 78, "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "unto": [73, 97], "untouch": 92, "unus": [22, 23, 37, 82, 95], "up": [11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "upcom": 96, "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "update_check_overlai": 33, "update_config_hook": 33, "update_fold": 33, "update_script": 33, "updatedfil": 47, "updateplugindemo": 33, "updateprofileforslic": [62, 69], "upgrad": 42, "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "uploadoverwriteconfirm": [79, 82], "uploadsconfig": [79, 82], "uploadstoragefallbackhandl": [79, 83], "upnp": 25, "upnpuuid": 25, "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "upper": [32, 33, 70, 92, 95], "uppercas": [37, 82, 92], "upward": 52, "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "url_for": [62, 92, 95], "urlforwardhandl": 92, "urlproxyhandl": [79, 83, 92], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "usabl": [57, 78, 80], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "use_enum_valu": 82, "usefrozendictforprinterst": [79, 82], "useparityworkaround": [79, 82], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 78, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "user_ag": 95, "user_group": 92, "user_id": [23, 83], "user_manag": 92, "user_manager_factory_hook": 92, "user_onli": 95, "user_token": 23, "userag": 95, "useralreadyexist": [76, 79], "userdata": [3, 47, 61], "userfil": [37, 79, 82], "userid": [70, 92], "userloggedin": 47, "userloggedout": 47, "usermanag": [37, 79, 80, 82, 83, 92, 94], "usernam": [0, 4, 17, 23, 25, 33, 47, 58, 70, 76], "userset": [13, 37, 79, 82, 95], "usersettings_mfa": 95, "usersettingsviewmodel": 97, "usersviewmodel": 97, "usessl": 25, "usr": 96, "ustyantsev": 29, "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "utc": 83, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "uuid": 25, "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "v1": [82, 83], "v3": 56, "v6": 82, "v6_onli": 77, "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "valid_ax": [79, 81], "valid_boolean_tru": [79, 84], "valid_file_typ": [92, 95], "valid_heater_regex": [79, 81], "valid_heater_regex_no_curr": [79, 81], "valid_tool_regex": [79, 81], "validate_default": 82, "validate_local_redirect": [79, 83], "validityrang": [37, 79, 82], "validssl": 17, "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "valuabl": [26, 34], "value1": [25, 40, 86], "value11": 40, "value2": [25, 86], "valueerror": [78, 80, 83, 84, 85, 86], "vanish": 81, "var": [57, 58, 61, 62, 70, 74, 90, 97], "variabl": [9, 24, 34, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "variant": [4, 33, 40, 62, 89, 92], "variou": [5, 25, 33, 34, 35, 37, 42, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "vase": 16, "vcodec": 82, "ve": [90, 96], "vendor": [25, 32], "vendorurl": 25, "venv": [42, 90, 96], "venv2": 96, "venv3": 96, "venv37": 96, "verbos": 77, "veri": [40, 41, 48, 54, 62, 70, 81, 90, 95, 97], "verif": 95, "verifi": [24, 83, 89, 95], "versa": 84, "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "versionad": 33, "vertic": [37, 51, 79, 82], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "vice": 84, "video": [16, 17, 37, 82, 95], "videocodec": [37, 82], "view": [51, 83, 84, 86, 90, 92, 95, 97], "viewer": [13, 30, 38, 48, 56, 97], "viewmodel": [56, 93], "viewport": 95, "violet": [37, 79, 82], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "virtual_print": [35, 46, 92], "virtualenv": [42, 90, 96], "virtualsd": [37, 79, 82], "visibl": [40, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "visualstudio": 42, "void": 90, "volum": [2, 3, 6, 10, 51, 52, 78, 81], "vscode": 43, "w": [17, 24, 46, 95], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "wait_for_handshak": 83, "waitforstartonconnect": [37, 79, 82], "waitinterv": 46, "waittoloadsdfilelist": [37, 79, 82], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "warn_about_risky_set": [79, 84], "wasn": 9, "watch": [37, 42, 79, 82, 95], "watcher": 42, "watermark": [37, 79, 82], "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "webasset": [37, 62, 79, 82, 90], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "webcamcompat": [79, 82], "webcamconfig": [79, 82], "webcamen": [79, 82], "webcamnam": 95, "webcamproviderplugin": 93, "webcamsnapshothandl": [79, 83], "webinterfac": 23, "webkitformboundarydec2e3iwbtv1pwmc": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "webkitformboundarypyisux63abamht5c": 83, "webpag": 88, "webrtc": 82, "webserv": [9, 92], "websit": [4, 22, 56, 78, 80, 90], "websocket": 83, "websockethandl": 83, "weight": [23, 37, 82], "weird": 96, "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "welt": 90, "went": [48, 57], "were": [19, 47, 55, 78, 90, 92, 95, 96], "werkzeug": 95, "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "whatev": [88, 92, 95], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "whenev": [33, 48, 55, 95], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "wherev": 55, "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "whichev": 96, "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "whistle_": 3, "whistle_v2": [3, 6], "whistle_v2_copi": 3, "white": 40, "whitelist": [17, 86], "whitespac": 40, "whl": 32, "who": [2, 23, 47, 48, 78, 83, 95], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "whose": [86, 88, 92, 95], "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "wide": [42, 68], "width": [2, 10, 51, 78, 81, 90, 95], "wiki": [37, 49, 54, 90], "wikipedia": 90, "will_handle_ui": 95, "win32": 86, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "winless": 90, "wish": [11, 37, 82, 87, 90, 92], "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 81, 82, 83, 86, 90, 92, 95, 96], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "wizardplugin": [19, 93, 97], "wizardviewmodel": 97, "wlan0": 48, "won": [9, 32, 48, 87, 91, 95], "wonder": 9, "word": [47, 84], "work": [6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "workflow": [4, 30, 62, 95], "workspacefold": 42, "world": [20, 37, 86, 90, 92, 95], "wors": 9, "worst": 92, "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "wouldn": 56, "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "wrapper": [78, 83, 85, 95], "wrench": [32, 33], "writabl": [17, 78, 79], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "writetimeout": 92, "writeup": 89, "written": [37, 80, 82, 83, 96], "wrong": [4, 23, 48, 52, 57, 92, 95], "wrongmfacredenti": 95, "wrote": 96, "wsgi": [9, 83], "wsgi_app": 83, "wsgi_appl": 83, "wsgicontain": 83, "wsgiinputcontain": [79, 83], "www": [37, 82, 83, 86], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "x0": [51, 52], "x10": [51, 92], "x145": 9, "x147": 9, "x148": 9, "x149": 9, "x2": 51, "x3g": 92, "x64": 42, "x86": 42, "x_max": 81, "x_min": 81, "xcode": 42, "xcodebuild": 42, "xmlhttprequest": [4, 57], "xormedia": 86, "xss": 95, "xxlarg": 90, "xyz": 52, "xyze": 52, "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "y0": [51, 52], "y107": 9, "y108": 9, "y112": 9, "y2": 51, "y_max": 81, "y_min": 81, "yai": 40, "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "yamlpatch": 55, "ye": [9, 40, 96], "year": 96, "yellow": [10, 22, 37, 79, 82], "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "yetanotherhook": 92, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "yield": [51, 78, 86, 90], "yml": [4, 90], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "your_plugins_slicing_progress": 95, "youraddressrang": 48, "yourcustomviewmodel": 97, "yourgithubnam": 90, "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "yourusernam": 48, "yte": 86, "yyyi": [82, 86], "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "z0": 92, "z1": 51, "z10": 51, "z_max": 81, "z_min": 81, "zchang": [16, 37, 47, 79, 82], "zero": [15, 86], "zeroconf": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "zip": [7, 24, 32, 33, 54, 90, 93], "zlib": 86}, "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "titleterms": {"": [0, 3, 41, 45, 56, 90], "3": 96, "A": 40, "If": 48, "The": 48, "_http": 25, "_octoprint": 25, "_tcp": 25, "about": [6, 9, 19], "abridg": 2, "absolut": [48, 96], "access": [0, 2, 37, 48, 76, 92], "access_valid": 92, "accesscontrol": 92, "action": [20, 21, 49, 92], "actual": 90, "ad": 90, "add": [0, 10, 14, 90], "addit": 19, "additional_bundle_fil": 92, "additional_command": 92, "additional_exclud": [24, 92], "additional_port_nam": 92, "additional_state_data": 92, "address": 17, "adjust": 90, "after": 89, "after_backup": [24, 92], "after_request": 92, "after_restor": [24, 92], "all": [0, 3, 10, 14, 15], "an": [9, 10, 16, 23, 70], "analysi": [2, 37, 78, 92], "announc": [22, 25], "anonym": 34, "api": [0, 5, 23, 31, 37, 92], "appear": 37, "applic": 23, "ar": 48, "arbitrari": 9, "assetplugin": 95, "atcommand": 92, "auth": [23, 70, 92], "author": [4, 23], "autologin": 48, "autologinconfig": 48, "avail": [31, 47, 48, 92, 95], "backup": [24, 92], "basic": 40, "bed": 9, "before_backup": [24, 92], "before_request": 92, "before_restor": [24, 92], "blueprintplugin": 95, "bodys": 92, "boolean": 40, "branch": 41, "browser": 58, "build": 42, "bundl": [30, 52], "byte": 96, "callback": 97, "capability_report": 92, "capabl": 92, "captur": 92, "chamber": 9, "chang": [0, 16, 39], "check": [27, 28, 33], "check_config": [33, 92], "checklist": 96, "cli": [36, 77, 92], "client": [15, 23, 31, 62], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "comm": 92, "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "commandlin": 86, "common": [2, 33, 96], "commun": [20, 21, 47, 70], "compon": [7, 90], "concept": [87, 92, 95], "config": [16, 37, 48, 82], "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "connect": [1, 11, 59], "contain": 51, "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "context": 52, "control": [0, 2, 9, 37, 48, 51, 60, 88], "core": 80, "creat": 3, "create_backup": 24, "credenti": 33, "cross": 4, "csrf": 4, "css": 90, "current": [4, 6, 9, 11, 13, 16], "custom": [9, 51, 90, 97], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "debug": 46, "decid": 23, "decis": 23, "definit": 15, "delet": [0, 3, 7, 14, 16, 31], "delete_backup": 24, "depend": 97, "destin": 78, "dev": 77, "develop": [37, 42, 43, 54, 93], "diagram": 97, "dialog": [23, 92], "dictionari": 40, "differ": 55, "disabl": 48, "discoveri": 25, "distribut": [89, 90], "divis": 96, "do": 90, "document": 56, "dure": 96, "easi": 48, "edit": 48, "emit": 92, "enabl": 46, "encod": 4, "entri": [19, 23], "environ": [42, 96], "error": [9, 26, 44, 92], "estim": [37, 92], "event": [11, 24, 32, 33, 37, 47, 52, 92], "eventhandlerplugin": 95, "exampl": [20, 21, 25, 40, 47, 51, 52], "except": [33, 85], "execut": [15, 92, 95], "exist": [10, 23], "extens": [48, 92], "extension_tre": 92, "factori": 92, "featur": [37, 53], "fetch": [13, 23], "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "filemanag": [78, 92], "filter": [37, 96], "find": 54, "finish": 19, "firmwar": [20, 21, 28, 92], "first": 33, "flask": 83, "float": 40, "folder": [2, 3, 37], "formatt": 39, "from": [3, 90, 96], "frontend": 90, "full": 9, "fun": 90, "function": 90, "further": [25, 96], "galor": 90, "gather": 48, "gcode": [2, 29, 37, 47, 51, 52, 92], "gener": [4, 87, 92, 95], "get": [0, 1, 96], "global": 33, "go": 90, "group": [0, 2], "grow": 90, "handl": [1, 47], "handle_connect": 92, "handler": 39, "hard": 48, "head": 9, "hello": 90, "helper": [24, 33, 91], "here": 90, "histor": 2, "histori": [2, 11], "hook": [24, 32, 33, 48, 92], "how": [55, 90, 96], "http": 92, "i": 96, "id": 42, "import": 96, "info": 92, "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "inject": [90, 94, 95], "instal": [7, 54, 89], "instead": 96, "int": 40, "integ": 96, "interest": 40, "interfac": [90, 97], "intern": [48, 79], "issu": [1, 3, 6, 9, 16, 23], "iter": 96, "j": 31, "javascript": [23, 62, 90], "job": [2, 6, 63], "kei": [0, 23], "keyvalid": 92, "languag": [7, 64], "last": 9, "level": 39, "librari": [23, 31, 62], "lifecycl": [87, 97], "line": [24, 33], "linux": 42, "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "locat": 3, "log": [8, 31, 39, 46, 65], "logfil": 31, "login": [4, 48], "logout": 4, "mac": 42, "make": 90, "manag": [8, 32, 89], "manual": [48, 54, 89], "map": 96, "matter": 90, "metadata": 7, "method": 33, "mfaplugin": 95, "migrat": 96, "mixin": 95, "mode": 55, "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "modul": 79, "more": [52, 90], "need": 2, "new": [0, 10], "nifti": 52, "normal": 55, "notif": 20, "o": 42, "obtain": 42, "octopi": 48, "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "offici": 89, "offset": 2, "oper": [3, 6, 9, 10, 55], "option": [42, 46], "order": [92, 95], "origin": 4, "pack": 7, "packag": 89, "page": 90, "parameter": 51, "part": 90, "password": 0, "path": 17, "pattern": 33, "paus": 52, "payload": 11, "pend": 23, "permiss": [0, 2, 48, 92], "phase": 92, "pip": 89, "pitfal": 96, "placehold": 47, "platform": 86, "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "pluginmanag": [32, 92], "point": 2, "poll": 23, "post": 92, "pre": 92, "predefin": 52, "prepar": 48, "preprocessor": 92, "primer": 40, "print": [2, 9, 47], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "printerprofil": 67, "probe": 23, "process": [23, 47], "profil": [10, 14, 37, 44, 47, 81], "progress": 2, "progressplugin": 95, "prompt": 21, "proper": 89, "properti": [88, 94, 95], "protect": 4, "protocol": 92, "push": 11, "pycharm": 42, "python": 96, "read": 96, "readi": 96, "receiv": 92, "recommend": 42, "reconnect": 97, "reconnect_hook": [32, 92], "record": 2, "redirect": 23, "refer": [2, 31], "regener": 0, "regist": [15, 19, 89, 92, 97], "register_custom_ev": 92, "registr": 0, "relat": 2, "releas": 89, "reloadneedingplugin": 95, "remov": 10, "render": 16, "repositori": 89, "request": [0, 4, 9, 10, 14, 23, 44], "requir": 48, "resend": 2, "resolut": 17, "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "rest": 5, "restartneedingplugin": 95, "result": 17, "resum": 52, "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "rout": 92, "rule": 40, "run": 42, "safe": 55, "sai": 90, "sampl": 70, "save": 13, "scalar": 40, "schema": 82, "script": [37, 51, 52, 92], "sd": 9, "sdcardupload": 92, "send": 9, "serial": [37, 92], "server": [12, 17, 37, 47, 77, 83, 92], "servic": 25, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "settingsplugin": 95, "setup": [42, 48, 70], "shutdownplugin": 95, "simpleapiplugin": 95, "singl": 10, "slice": [14, 37, 47, 69, 85], "slicer": 14, "slicerplugin": 95, "slicingprogress": 11, "snippet": 52, "socket": 70, "sockj": [83, 92], "softwar": 33, "softwareupd": [33, 92], "someth": 90, "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "specif": [3, 14, 31, 48, 96], "start": [23, 55], "startup": 97, "startupplugin": 95, "stat": 2, "state": [2, 9], "statist": 2, "step": [33, 48], "storag": 78, "strategi": 45, "string": 40, "studio": 42, "style": 90, "support": [20, 21, 23], "system": [15, 37, 71, 92], "systeminfo": 92, "tell": 96, "temperatur": [2, 9, 37, 92], "templat": 13, "templateplugin": 95, "templatetyp": 92, "termin": 37, "test": 17, "theme": [48, 92], "throttl": 70, "time": 16, "timelaps": [16, 47, 72, 92], "todo": 42, "tool": [9, 42], "tornado": 83, "track": [26, 34], "transport": 92, "trigger": 16, "tutori": 90, "type": [4, 40, 51, 80], "ui": 92, "uiplugin": 95, "unicod": 96, "unrend": 16, "up": [42, 46, 90], "updat": [0, 10, 11, 14, 33], "upload": [3, 7], "url": 17, "us": 48, "usag": [24, 33, 34], "user": [0, 2, 4, 73, 76, 90, 92], "util": [17, 33, 74, 78, 83, 86], "v": [55, 96], "variou": 17, "version": [18, 33, 45, 89, 96], "version_check": 33, "via": 89, "viewer": [29, 37], "viewmodel": 97, "virtual": [35, 46, 96], "visual": 42, "vpn": 48, "vscode": 42, "wai": 48, "we": 90, "web": [90, 92, 97], "webcam": [37, 82], "webcamproviderplugin": 95, "welcom": 56, "where": 90, "window": 42, "wizard": [19, 75], "wizardplugin": 95, "workflow": 23, "x": 42, "yaml": [37, 39, 40, 48], "you": 48, "your": [48, 89, 90, 96], "z": 16, "zeroconf": 25, "zip": 96}}) \ No newline at end of file diff --git a/maintenance/_static/_sphinx_javascript_frameworks_compat.js b/maintenance/_static/_sphinx_javascript_frameworks_compat.js index 8549469dc..81415803e 100644 --- a/maintenance/_static/_sphinx_javascript_frameworks_compat.js +++ b/maintenance/_static/_sphinx_javascript_frameworks_compat.js @@ -1,20 +1,9 @@ -/* - * _sphinx_javascript_frameworks_compat.js - * ~~~~~~~~~~ - * - * Compatability shim for jQuery and underscores.js. - * - * WILL BE REMOVED IN Sphinx 6.0 - * xref RemovedInSphinx60Warning +/* Compatability shim for jQuery and underscores.js. * + * Copyright Sphinx contributors + * Released under the two clause BSD licence */ -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - - /** * small helper function to urldecode strings * diff --git a/maintenance/_static/basic.css b/maintenance/_static/basic.css index eeb0519a6..f316efcb4 100644 --- a/maintenance/_static/basic.css +++ b/maintenance/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -236,17 +236,11 @@ div.body p, div.body dd, div.body li, div.body blockquote { a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} -a.brackets:after, -span.brackets > a:after { - content: "]"; +a:visited { + color: #551A8B; } - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -334,11 +328,17 @@ aside.sidebar { p.sidebar-title { font-weight: bold; } + +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; padding: 7px; @@ -377,6 +377,8 @@ div.body p.centered { div.sidebar > :last-child, aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; @@ -384,6 +386,8 @@ div.admonition > :last-child { div.sidebar::after, aside.sidebar::after, +nav.contents::after, +aside.topic::after, div.topic::after, div.admonition::after, blockquote::after { @@ -608,19 +612,27 @@ ol.simple p, ul.simple p { margin-bottom: 0; } -dl.footnote > dt, -dl.citation > dt { + +aside.footnote > span, +div.citation > span { float: left; - margin-right: 0.5em; } - -dl.footnote > dd, -dl.citation > dd { +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { margin-bottom: 0em; } - -dl.footnote > dd:after, -dl.citation > dd:after { +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { content: ""; clear: both; } @@ -636,10 +648,6 @@ dl.field-list > dt { padding-left: 0.5em; padding-right: 5px; } -dl.field-list > dt:after { - content: ":"; -} - dl.field-list > dd { padding-left: 0.5em; @@ -666,6 +674,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -734,6 +752,14 @@ abbr, acronym { cursor: help; } +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + /* -- code displays --------------------------------------------------------- */ pre { diff --git a/maintenance/_static/doctools.js b/maintenance/_static/doctools.js index 527b876ca..4d67807d1 100644 --- a/maintenance/_static/doctools.js +++ b/maintenance/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/maintenance/_static/documentation_options.js b/maintenance/_static/documentation_options.js index 58f764baf..c35e0abfd 100644 --- a/maintenance/_static/documentation_options.js +++ b/maintenance/_static/documentation_options.js @@ -1,5 +1,4 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), +const DOCUMENTATION_OPTIONS = { VERSION: 'maintenance', LANGUAGE: 'en', COLLAPSE_INDEX: false, diff --git a/maintenance/_static/jquery-3.6.0.js b/maintenance/_static/jquery-3.6.0.js deleted file mode 100644 index fc6c299b7..000000000 --- a/maintenance/_static/jquery-3.6.0.js +++ /dev/null @@ -1,10881 +0,0 @@ -/*! - * jQuery JavaScript Library v3.6.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 - // Plus for old WebKit, typeof returns "function" for HTML collections - // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) - return typeof obj === "function" && typeof obj.nodeType !== "number" && - typeof obj.item !== "function"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.6.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : 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.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), - function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); - } ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.6 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2021-02-16 - */ -( function( window ) { -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - return nonHex ? - - // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - /* jshint -W018 */ - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem && elem.namespaceURI, - docElem = elem && ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } - } - - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; - } ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); - } ); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; - } ); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); - - assert( function( el ) { - el.innerHTML = "" + - ""; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } - - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { - - assert( function( el ) { - - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( support.matchesSelector && documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ - - }; - }, - - "CHILD": function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - "not": markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element (issue #299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - "has": markFunction( function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - } ), - - "contains": markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); - }, - - "selected": function( elem ) { - - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo( function() { - return [ 0 ]; - } ), - - "last": createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - "even": createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "odd": createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = ""; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = ""; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -} -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the primary Deferred - primary = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - primary.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( primary.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return primary.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); - } - - return primary.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting
              or other required elements. - thead: [ 1, "

              order

              ", "
              " ], - col: [ 2, "", "
              " ], - tr: [ 2, "", "
              " ], - td: [ 3, "", "
              " ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { - - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var notAsync, result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); - this[ type ](); - result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - - // Support: Chrome 86+ - // In Chrome, if an element having a focusout handler is blurred by - // clicking outside of it, it invokes the handler synchronously. If - // that handler calls `.remove()` on the element, the data is cleared, - // leaving `result` undefined. We need to guard against this. - return result && result.value; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { - - // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - which: true -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - // Suppress native focus or blur as it's already being fired - // in leverageNative. - _default: function() { - return true; - }, - - delegateType: delegateType - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - // - // Support: Firefox 70+ - // Only Firefox includes border widths - // in computed dimensions. (gh-4529) - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; - tr.style.cssText = "border:1px solid"; - - // Support: Chrome 86+ - // Height set through cssText does not get applied. - // Computed height then comes back as 0. - tr.style.height = "1px"; - trChild.style.height = "9px"; - - // Support: Android 8 Chrome 86+ - // In our bodyBackground.html iframe, - // display for all div elements is set to "inline", - // which causes a problem only in Android 8 Chrome 86. - // Ensuring the div is display: block - // gets around this issue. - trChild.style.display = "block"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + - parseInt( trStyle.borderTopWidth, 10 ) + - parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( isValidValue ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = classesToArray( value ); - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -support.focusin = "onfocusin" in window; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, parserErrorElem; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) {} - - parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; - if ( !xml || parserErrorElem ) { - jQuery.error( "Invalid XML: " + ( - parserErrorElem ? - jQuery.map( parserErrorElem.childNodes, function( el ) { - return el.textContent; - } ).join( "\n" ) : - data - ) ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ).filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ).map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - -originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script but not if jsonp - if ( !isSuccess && - jQuery.inArray( "script", s.dataTypes ) > -1 && - jQuery.inArray( "json", s.dataTypes ) < 0 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( " - - - - - - + + + + + + + @@ -179,8 +179,8 @@
              -

              Access control

              -
              +

              Access control

              +
              +
              -

              Permissions

              +

              Permissions

              -

              List all permissions

              +

              List all permissions

              -GET /api/access/permissions
              +GET /api/access/permissions

              Retrieves all permissions available in the system.

              Will return a 200 OK with a permission list as body.

              -
              Status Codes
              +
              Status Codes:
              @@ -262,18 +262,18 @@
              -

              Groups

              +

              Groups

              -

              Get group list

              +

              Get group list

              -GET /api/access/groups
              +GET /api/access/groups

              Retrieves all groups registered in the system.

              Will return a 200 OK with a group list as body.

              Requires the SETTINGS permission.

              -
              Status Codes
              +
              Status Codes:
              @@ -283,16 +283,16 @@
              -

              Add a new group

              +

              Add a new group

              -POST /api/access/groups
              +POST /api/access/groups

              Adds a new group to the system.

              Expects a group registration request as request body.

              Will return a group list response on success.

              Requires the SETTINGS permission and a recent credentials check.

              -
              JSON Parameters
              +
              JSON Parameters:
              • key – The group’s identifier

              • name – The user’s name

              • @@ -302,7 +302,7 @@
              • default – Whether the group should be assigned to new users by default or not

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -315,16 +315,16 @@

              -

              Retrieve a group

              +

              Retrieve a group

              -GET /api/access/groups/(string: key)
              +GET /api/access/groups/(string: key)

              Retrieves an individual group record.

              Will return a 200 OK with a group record as body.

              Requires the SETTINGS permission.

              -
              Status Codes
              +
              Status Codes:
              @@ -334,16 +334,16 @@
              -

              Update a group

              +

              Update a group

              -PUT /api/access/groups/(string: key)
              +PUT /api/access/groups/(string: key)

              Updates an existing group.

              Expects a group update request as request body.

              Will return a group list response on success.

              Requires the SETTINGS permission and a recent credentials check.

              -
              JSON Parameters
              +
              JSON Parameters:
              • description – A human readable description of the group

              • permissions – The permissions to assign to the group

              • @@ -351,7 +351,7 @@
              • default – Whether the group should be assigned to new users by default or not

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -363,15 +363,15 @@

              -

              Delete a group

              +

              Delete a group

              -DELETE /api/access/groups/(string: key)
              +DELETE /api/access/groups/(string: key)

              Deletes a group.

              Will return a group list response on success.

              Requires the SETTINGS permission and a recent credentials check.

              -
              Status Codes
              +
              Status Codes:
              @@ -382,19 +382,19 @@
              -

              Users

              +

              Users

              -

              Retrieve a list of users

              +

              Retrieve a list of users

              -GET /api/access/users
              +GET /api/access/users

              Retrieves a list of all registered users in OctoPrint.

              Will return a 200 OK with a user list response as body.

              Requires the SETTINGS permission.

              -
              Status Codes
              +
              Status Codes:
              @@ -403,21 +403,21 @@
              -

              Retrieve a user

              +

              Retrieve a user

              -GET /api/access/users/(string: username)
              +GET /api/access/users/(string: username)

              Retrieves information about a user.

              Will return a 200 OK with a user record as body.

              Requires either the SETTINGS permission or to be logged in as the user.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user which to retrieve

              -
              Status Codes
              +
              Status Codes:
              -

              Add a new user

              +

              Add a new user

              -POST /api/access/users
              +POST /api/access/users

              Adds a user to OctoPrint.

              Expects a user registration request as request body.

              Returns a list of registered users on success, see Retrieve a list of users.

              Requires the SETTINGS permission and a recent credentials check.

              -
              JSON Parameters
              +
              JSON Parameters:
              • name – The user’s name

              • password – The user’s password

              • @@ -446,7 +446,7 @@
              • admin – Whether to give the account admin rights (true) or not (false)

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -459,28 +459,28 @@

              -

              Update a user

              +

              Update a user

              -PUT /api/access/users/(string: username)
              +PUT /api/access/users/(string: username)

              Updates a user record.

              Expects a user update request as request body.

              Returns a list of registered users on success, see Retrieve a list of users.

              Requires the SETTINGS permission and a recent credentials check.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to update

              -
              JSON Parameters
              +
              JSON Parameters:
              • admin – Whether to mark the user as admin (true) or not (false), can be left out (no change)

              • active – Whether to mark the account as activated (true) or deactivated (false), can be left out (no change)

              -
              Status Codes
              +
              Status Codes:
              -

              Delete a user

              +

              Delete a user

              -DELETE /api/access/users/(string: username)
              +DELETE /api/access/users/(string: username)

              Delete a user record.

              Returns a list of registered users on success, see Retrieve a list of users.

              Requires the SETTINGS permission and a recent credentials check.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to delete

              -
              Status Codes
              +
              Status Codes:
              -

              Change a user’s password

              +

              Change a user’s password

              -PUT /api/access/users/(string: username)/password
              +PUT /api/access/users/(string: username)/password

              Changes the password of a user.

              Expects a JSON object with a property password containing the new password as request body. Without the SETTINGS permission, an additional property current @@ -526,18 +526,18 @@

              Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check. Note that current will be evaluated even in presence of the SETTINGS permission, if set.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to change the password for

              -
              JSON Parameters
              +
              JSON Parameters:
              • password – The new password to set

              • current – The current password

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 400 Bad Request – If the request doesn’t contain a password property, doesn’t @@ -553,21 +553,21 @@

              -

              Get a user’s settings

              +

              Get a user’s settings

              -GET /api/access/users/(string: username)/settings
              +GET /api/access/users/(string: username)/settings

              Retrieves a user’s settings.

              Will return a 200 OK with a JSON object representing the user’s personal settings (if any) as body.

              Requires the SETTINGS permission or to be logged in as the user.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to retrieve the settings for

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 403 Forbidden – No admin rights and not logged in as the user

              • @@ -579,21 +579,21 @@
              -

              Update a user’s settings

              +

              Update a user’s settings

              -PATCH /api/access/users/(string: username)/settings
              +PATCH /api/access/users/(string: username)/settings

              Updates a user’s settings.

              Expects a new settings JSON object to merge with the current settings as request body.

              Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to retrieve the settings for

              -
              Status Codes
              +
              Status Codes:
              • 204 No Content – No error

              • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

              • @@ -605,21 +605,21 @@
              -

              Regenerate a user’s api key

              +

              Regenerate a user’s api key

              -POST /api/access/users/(string: username)/apikey
              +POST /api/access/users/(string: username)/apikey

              Generates a new API key for the user.

              Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

              Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to retrieve the settings for

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

              • @@ -631,19 +631,19 @@
              -

              Delete a user’s api key

              +

              Delete a user’s api key

              -DELETE /api/access/users/(string: username)/apikey
              +DELETE /api/access/users/(string: username)/apikey

              Deletes a user’s personal API key.

              Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

              -
              Parameters
              +
              Parameters:
              • username – Name of the user to retrieve the settings for

              -
              Status Codes
              +
              Status Codes:
              • 204 No Content – No error

              • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

              • @@ -656,17 +656,17 @@
              -

              Data model

              +

              Data model

              -

              Permissions

              +

              Permissions

              -

              Permission list response

              - +

              Permission list response

              +
              ----++++ @@ -686,15 +686,15 @@
              -

              Groups

              +

              Groups

              -

              Group list response

              -

              Name

              +

              Group list response

              +
              ----++++ @@ -713,13 +713,13 @@

              Name

              -

              Group registration request

              - +

              Group registration request

              +
              ----++++ @@ -763,13 +763,13 @@

              Name

              -

              Group update request

              - +

              Group update request

              +
              ----++++ @@ -804,15 +804,15 @@
              -

              Users

              +

              Users

              -

              User list response

              -

              Name

              +

              User list response

              +
              ----++++ @@ -831,13 +831,13 @@

              Name

              -

              User registration request

              - +

              User registration request

              +
              ----++++ @@ -876,13 +876,13 @@

              Name

              -

              User update request

              - +

              User update request

              +
              ----++++ diff --git a/maintenance/api/connection.html b/maintenance/api/connection.html index ba16a86cf..e990d2f51 100644 --- a/maintenance/api/connection.html +++ b/maintenance/api/connection.html @@ -1,26 +1,26 @@ - + - + Connection handling — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -150,8 +150,8 @@
              -

              Connection handling

              -
              +

              Connection handling

              +
              +
              -

              Get connection settings

              +

              Get connection settings

              -GET /api/connection
              +GET /api/connection

              Retrieve the current connection settings, including information regarding the available baudrates and serial ports and the current connection state.

              Requires the STATUS permission.

              @@ -199,7 +199,7 @@
              -
              Status Codes
              +
              Status Codes:
              @@ -209,10 +209,10 @@
              -

              Issue a connection command

              +

              Issue a connection command

              -POST /api/connection
              +POST /api/connection

              Issue a connection command. Currently available command are:

              connect

              Instructs OctoPrint to connect or, if already connected, reconnect to the printer. Additional parameters are:

              @@ -286,7 +286,7 @@
              -
              JSON Parameters
              +
              JSON Parameters:
              • command (string) – The command to issue, either connect, disconnect or fake_ack.

              • port (string) – connect command: The port to connect to. If left out either the existing portPreference @@ -303,7 +303,7 @@ startup. If not set no changes will be made to the current setting.

              -
              Status Codes
              +
              Status Codes:
              • 204 No Content – No error

              • 400 Bad Request – If the selected port or baudrate for a connect command are not part of the available diff --git a/maintenance/api/datamodel.html b/maintenance/api/datamodel.html index 44a541547..0552764e3 100644 --- a/maintenance/api/datamodel.html +++ b/maintenance/api/datamodel.html @@ -1,26 +1,26 @@ - + - + Common data model — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -177,8 +177,8 @@

                -

                Common data model

                -
                +

                Common data model

                +
              - +

              Name

              +

              Printer State

              +
              ----++++ @@ -304,13 +304,13 @@

              Name

              -

              Temperature Data

              - +

              Temperature Data

              +
              ----++++ @@ -339,13 +339,13 @@

              Name

              -

              Historic Temperature Data Point

              - +

              Historic Temperature Data Point

              +
              ----++++ @@ -375,13 +375,13 @@

              Name

              -

              Temperature offset

              - +

              Temperature offset

              +
              ----++++ @@ -405,13 +405,13 @@

              Name

              -

              Resend stats

              - +

              Resend stats

              +
              ----++++ @@ -441,15 +441,15 @@

              Name

              +

              Job information

              +
              ----++++ @@ -493,13 +493,13 @@

              Name

              -

              Progress information

              - +

              Progress information

              +
              ----++++ @@ -550,15 +550,15 @@

              Name

              +

              File information

              +
              ----++++ @@ -609,13 +609,13 @@ For a type value of folder, see Folders. For any other value see Files.

              -

              Folders

              -

              Name

              +

              Folders

              +
              ----++++ @@ -640,13 +640,13 @@

              Name

              -

              Files

              - +

              Files

              +
              ----++++ @@ -703,13 +703,13 @@
              -

              Abridged file or folder information

              -

              Name

              +

              Abridged file or folder information

              +
              ----++++ @@ -752,13 +752,13 @@

              Name

              -

              GCODE analysis information

              - +

              GCODE analysis information

              +
              ----++++ @@ -902,13 +902,13 @@

              Name

              -

              References

              - +

              References

              +
              ----++++ @@ -938,13 +938,13 @@

              Name

              -

              Permission record

              - +

              Permission record

              +
              ----++++ @@ -1131,13 +1131,13 @@

              Name

              -

              Group record

              - +

              Group record

              +
              ----++++ @@ -1202,13 +1202,13 @@

              Name

              -

              Needs

              - +

              Needs

              +
              ----++++ diff --git a/maintenance/api/files.html b/maintenance/api/files.html index a3edcee3e..d9e83bcb8 100644 --- a/maintenance/api/files.html +++ b/maintenance/api/files.html @@ -1,26 +1,26 @@ - + - + File operations — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -159,8 +159,8 @@
              -

              File operations

              -
              +

              File operations

              +
              +
              -

              Retrieve all files

              +

              Retrieve all files

              -GET /api/files
              +GET /api/files

              Retrieve information regarding all files currently available and regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. Note that @@ -398,13 +398,13 @@

              -
              Parameters
              +
              Parameters:
              • force – If set to true, forces a refresh, overriding the cache.

              • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

              -
              Status Codes
              +
              Status Codes:
              @@ -414,10 +414,10 @@
              -

              Retrieve files from specific location

              +

              Retrieve files from specific location

              -GET /api/files/(string: location)
              +GET /api/files/(string: location)

              Retrieve information regarding the files currently available on the selected location and – if targeting the local location – regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. @@ -473,7 +473,7 @@

              -
              Parameters
              +
              Parameters:
              • location – The origin location from which to retrieve the files. Currently only local and sdcard are supported, with local referring to files stored in OctoPrint’s uploads folder and sdcard @@ -482,7 +482,7 @@

              • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 404 Not Found – If location is neither local nor sdcard

              • @@ -493,10 +493,10 @@
              -

              Upload file or create folder

              +

              Upload file or create folder

              -POST /api/files/(string: location)
              +POST /api/files/(string: location)

              Upload a file to the selected location or create a new empty folder on it.

              Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload. A Content-Length header specifying @@ -641,14 +641,14 @@

              -
              Parameters
              +
              Parameters:
              • location – The target location to which to upload the file. Currently only local and sdcard are supported here, with local referring to OctoPrint’s uploads folder and sdcard referring to the printer’s SD card. If an upload targets the SD card, it will also be stored locally first.

              -
              Form Parameters
              +
              Form Parameters:
              • file – The file to upload, including a valid filename.

              • path – The path within the location to upload the file to or create the folder in (without the future @@ -666,7 +666,7 @@

              • foldername – The name of the folder to create. Ignored when uploading a file.

              -
              Status Codes
              +
              Status Codes:
              • 201 Created – No error

              • 400 Bad Request – If no file or foldername are included in the request, userdata was provided but could @@ -685,10 +685,10 @@

              -

              Retrieve a specific file’s or folder’s information

              +

              Retrieve a specific file’s or folder’s information

              -GET /api/files/(string: location)/(path: filename)
              +GET /api/files/(string: location)/(path: filename)

              Retrieves the selected file’s or folder’s information.

              If the file is unknown, a 404 Not Found is returned.

              If the targeted path is a folder, by default only its direct children will be returned. If recursive is @@ -733,14 +733,14 @@

              -
              Parameters
              +
              Parameters:
              • location – The location of the file for which to retrieve the information, either local or sdcard.

              • filename – The filename of the file for which to retrieve the information

              • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 404 Not Found – If target is neither local nor sdcard, sdcard but SD card support is disabled or the @@ -752,10 +752,10 @@

              -

              Issue a file command

              +

              Issue a file command

              -POST /api/files/(string: location)/(path: path)
              +POST /api/files/(string: location)/(path: path)

              Issue a file command to an existing file. Currently supported commands are:

              select

              Selects a file for printing. Additional parameters are:

              @@ -926,14 +926,14 @@
              -
              Parameters
              +
              Parameters:
              • location – The target location on which to send the command for is located, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

              • path – The path of the file for which to issue the command

              -
              JSON Parameters
              +
              JSON Parameters:
              • command (string) – The command to issue for the file, currently only select is supported

              • print (boolean) – select and slice command: Optional, whether to start printing the file directly after selection @@ -950,7 +950,7 @@ defaults to false

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error for a select command.

              • 202 Accepted – No error for a slice command.

              • @@ -968,10 +968,10 @@
              -

              Delete file

              +

              Delete file

              -DELETE /api/files/(string: location)/(path: path)
              +DELETE /api/files/(string: location)/(path: path)

              Delete the selected path on the selected location.

              If the file to be deleted is currently being printed, a 409 Conflict will be returned.

              Returns a 204 No Content after successful deletion.

              @@ -983,14 +983,14 @@
              -
              Parameters
              +
              Parameters:
              • location – The target location on which to delete the file, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

              • path – The path of the file to delete

              -
              Status Codes
              +
              Status Codes:
              • 204 No Content – No error

              • 404 Not Found – If location is neither local nor sdcard or the requested file was not found

              • @@ -1002,15 +1002,15 @@
              -

              Data model

              +

              Data model

              -

              Retrieve response

              -

              Name

              +

              Retrieve response

              +
              ----++++ @@ -1035,13 +1035,13 @@

              Name

              -

              Upload response

              - +

              Upload response

              +
              ----++++ diff --git a/maintenance/api/general.html b/maintenance/api/general.html index 934ea3c54..74406a7c9 100644 --- a/maintenance/api/general.html +++ b/maintenance/api/general.html @@ -1,26 +1,26 @@ - + - + General information — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -161,8 +161,8 @@
              -

              General information

              -
              +

              General information

              +
              +
              -

              Authorization

              +

              Authorization

              If Access Control is enabled OctoPrint’s API expects an API key to be supplied with each request. This API key can be either the globally configured one, a user specific one or an app and user specific one as generated by the authorization workflow implemented by the bundled Application Keys Plugin (since 1.3.10).

              @@ -229,28 +229,28 @@
              Global API key in the API settings
              -

              Fig. 22 The global API key can be found in the “API” settings

              +

              Fig. 22 The global API key can be found in the “API” settings

              User specific API key location in user list
              -

              Fig. 23 The user list in the “Access Control” settings shows the API key for users (if available)

              +

              Fig. 23 The user list in the “Access Control” settings shows the API key for users (if available)

              API key options in "Change password" dialog
              -

              Fig. 24 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

              +

              Fig. 24 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

              -

              Content Type

              +

              Content Type

              If not otherwise stated, OctoPrint’s API expects request bodies and issues response bodies as Content-Type: application/json.

              -

              Encoding

              +

              Encoding

              OctoPrint uses UTF-8 as charset.

              That also includes headers in multipart/form-data requests, in order to allow the full UTF-8 range of characters for uploaded filenames. If a multipart/form-data sub header cannot be decoded as UTF-8, OctoPrint will also attempt @@ -263,7 +263,7 @@ in Upload file.

              -

              Cross-origin requests

              +

              Cross-origin requests

              To make use of the OctoPrint API from websites other than the OctoPrint web interface, cross-origin resource sharing (CORS) must be enabled. This is the case even when the website in question is served from a different port on the same machine and on localhost.

              @@ -278,7 +278,7 @@
              CORS configuration in the API settings
              -

              Fig. 25 Support for CORS can be enabled in the “API” settings

              +

              Fig. 25 Support for CORS can be enabled in the “API” settings

              @@ -300,9 +300,9 @@
              -

              CSRF Protection

              +

              CSRF Protection

              -

              New in version 1.8.3.

              +

              Added in version 1.8.3.

              To protect OctoPrint against CSRF attacks against the non CORS affected upload endpoints, in case of browser session based authorization the API is protected using the Double Submit Cookie mitigation strategy. @@ -321,10 +321,10 @@

              -

              Login

              +

              Login

              -POST /api/login
              +POST /api/login

              Creates a login session or retrieves information about the currently existing session (“passive login”).

              Can be used in one of two ways: to login a user via username and password and create a persistent session (usually from a UI in the browser), or to retrieve information about the active user (from an existing session or an API key) @@ -345,7 +345,7 @@ on the web socket.

              -
              JSON Parameters
              +
              JSON Parameters:
              • passive – If present, performs a passive login only, returning information about the current user that’s active either through an existing session or the used API key

              • @@ -354,7 +354,7 @@
              • remember – (active login only) Whether to set a “remember me” cookie on the session

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – Successful login

              • 403 Forbidden – Username/password mismatch, unknown user or deactivated account

              • @@ -365,15 +365,15 @@
              -

              Logout

              +

              Logout

              -POST /api/logout
              +POST /api/logout

              Ends the current login session of the current user.

              Only makes sense in the context of browser based workflows.

              Will return a 204 No Content.

              -
              Status Codes
              +
              Status Codes:
              @@ -383,15 +383,15 @@
              -

              Current User

              +

              Current User

              -GET /api/currentuser
              +GET /api/currentuser

              Retrieves information about the current user.

              Will return a 200 OK with a current user object as body.

              -
              Status Codes
              +
              Status Codes:
              @@ -401,16 +401,16 @@
              -

              Data model

              +

              Data model

              -

              Login response

              +

              Login response

              The Login response is a user record extended by the following fields:

              -

              Name

              +
              ----++++ @@ -434,13 +434,13 @@

              Name

              -

              Current user

              - +

              Current user

              +
              ----++++ diff --git a/maintenance/api/index.html b/maintenance/api/index.html index 9e3c27fa7..98970edc7 100644 --- a/maintenance/api/index.html +++ b/maintenance/api/index.html @@ -1,26 +1,26 @@ - + - + REST API — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -144,7 +144,7 @@
              -

              REST API

              +

              REST API

              • General information
                  diff --git a/maintenance/api/job.html b/maintenance/api/job.html index 68aa1dc26..8ff54c766 100644 --- a/maintenance/api/job.html +++ b/maintenance/api/job.html @@ -1,26 +1,26 @@ - + - + Job operations — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -154,10 +154,10 @@
                  -

                  Job operations

                  +

                  Job operations

                  Use these operations to query the currently selected file and start/cancel/restart/pause the actual print job.

                  -
                  +
                -
              +
              -

              Issue a job command

              +

              Issue a job command

              -POST /api/job
              +POST /api/job

              Job commands allow starting, pausing and cancelling print jobs. Available commands are:

              start

              Starts the print of the currently selected file. For selecting a file, see Issue a file command. @@ -302,12 +302,12 @@

              -
              JSON Parameters
              +
              JSON Parameters:
              • command (string) – The command to issue, either start, restart, pause or cancel

              -
              Status Codes
              +
              Status Codes:

              Name

              +

              Job information response

              +
              ----++++ diff --git a/maintenance/api/languages.html b/maintenance/api/languages.html index dcf1203e0..1c6b15e19 100644 --- a/maintenance/api/languages.html +++ b/maintenance/api/languages.html @@ -1,26 +1,26 @@ - + - + Languages — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -157,12 +157,12 @@
              -

              Languages

              +

              Languages

              Note

              All language pack management operations require the SETTINGS permission.

              -
              +
              +
              -

              Retrieve installed language packs

              +

              Retrieve installed language packs

              -GET /api/languages
              +GET /api/languages

              Retrieves a list of installed language packs.

              The response body will contain a list response.

              Example

              @@ -228,7 +228,7 @@
              -
              Status Codes
              +
              Status Codes:
              @@ -238,10 +238,10 @@
              -

              Upload a language pack

              +

              Upload a language pack

              -POST /api/languages
              +POST /api/languages

              Uploads a new language pack to OctoPrint.

              Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload.

              @@ -252,12 +252,12 @@

              Will return a list of installed language packs upon completion, as described in Retrieve installed language packs.

              -
              Form Parameters
              +
              Form Parameters:
              • file – The language pack file to upload

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – The file was uploaded successfully

              @@ -267,10 +267,10 @@
              -

              Delete a language pack

              +

              Delete a language pack

              -DELETE /api/languages/(string: locale)/(string: pack)
              +DELETE /api/languages/(string: locale)/(string: pack)

              Deletes the language pack pack for locale locale. Can be either the _core pack (containing translations for core OctoPrint) or the language pack for a plugin specified by the plugin identifier.

              @@ -309,13 +309,13 @@
              -
              Parameters
              +
              Parameters:
              • locale – The locale for which to delete the language pack

              • pack – The language pack to delete

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – The language pack was deleted

              @@ -325,15 +325,15 @@
              -

              Data model

              +

              Data model

              -

              List response

              -

              Name

              +

              List response

              +
              ----++++ @@ -352,13 +352,13 @@

              Name

              -

              Component list

              - +

              Component list

              +
              ----++++ @@ -387,13 +387,13 @@

              Name

              -

              Language pack metadata

              - +

              Language pack metadata

              +
              ----++++ diff --git a/maintenance/api/logs.html b/maintenance/api/logs.html index 8471cb47e..bca1bc082 100644 --- a/maintenance/api/logs.html +++ b/maintenance/api/logs.html @@ -1,26 +1,26 @@ - + - + Log file management — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
              -

              Log file management

              +

              Log file management

              Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins API for the API documentation.

              The former endpoints /api/logs and api/logs/<path> are marked as deprecated but still work for now. New diff --git a/maintenance/api/printer.html b/maintenance/api/printer.html index 2cf25a7f6..866167244 100644 --- a/maintenance/api/printer.html +++ b/maintenance/api/printer.html @@ -1,26 +1,26 @@ - + - + Printer operations — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -170,8 +170,8 @@

              -

              Printer operations

              -
              +

              Printer operations

              +
              +

              Printer control is mostly achieved through the use of commands, issued to resources reflecting components of the printer. OctoPrint currently knows the following components:

              @@ -251,10 +251,10 @@ If you need the printer’s serial communication, you’ll need to subscribe to push updates.

              -

              Retrieve the current printer state

              +

              Retrieve the current printer state

              -GET /api/printer
              +GET /api/printer

              Retrieves the current state of the printer. Returned information includes:

              -
              Query Parameters
              +
              Query Parameters:
              • exclude – An optional comma-separated list of fields to exclude from the response (e.g. if not needed by the client). Valid values to supply here are temperature, sd and state.

              • @@ -388,7 +388,7 @@ will be returned. Will be ignored if history is not enabled.

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 409 Conflict – If the printer is not operational.

              • @@ -399,10 +399,10 @@
                -

                Issue a print head command

                +

                Issue a print head command

                -POST /api/printer/printhead
                +POST /api/printer/printhead

                Print head commands allow jogging and homing the print head in all three axes. Available commands are:

                jog

                Jogs the print head (relatively) by a defined amount in one or more axes. Additional parameters are:

                @@ -499,7 +499,7 @@
                -
                JSON Parameters
                +
                JSON Parameters:
                • command (string) – The command to issue, either jog or home.

                • x (number) – jog command: The amount to travel on the X axis in mm.

                • @@ -509,7 +509,7 @@
                • factor (number) – feedrate command: The factor to apply to the feed rate, percentage between 50 and 200% as integer or float.

                -
                Status Codes
                +
                Status Codes:
                • 204 No Content – No error

                • 400 Bad Request – Invalid axis specified, invalid value for travel amount for a jog command or factor for feed rate or otherwise invalid @@ -522,10 +522,10 @@

                -

                Issue a tool command

                +

                Issue a tool command

                -POST /api/printer/tool
                +POST /api/printer/tool

                Tool commands allow setting the temperature and temperature offsets for the printer’s tools (hotends), selecting the current tool and extruding/retracting from the currently selected tool. Available commands are:

                @@ -700,7 +700,7 @@
                -
                JSON Parameters
                +
                JSON Parameters:
                • command (string) – The command to issue, either target, offset, select or extrude.

                • targets (object) – target command: The target temperatures to set. Valid properties have to match the format tool{n}.

                • @@ -710,7 +710,7 @@
                • factor (number) – flowrate command: The factor to apply to the flow rate, percentage between 75 and 125% as integer or float.

                -
                Status Codes
                +
                Status Codes:
                • 204 No Content – No error

                • 400 Bad Request – If targets or offsets contains a property or tool contains a value not matching the format @@ -724,10 +724,10 @@

                -

                Retrieve the current tool state

                +

                Retrieve the current tool state

                -GET /api/printer/tool
                +GET /api/printer/tool

                Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for all of the printer’s available tools.

                It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -787,7 +787,7 @@

                -
                Query Parameters
                +
                Query Parameters:
                • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

                • @@ -795,7 +795,7 @@ will be returned. Will be ignored if history is not enabled.

                -
                Status Codes
                +
                Status Codes:
                • 200 OK – No error

                • 409 Conflict – If the printer is not operational.

                • @@ -806,10 +806,10 @@
                -

                Issue a bed command

                +

                Issue a bed command

                -POST /api/printer/bed
                +POST /api/printer/bed

                Bed commands allow setting the temperature and temperature offsets for the printer’s heated bed. Available commands are:

                @@ -863,14 +863,14 @@
                -
                JSON Parameters
                +
                JSON Parameters:
                • command (string) – The command to issue, either target or offset.

                • target (object) – target command: The target temperature to set.

                • offset (object) – offset command: The offset temperature to set.

                -
                Status Codes
                +
                Status Codes:
                • 204 No Content – No error

                • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -884,10 +884,10 @@

                -

                Retrieve the current bed state

                +

                Retrieve the current bed state

                -GET /api/printer/bed
                +GET /api/printer/bed

                Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated bed.

                It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -937,7 +937,7 @@

                -
                Query Parameters
                +
                Query Parameters:
                • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

                • @@ -945,7 +945,7 @@ will be returned. Will be ignored if history is not enabled.

                -
                Status Codes
                +
                Status Codes:
                • 200 OK – No error

                • 409 Conflict – If the printer is not operational or the selected printer profile @@ -957,10 +957,10 @@

                -

                Issue a chamber command

                +

                Issue a chamber command

                -POST /api/printer/chamber
                +POST /api/printer/chamber

                Chamber commands allow setting the temperature and temperature offsets for the printer’s heated chamber. Available commands are:

                @@ -1014,14 +1014,14 @@
                -
                JSON Parameters
                +
                JSON Parameters:
                • command (string) – The command to issue, either target or offset.

                • target (object) – target command: The target temperature to set.

                • offset (object) – offset command: The offset temperature to set.

                -
                Status Codes
                +
                Status Codes:
                • 204 No Content – No error

                • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -1035,10 +1035,10 @@

                -

                Retrieve the current chamber state

                +

                Retrieve the current chamber state

                -GET /api/printer/chamber
                +GET /api/printer/chamber

                Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated chamber.

                It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -1088,7 +1088,7 @@

                -
                Query Parameters
                +
                Query Parameters:
                • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

                • @@ -1096,7 +1096,7 @@ will be returned. Will be ignored if history is not enabled.

                -
                Status Codes
                +
                Status Codes:
                • 200 OK – No error

                • 409 Conflict – If the printer is not operational or the selected printer profile @@ -1108,10 +1108,10 @@

                -

                Issue an SD command

                +

                Issue an SD command

                -POST /api/printer/sd
                +POST /api/printer/sd

                SD commands allow initialization, refresh and release of the printer’s SD card (if available).

                Available commands are:

                @@ -1180,12 +1180,12 @@
                -
                JSON Parameters
                +
                JSON Parameters:
                • command (string) – The command to issue, either init, refresh or release.

                -
                Status Codes
                +
                Status Codes:
                • 204 No Content – No error

                • 409 Conflict – If a refresh or release command is issued but the SD card has not been initialized (e.g. @@ -1197,10 +1197,10 @@

                -

                Retrieve the current SD state

                +

                Retrieve the current SD state

                -GET /api/printer/sd
                +GET /api/printer/sd

                Retrieves the current state of the printer’s SD card. For this request no authentication is needed.

                If SD support has been disabled in OctoPrint’s settings, a 404 Not Found is returned.

                Returns a 200 OK with an SD State Response in the body @@ -1222,7 +1222,7 @@

                -
                Status Codes
                +
                Status Codes:
                • 200 OK – No error

                • 404 Not Found – If SD support has been disabled in OctoPrint’s config.

                • @@ -1233,10 +1233,10 @@
                -

                Retrieve information about the last error

                +

                Retrieve information about the last error

                -GET /api/printer/error
                +GET /api/printer/error

                Retrieves information about the last error that occurred on the printer.

                Returns a 200 OK with an Error Information in the body upon success.

                @@ -1281,7 +1281,7 @@
                -
                Status Codes
                +
                Status Codes:
                @@ -1291,10 +1291,10 @@
                -

                Send an arbitrary command to the printer

                +

                Send an arbitrary command to the printer

                -POST /api/printer/command
                +POST /api/printer/command

                Sends any command to the printer via the serial interface. Should be used with some care as some commands can interfere with or even stop a running print job.

                Expects a Arbitrary Command Request as the request’s body.

                @@ -1332,13 +1332,13 @@
                -
                JSON Parameters
                +
                JSON Parameters:
                • command (string) – Single command to send to the printer, mutually exclusive with commands.

                • commands (string) – List of commands to send to the printer, mutually exclusive with command.

                -
                Status Codes
                +
                Status Codes:
                @@ -1348,10 +1348,10 @@
                -

                Retrieve custom controls

                +

                Retrieve custom controls

                -GET /api/printer/command/custom
                +GET /api/printer/command/custom

                Retrieves the custom controls as configured in config.yaml.

                Please refer to the documentation of custom controls on what @@ -1360,7 +1360,7 @@ in the body upon success.

                Requires the CONTROL permission.

                -
                Status Codes
                +
                Status Codes:
                @@ -1370,15 +1370,15 @@
                -

                Data model

                +

                Data model

                -

                Full State Response

                -

              Name

              +

              Full State Response

              +
              ----++++ @@ -1407,13 +1407,13 @@

              Name

              -

              Temperature State

              - +

              Temperature State

              +
              ----++++ @@ -1444,13 +1444,13 @@

              Name

              -

              SD State

              - +

              SD State

              +
              ----++++ @@ -1469,13 +1469,13 @@

              Name

              -

              Arbitrary Command Request

              - +

              Arbitrary Command Request

              +
              ----++++ @@ -1514,13 +1514,13 @@

              Name

              -

              Custom Controls Response

              - +

              Custom Controls Response

              +
              ----++++ @@ -1539,13 +1539,13 @@

              Name

              -

              Error Information

              - +

              Error Information

              +
              ----++++ diff --git a/maintenance/api/printerprofiles.html b/maintenance/api/printerprofiles.html index 45ec42b35..0c1726d4c 100644 --- a/maintenance/api/printerprofiles.html +++ b/maintenance/api/printerprofiles.html @@ -1,26 +1,26 @@ - + - + Printer profile operations — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -159,8 +159,8 @@
              -

              Printer profile operations

              -
              +

              Printer profile operations

              +
              +

              OctoPrint allows the management of Printer profiles that define a printer’s physical properties (such as print volume, whether a heated bed is available, maximum speeds on its axes etc). The data stored within these profiles is used for both slicing and gcode visualization.

              -

              Retrieve all printer profiles

              +

              Retrieve all printer profiles

              -GET /api/printerprofiles
              +GET /api/printerprofiles

              Retrieves an object representing all configured printer profiles.

              Returns a 200 OK with a profile list.

              Requires the CONNECTION permission.

              @@ -295,15 +295,15 @@
              -

              Retrieve a single printer profile

              +

              Retrieve a single printer profile

              -GET /api/printerprofiles/(string: identifier)
              +GET /api/printerprofiles/(string: identifier)

              Retrieves an existing single printer profile.

              Returns a 200 OK with a profile.

              Requires the CONNECTION permission.

              -
              Status Codes
              +
              Status Codes:
              -

              Add a new printer profile

              +

              Add a new printer profile

              -POST /api/printerprofiles
              +POST /api/printerprofiles

              Adds a new printer profile based on either the current default profile or the profile identified in basedOn.

              The provided profile data will be merged with the profile data from the @@ -477,10 +477,10 @@

              -

              Update an existing printer profile

              +

              Update an existing printer profile

              -PATCH /api/printerprofiles/(string: profile)
              +PATCH /api/printerprofiles/(string: profile)

              Updates an existing printer profile by its profile identifier.

              The updated (potentially partial) profile is expected in the request’s body as part of an Add or update request.

              @@ -557,10 +557,10 @@
              -

              Remove an existing printer profile

              +

              Remove an existing printer profile

              -DELETE /api/printerprofiles/(string: profile)
              +DELETE /api/printerprofiles/(string: profile)

              Deletes an existing printer profile by its profile identifier.

              If the profile to be deleted is the currently selected profile, a 409 Conflict will be returned.

              @@ -579,15 +579,15 @@
              -

              Data model

              +

              Data model

              -

              Profile list

              -

              Name

              +

              Profile list

              +
              ----++++ @@ -611,13 +611,13 @@

              Name

              -

              Add or update request

              - +

              Add or update request

              +
              ----++++ @@ -646,13 +646,13 @@

              Name

              -

              Profile

              - +

              Profile

              +
              ----++++ diff --git a/maintenance/api/push.html b/maintenance/api/push.html index ffe6c8e50..c0590a2e7 100644 --- a/maintenance/api/push.html +++ b/maintenance/api/push.html @@ -1,26 +1,26 @@ - + - + Push updates — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -155,14 +155,14 @@
              -

              Push updates

              +

              Push updates

              Warning

              The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

              -
              +
              +

              To enable real time information exchange between client and server, OctoPrint uses SockJS to push status updates, temperature changes etc to connected web interface instances.

              @@ -320,15 +320,15 @@
              -

              Data model

              +

              Data model

              -

              connected payload

              -

              Name

              +

              connected payload

              +
              ----++++ @@ -376,13 +376,13 @@

              Name

              -

              current and history payload

              - +

              current and history payload

              +
              ----++++ @@ -447,13 +447,13 @@

              Name

              -

              event payload

              - +

              event payload

              +
              ----++++ @@ -477,13 +477,13 @@

              Name

              -

              slicingProgress payload

              - +

              slicingProgress payload

              +
              ----++++ diff --git a/maintenance/api/server.html b/maintenance/api/server.html index eed2d9b9f..cba975414 100644 --- a/maintenance/api/server.html +++ b/maintenance/api/server.html @@ -1,26 +1,26 @@ - + - + Server information — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,12 +146,12 @@
              -

              Server information

              +

              Server information

              -GET /api/server
              +GET /api/server
              -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              Retrieve information regarding server status. Returns a JSON object with two keys, version containing the server version and safemode containing one of settings, incomplete_startup or flag @@ -174,7 +174,7 @@

              -
              Status Codes
              +
              Status Codes:
              diff --git a/maintenance/api/settings.html b/maintenance/api/settings.html index 44b121591..e10736e93 100644 --- a/maintenance/api/settings.html +++ b/maintenance/api/settings.html @@ -1,26 +1,26 @@ - + - + Settings — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -153,8 +153,8 @@
              -

              Settings

              -
              +

              Settings

              +
              +
              -

              Retrieve current settings

              +

              Retrieve current settings

              -GET /api/settings
              +GET /api/settings

              Retrieves the current configuration of OctoPrint.

              Returns a 200 OK with the current settings as a JSON object in the response body.

              @@ -183,10 +183,10 @@
              -

              Save settings

              +

              Save settings

              -POST /api/settings
              +POST /api/settings

              Saves the provided settings in OctoPrint.

              Expects a JSON object with the settings to change as request body. This can be either a full settings tree, or only a partial tree containing only those fields that should @@ -224,16 +224,16 @@

              -

              Regenerate the system wide API key

              +

              Regenerate the system wide API key

              -POST /api/settings/apikey
              +POST /api/settings/apikey

              Generates a new system wide API key.

              Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

              Requires admin rights.

              -
              Status Codes
              +
              Status Codes:
              -

              Fetch template data

              +

              Fetch template data

              -GET /api/settings/templates
              +GET /api/settings/templates

              Fetch data (currently only the sorting order) of all registered template components in the system.

              Use this to get a full list of the identifiers of all UI components provided either by core OctoPrint or any currently active plugins.

              @@ -493,7 +493,7 @@ me an email to make sure I can give you a heads-up when something changes in an backwards incompatible way.

              -
              Status Codes
              +
              Status Codes:

              Name

              ---- diff --git a/maintenance/api/slicing.html b/maintenance/api/slicing.html index 8f0c16e66..b50e275c9 100644 --- a/maintenance/api/slicing.html +++ b/maintenance/api/slicing.html @@ -1,26 +1,26 @@ - + - + Slicing — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -162,14 +162,14 @@
              -

              Slicing

              +

              Slicing

              Warning

              The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

              -
              +
              +

              The Slicing API on one hand offers methods for managing slicing profiles stored within OctoPrint, on the other hand it will be extended in the future to also allow for multi extruder slicing (which currently is not possible with the slice command of the File operations API and other things.

              -

              List All Slicers and Slicing Profiles

              +

              List All Slicers and Slicing Profiles

              -GET /api/slicing
              +GET /api/slicing

              Returns a list of all available slicing profiles for all registered slicers in the system.

              Returns a 200 OK response with a Slicer list as the body upon successful completion.

              @@ -238,7 +238,7 @@
              -
              Status Codes
              +
              Status Codes:
              @@ -248,10 +248,10 @@
              -

              List Slicing Profiles of a Specific Slicer

              +

              List Slicing Profiles of a Specific Slicer

              -GET /api/slicing/(string: slicer)/profiles
              +GET /api/slicing/(string: slicer)/profiles

              Returns a list of all available slicing profiles for the requested slicer.

              Returns a 200 OK response with a Profile list as the body upon successful completion.

              @@ -282,12 +282,12 @@
              -
              Parameters
              +
              Parameters:
              • slicer – The identifying key of the slicer for which to list the available profiles.

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 404 Not Found – If the slicer was unknown to the system or not yet configured.

              • @@ -298,10 +298,10 @@
              -

              Retrieve Specific Profile

              +

              Retrieve Specific Profile

              -GET /api/slicing/(string: slicer)/profiles/(string: key)
              +GET /api/slicing/(string: slicer)/profiles/(string: key)

              Retrieves the specified profile from the system.

              Returns a 200 OK response with a full Profile as the body upon successful completion.

              @@ -331,13 +331,13 @@
              -
              Parameters
              +
              Parameters:
              • slicer – The identifying key of the slicer for which to list the available profiles.

              • name – The identifying key of the profile to retrieve

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 404 Not Found – If the slicer or the profile key was unknown to the system.

              • @@ -348,10 +348,10 @@
              -

              Add Slicing Profile

              +

              Add Slicing Profile

              -PUT /api/slicing/(string: slicer)/profiles/(string: key)
              +PUT /api/slicing/(string: slicer)/profiles/(string: key)

              Adds a new slicing profile for the given slicer to the system. If the profile identified by key already exists, it will be overwritten.

              Expects a Profile as body.

              @@ -386,13 +386,13 @@
              -
              Parameters
              +
              Parameters:
              • slicer – The identifying key of the slicer for which to add the profile

              • key – The identifying key of the new profile

              -
              Status Codes
              +
              Status Codes:
              -

              Update Slicing Profile

              +

              Update Slicing Profile

              -PATCH /api/slicing/(string: slicer)/profiles/(string: key)
              +PATCH /api/slicing/(string: slicer)/profiles/(string: key)

              Updates the slicing profile identified by key for the slicer slicer.

              Expects a profile update request as body.

              Returns a 201 Created and an abridged Profile in the body upon successful completion.

              Requires the SETTINGS permission.

              -
              Parameters
              +
              Parameters:
              • slicer – The identifying key of the slicer for which to update the profile

              • key – The identifying key of the profile to update

              -
              JSON Parameters
              +
              JSON Parameters:
              • data – New profile overrides to apply

              • displayName – New display name

              • @@ -427,7 +427,7 @@
              • default – Whether to make the profile default (true) or not (false) for the slicer

              -
              Status Codes
              +
              Status Codes:
              -

              Delete Slicing Profile

              +

              Delete Slicing Profile

              -DELETE /api/slicing/(string: slicer)/profiles/(string: key)
              +DELETE /api/slicing/(string: slicer)/profiles/(string: key)

              Delete the slicing profile identified by key for the slicer slicer. If the profile doesn’t exist, the request will succeed anyway.

              Requires the SETTINGS permission.

              -
              Parameters
              +
              Parameters:
              • slicer – The identifying key of the slicer for which to delete the profile

              • key – The identifying key of the profile to delete

              -
              Status Codes
              +
              Status Codes:
              -

              Data model

              +

              Data model

              -

              Slicer list

              -

              Field

              Notes

              +

              Slicer list

              +
              ----++++ @@ -490,13 +490,13 @@

              Name

              -

              Slicer

              - +

              Slicer

              +
              ----++++ @@ -536,13 +536,13 @@

              Name

              -

              Profile list

              - +

              Profile list

              +
              ----++++ @@ -561,13 +561,13 @@

              Name

              -

              Profile

              - +

              Profile

              +
              ----++++ @@ -614,13 +614,13 @@

              Name

              -

              Profile Update Request

              - +

              Profile Update Request

              +
              ----++++ diff --git a/maintenance/api/system.html b/maintenance/api/system.html index 2f902dbd4..eda6293f7 100644 --- a/maintenance/api/system.html +++ b/maintenance/api/system.html @@ -1,26 +1,26 @@ - + - + System — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -157,16 +157,16 @@
              -

              System

              +

              System

              Note

              All system operations require the SYSTEM permission.

              -

              List all registered system commands

              +

              List all registered system commands

              -GET /api/system/commands
              +GET /api/system/commands

              Retrieves all configured system commands.

              A 200 OK with a List all response will be returned.

              @@ -209,7 +209,7 @@
              -
              Status Codes
              +
              Status Codes:
              @@ -219,10 +219,10 @@
              -

              List all registered system commands for a source

              +

              List all registered system commands for a source

              -GET /api/system/commands/(string: source)
              +GET /api/system/commands/(string: source)

              Retrieves the configured system commands for the specified source.

              The response will contain a list of command definitions.

              Example

              @@ -260,12 +260,12 @@
              -
              Parameters
              +
              Parameters:
              • source – The source for which to list commands, currently either core or custom

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 404 Not Found – If a source other than core or custom is specified.

              • @@ -276,10 +276,10 @@
              -

              Execute a registered system command

              +

              Execute a registered system command

              -POST /api/system/commands/(string: source)/(string: action)
              +POST /api/system/commands/(string: source)/(string: action)

              Execute the system command action defined in source.

              Example

              Restart OctoPrint via the core system command restart (which is available if the server @@ -293,13 +293,13 @@

              -
              Parameters
              +
              Parameters:
              • source – The source for which to list commands, currently either core or custom

              • action – The identifier of the command, action from its definition

              -
              Status Codes
              +
              Status Codes:
              • 204 No Content – No error

              • 400 Bad Request – If a divider is supposed to be executed or if the request is malformed otherwise

              • @@ -313,15 +313,15 @@
              -

              Data model

              +

              Data model

              -

              List all response

              -

              Name

              +

              List all response

              +
              ----++++ @@ -345,15 +345,15 @@

              Name

              -

              Client command definitions

              +

              Client command definitions

              A restricted form of the full command definition. For exposing via the API.

              - +
              ----++++ @@ -395,14 +395,14 @@

              Name

              -

              Command definition

              +

              Command definition

              The full command definition is not available via the API.

              - +
              ----++++ diff --git a/maintenance/api/timelapse.html b/maintenance/api/timelapse.html index d85a89c6a..a44981207 100644 --- a/maintenance/api/timelapse.html +++ b/maintenance/api/timelapse.html @@ -1,26 +1,26 @@ - + - + Timelapse — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -160,8 +160,8 @@
              -

              Timelapse

              -
              +

              Timelapse

              +
              +
              -

              Retrieve a list of timelapses and the current config

              +

              Retrieve a list of timelapses and the current config

              -GET /api/timelapse
              +GET /api/timelapse

              Retrieves a list of timelapses and the current config.

              Returns a timelapse list in the response body.

              Requires the TIMELAPSE_LIST permission.

              -
              Parameters
              +
              Parameters:
              • unrendered – If provided and true, also include unrendered timelapses

              @@ -208,16 +208,16 @@
              -

              Delete a timelapse

              +

              Delete a timelapse

              -DELETE /api/timelapse/(string: name)
              +DELETE /api/timelapse/(string: name)

              Delete the timelapse name.

              Returns a timelapse list in the response body with the updated information.

              Requires the TIMELAPSE_DELETE permission.

              -
              Parameters
              +
              Parameters:
              • unrendered – If provided and true, also include unrendered timelapses in the response

              @@ -227,15 +227,15 @@
              -

              Issue a command for an unrendered timelapse

              +

              Issue a command for an unrendered timelapse

              -POST /api/timelapse/unrendered/(string: name)
              +POST /api/timelapse/unrendered/(string: name)

              Current only supports to render the unrendered timelapse name via the render command.

              Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

              -
              JSON Parameters
              +
              JSON Parameters:
              • command – The command to issue, currently only render is supported

              @@ -245,16 +245,16 @@
              -

              Delete an unrendered timelapse

              +

              Delete an unrendered timelapse

              -DELETE /api/timelapse/unrendered/(string: name)
              +DELETE /api/timelapse/unrendered/(string: name)

              Delete the unrendered timelapse name.

              Returns a timelapse list in the response body.

              Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

              -
              Parameters
              +
              Parameters:
              • unrendered – If provided and true, also include unrendered timelapses in the response

              @@ -264,10 +264,10 @@
              -

              Change current timelapse config

              +

              Change current timelapse config

              -POST /api/timelapse
              +POST /api/timelapse

              Save a new timelapse configuration to use for the next print. Set the optional save flag in the configuration to true in order to make the new configuration persist across restarts.

              The configuration is expected as the request body.

              @@ -275,7 +275,7 @@ response body.

              Requires the TIMELAPSE_ADMIN permission.

              -
              Parameters
              +
              Parameters:
              • unrendered – If provided and true, also include unrendered timelapses in the response

              @@ -285,15 +285,15 @@
              -

              Data model

              +

              Data model

              -

              Timelapse list

              -

              Name

              +

              Timelapse list

              +
              ----++++ @@ -322,13 +322,13 @@

              Name

              -

              Rendered timelapse

              - +

              Rendered timelapse

              +
              ----++++ @@ -372,13 +372,13 @@

              Name

              -

              Unrendered timelapse

              - +

              Unrendered timelapse

              +
              ----++++ @@ -427,13 +427,13 @@

              Name

              -

              Timelapse configuration

              - +

              Timelapse configuration

              +
              ----++++ @@ -457,14 +457,14 @@

              Name

              Further fields are timelapse type specific, see below for details.

              -

              Z-change-triggered timelapse

              +

              Z-change-triggered timelapse

              For timelapse type zchange.

              - +
              ----++++ @@ -503,14 +503,14 @@

              Name

              -

              Time triggered timelapse

              +

              Time triggered timelapse

              For timelapse type timed.

              - +
              ----++++ diff --git a/maintenance/api/util.html b/maintenance/api/util.html index c3edebed7..3f8a3c719 100644 --- a/maintenance/api/util.html +++ b/maintenance/api/util.html @@ -1,26 +1,26 @@ - + - + Util — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -157,12 +157,12 @@
              -

              Util

              +

              Util

              -

              Various tests

              +

              Various tests

              -POST /api/util/test
              +POST /api/util/test

              Provides commands to test paths or URLs for correctness.

              Used by OctoPrint to validate paths or URLs that the user needs to enter in the settings.

              @@ -505,7 +505,7 @@
              -
              JSON Parameters
              +
              JSON Parameters:
              • command – The command to execute, currently either path or url

              • pathpath command only: the path to test

              • @@ -527,7 +527,7 @@
              • addressaddress command only: the address to test

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error occurred

              @@ -537,15 +537,15 @@
              -

              Data model

              +

              Data model

              -

              Path test result

              -

              Name

              +

              Path test result

              +
              ----++++ @@ -584,13 +584,13 @@

              Name

              -

              URL test result

              - +

              URL test result

              +
              ----++++ @@ -632,13 +632,13 @@

              Name

              -

              Server test result

              - +

              Server test result

              +
              ----++++ @@ -672,13 +672,13 @@

              Name

              -

              Resolution test result

              - +

              Resolution test result

              +
              ----++++ @@ -702,13 +702,13 @@

              Name

              -

              Address test result

              - +

              Address test result

              +
              ----++++ diff --git a/maintenance/api/version.html b/maintenance/api/version.html index 5dd33b672..f8b7341f0 100644 --- a/maintenance/api/version.html +++ b/maintenance/api/version.html @@ -1,26 +1,26 @@ - + - + Version information — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,10 +146,10 @@
              -

              Version information

              +

              Version information

              -GET /api/version
              +GET /api/version

              Retrieve information regarding server and API version. Returns a JSON object with three keys, api containing the API version, server containing the server version, text containing the server version including the prefix OctoPrint (to determine that this is indeed a genuine OctoPrint instance).

              @@ -171,7 +171,7 @@
              -
              Status Codes
              +
              Status Codes:
              diff --git a/maintenance/api/wizard.html b/maintenance/api/wizard.html index c1af7d6db..08e699a1f 100644 --- a/maintenance/api/wizard.html +++ b/maintenance/api/wizard.html @@ -1,26 +1,26 @@ - + - + Wizard — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -154,12 +154,12 @@
              -

              Wizard

              +

              Wizard

              Note

              All wizard operations require either the ADMIN permission or the firstRun flag to be true.

              -
              +
              +
              -

              Retrieve additional data about registered wizards

              +

              Retrieve additional data about registered wizards

              -GET /setup/wizard
              +GET /setup/wizard

              Retrieves additional data about the registered wizards.

              Returns a 200 OK with an object mapping wizard identifiers to wizard data entries.

              -

              Finish wizards

              +

              Finish wizards

              -POST /setup/wizard
              +POST /setup/wizard

              Inform wizards that the wizard dialog has been finished.

              Expects a JSON request body containing a property handled which holds a list of wizard identifiers which were handled (not skipped) in the wizard dialog.

              @@ -197,7 +197,7 @@ supplying the information whether the wizard plugin’s identifier was within the list of handled wizards or not.

              -
              JSON Parameters
              +
              JSON Parameters:
              • handled – A list of handled wizards

              @@ -207,15 +207,15 @@
              -

              Data model

              +

              Data model

              -

              Wizard data entry

              -

              Name

              +

              Wizard data entry

              +
              ----++++ diff --git a/maintenance/bundledplugins/action_command_notification.html b/maintenance/bundledplugins/action_command_notification.html index a63798ebd..9bbb2a550 100644 --- a/maintenance/bundledplugins/action_command_notification.html +++ b/maintenance/bundledplugins/action_command_notification.html @@ -1,26 +1,26 @@ - + - + Action Command Notification support — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -148,9 +148,9 @@
              -

              Action Command Notification support

              +

              Action Command Notification support

              -

              New in version 1.4.1.

              +

              Added in version 1.4.1.

              The OctoPrint Action Command Notification Support Plugin comes bundled with OctoPrint.

              It allows firmware to trigger notifications users with the PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW permission @@ -160,11 +160,11 @@

              Simple notification example
              -

              Fig. 5 A simple notification example triggered by the firmware

              +

              Fig. 5 A simple notification example triggered by the firmware

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -175,21 +175,21 @@

                You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

              -

              Supported action commands

              +

              Supported action commands

              notification <message>

              Displays the notification <message>

              -

              Example communication with the firmware

              +

              Example communication with the firmware

              To display the above notification the firmware sent this action command:

              //action:notification Hello World!
               
              -

              Source code

              +

              Source code

              The source of the Action Command Prompt Notification plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_notification.

              diff --git a/maintenance/bundledplugins/action_command_prompt.html b/maintenance/bundledplugins/action_command_prompt.html index 2e02ad439..92c488727 100644 --- a/maintenance/bundledplugins/action_command_prompt.html +++ b/maintenance/bundledplugins/action_command_prompt.html @@ -1,26 +1,26 @@ - + - + Action Command Prompt support — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -148,9 +148,9 @@
              -

              Action Command Prompt support

              +

              Action Command Prompt support

              -

              New in version 1.3.9.

              +

              Added in version 1.3.9.

              The OctoPrint Action Command Prompt Support Plugin comes bundled with OctoPrint.

              It allows firmware to trigger dialog prompts for logged in users using action commands, e.g. to wait @@ -161,11 +161,11 @@

              Simple prompt example
              -

              Fig. 6 A simple dialog example triggered by the firmware

              +

              Fig. 6 A simple dialog example triggered by the firmware

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -181,7 +181,7 @@

                You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

              -

              Supported action commands

              +

              Supported action commands

              prompt_begin <message>

              Starts the definition of a prompt dialog. <message> is the message to display to the user. Will be ignored if a dialog is already defined.

              @@ -199,7 +199,7 @@
              -

              Example communication with the firmware

              +

              Example communication with the firmware

              To display the above dialog the firmware sent these action commands:

              //action:prompt_begin Filament unloaded, swap then proceed
               //action:prompt_choice Filament swapped
              @@ -219,13 +219,13 @@
               
              Another prompt example
              -

              Fig. 7 Another dialog example triggered by the firmware

              +

              Fig. 7 Another dialog example triggered by the firmware

              If the user selects “Abort print”, OctoPrint will send 2 as selected choice.

              -

              Source code

              +

              Source code

              The source of the Action Command Prompt Support plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_prompt.

              diff --git a/maintenance/bundledplugins/announcements.html b/maintenance/bundledplugins/announcements.html index 78feb2171..140257e74 100644 --- a/maintenance/bundledplugins/announcements.html +++ b/maintenance/bundledplugins/announcements.html @@ -1,26 +1,26 @@ - + - + Announcement Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
              -

              Announcement Plugin

              +

              Announcement Plugin

              -

              New in version 1.2.11.

              +

              Added in version 1.2.11.

              The OctoPrint Announcement Plugin comes bundled with OctoPrint.

              It displays announcements fetched from OctoPrint’s websites, such as important updates, release announcements, new @@ -157,23 +157,23 @@

              Example notification
              -

              Fig. 8 An example notification from the Announcement Plugin.

              +

              Fig. 8 An example notification from the Announcement Plugin.

              Announcement reader
              -

              Fig. 9 The Announcement Plugin’s reader dialog.

              +

              Fig. 9 The Announcement Plugin’s reader dialog.

              Announcement settings
              -

              Fig. 10 The Announcement Plugin’s settings dialog.

              +

              Fig. 10 The Announcement Plugin’s settings dialog.

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin allows enabling and disabling the preconfigured announcement channels via its settings dialog.

              On top of that it’s possible to add additional announcement channels (as RSS or Atom feed URLs) or change the configuration of the existing channels through config.yaml.

              @@ -200,7 +200,7 @@
              -

              Source code

              +

              Source code

              The source of the Announcement plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/announcements.

              diff --git a/maintenance/bundledplugins/appkeys.html b/maintenance/bundledplugins/appkeys.html index f86ab9ed8..eaa2ad5c4 100644 --- a/maintenance/bundledplugins/appkeys.html +++ b/maintenance/bundledplugins/appkeys.html @@ -1,26 +1,26 @@ - + - + Application Keys Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -181,9 +181,9 @@
              -

              Application Keys Plugin

              +

              Application Keys Plugin

              -

              New in version 1.3.10.

              +

              Added in version 1.3.10.

              The OctoPrint Application Keys Plugin comes bundled with OctoPrint.

              It implements a workflow for third party apps or clients to obtain an application specific API key from OctoPrint to interact with it @@ -192,23 +192,23 @@

              Confirmation
              -

              Fig. 11 The plugin’s confirmation generated for a new application key request.

              +

              Fig. 11 The plugin’s confirmation generated for a new application key request.

              Key management via user settings
              -

              Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

              +

              Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

              Global key management via settings
              -

              Fig. 13 Administrators can manage all application specific API keys registered to any user.

              +

              Fig. 13 Administrators can manage all application specific API keys registered to any user.

              -

              Workflow

              +

              Workflow

              The workflow to receive an API key for a third party client/an app via the Application Keys Plugin should consist of the following steps:

              @@ -290,9 +290,9 @@ end

              -

              Workflow with redirect to auth dialog

              +

              Workflow with redirect to auth dialog

              -

              New in version 1.8.0.

              +

              Added in version 1.8.0.

              Instead of asking the user to open the full blown OctoPrint interface to confirm the request, since OctoPrint 1.8.0 there also exists the alternative of redirecting the user to a @@ -380,17 +380,17 @@ end

              -

              API

              +

              API

              -

              Probe for workflow support

              +

              Probe for workflow support

              -GET /plugin/appkeys/probe
              +GET /plugin/appkeys/probe

              Probes for support of the workflow.

              Normally returns an HTTP 204 No Content, indicating workflow availability. If a different status code is returned (usually an HTTP 404 Not Found), the plugin is disabled or not installed. Fall back to manual api key exchange.

              -
              Status Codes
              +
              Status Codes:
              @@ -400,10 +400,10 @@
              -

              Start authorization process

              +

              Start authorization process

              -POST /plugin/appkeys/request
              +POST /plugin/appkeys/request

              Starts the authorization process.

              Expects a Authorization request as request body.

              The app parameter should be a human readable identifier to use @@ -417,13 +417,13 @@

              Returns a Authorization response and HTTP 201 Created with the Location header set to the endpoint to poll for a decision.

              -
              JSON Parameters
              +
              JSON Parameters:
              • app – application identifier to use for the request, case insensitive

              • user – optional user id to restrict the decision to the specified user

              -
              Status Codes
              +
              Status Codes:
              • 201 Created – authorization process started, polling URL to query can be found in Location header

              @@ -433,10 +433,10 @@
              -

              Poll for decision on existing request

              +

              Poll for decision on existing request

              -GET /plugin/appkeys/request/<str:app_token>
              +GET /plugin/appkeys/request/<str:app_token>

              Endpoint generated per authorization request to poll for the result.

              Returns an HTTP 202 Accepted while no decision has been made yet, an HTTP 200 OK and a Key response if access has been granted and an @@ -447,7 +447,7 @@ for more than 5s.

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – access granted, API key in response body

              • 202 Accepted – no decision has been made yet, continue polling

              • @@ -459,21 +459,21 @@
              -

              Decide on existing request

              +

              Decide on existing request

              -POST /plugin/appkeys/decision/<str:user_token>
              +POST /plugin/appkeys/decision/<str:user_token>

              Endpoint to decide on the authorization request.

              Expects a Decision request as request body.

              Returns an HTTP 204 No Content on success.

              Requires the PLUGIN_APPKEYS_GRANT permissions and a recent credentials check.

              -
              JSON Parameters
              +
              JSON Parameters:
              • decision – boolean value to indicate whether to confirm (True) or deny (False) access

              -
              Status Codes
              +
              Status Codes:
              @@ -483,10 +483,10 @@
              -

              Fetch list of existing application keys

              +

              Fetch list of existing application keys

              -GET /api/plugin/appkeys
              +GET /api/plugin/appkeys

              Fetches a list of existing application keys and pending requests registered in the system for the current user.

              If the additional optional parameter all is provided and the user has the PLUGIN_APPKEYS_ADMIN permission, fetches a list of all* application keys and pending requests registered in the system for any user.

              @@ -496,7 +496,7 @@

              Returns a 200 OK with a List response in the body upon success.

              -
              Query Parameters
              +
              Query Parameters:
              • all – Fetch all application keys and pending requests from all users. Requires the PLUGIN_APPKEYS_ADMIN permission.

              @@ -506,10 +506,10 @@
              -

              Issue an application key command

              +

              Issue an application key command

              -POST /api/plugin/appkeys
              +POST /api/plugin/appkeys

              Application key commands allow revoking existing application keys and manually generating new ones. The available commands are:

              @@ -586,7 +586,7 @@
              -
              JSON Parameters
              +
              JSON Parameters:
              • command (string) – The command to issue, either revoke or generate

              • app (string) – revoke & generate commands: The application identifier of the key to revoke or generate.

              • @@ -596,7 +596,7 @@ as of OctoPrint 1.10.0. Use app and optionally user instead.

              -
              Status Codes
              +
              Status Codes:
              • 200 OK – Key generation successful

              • 204 No Content – No error during key revocation

              • @@ -609,15 +609,15 @@
                -

                Data model

                +

                Data model

                -

                Authorization request

                -

              Name

              +

              Authorization request

              +
              ----++++ @@ -641,13 +641,13 @@

              Name

              -

              Authorization response

              - +

              Authorization response

              +
              ----++++ @@ -672,13 +672,13 @@

              Name

              -

              Key response

              - +

              Key response

              +
              ----++++ @@ -697,13 +697,13 @@

              Name

              -

              Decision request

              - +

              Decision request

              +
              ----++++ @@ -722,13 +722,13 @@

              Name

              -

              List response

              - +

              List response

              +
              ----++++ @@ -752,13 +752,13 @@

              Name

              -

              Key list entry

              - +

              Key list entry

              +
              ----++++ @@ -787,13 +787,13 @@

              Name

              -

              Pending list entry

              - +

              Pending list entry

              +
              ----++++ @@ -823,22 +823,22 @@
              -

              JavaScript Client Library

              +

              JavaScript Client Library

              -OctoPrintClient.plugins.appkeys.getKey(app, user, opts)
              +OctoPrintClient.plugins.appkeys.getKey(app, user, opts)

              Retrieves the key information the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

              See Fetch list of existing application keys for more details.

              -
              Arguments
              +
              Arguments:
              • app (string()) – Application identifier

              • user (string()) – Optional user identifier

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -846,16 +846,16 @@
              -OctoPrintClient.plugins.appkeys.getKeys(opts)
              +OctoPrintClient.plugins.appkeys.getKeys(opts)

              Retrieves registered keys and pending requests for the current user.

              See Fetch list of existing application keys for more details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -863,17 +863,17 @@
              -OctoPrintClient.plugins.appkeys.getAllKeys(opts)
              +OctoPrintClient.plugins.appkeys.getAllKeys(opts)

              Retrieves registered keys and pending requests for all users.

              Needs the PLUGIN_APPKEYS_ADMIN permission.

              See Fetch list of existing application keys for more details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -881,17 +881,17 @@
              -OctoPrintClient.plugins.appkeys.generateKey(app, opts)
              +OctoPrintClient.plugins.appkeys.generateKey(app, opts)

              Generates a key for the given app and the current user.

              See Issue an application key command for details.

              -
              Arguments
              +
              Arguments:
              • app (string()) – Application identifier

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -899,7 +899,7 @@
              -OctoPrintClient.plugins.appkeys.revokeKey(key, opts)
              +OctoPrintClient.plugins.appkeys.revokeKey(key, opts)

              Revokes the given key. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

              See Issue an application key command for details.

              @@ -907,13 +907,13 @@

              Deprecated since version 1.10.0: revokeKey has been deprecated. Use revokeKeyForApp instead.

              -
              Arguments
              +
              Arguments:
              • key (string()) – Key to revoke

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -921,19 +921,19 @@
              -OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)
              +OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)

              Revokes the key for the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

              See Issue an application key command for details.

              -
              Arguments
              +
              Arguments:
              • app (string()) – Application identifier

              • user (string()) – Optional user identifier

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -941,18 +941,18 @@
              -OctoPrintClient.plugins.appkeys.decide(token, decision, opts)
              +OctoPrintClient.plugins.appkeys.decide(token, decision, opts)

              Decides on an existing authorization request.

              See Decide on existing request for more details.

              -
              Arguments
              +
              Arguments:
              • token (string()) – User token for which to make the decision, as pushed to the client via the socket.

              • decision (boolean()) – Whether to grant access (true) or not (false).

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -960,16 +960,16 @@
              -OctoPrintClient.plugins.appkeys.probe(opts)
              +OctoPrintClient.plugins.appkeys.probe(opts)

              Probes for workflow support.

              See Probe for workflow support for more details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -977,16 +977,16 @@
              -OctoPrintClient.plugins.appkeys.request(app, opts)
              +OctoPrintClient.plugins.appkeys.request(app, opts)

              Starts a new authorization request for the provided app identifier.

              See Start authorization process for more details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -994,16 +994,16 @@
              -OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)
              +OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)

              Starts a new authorization request for the provided app and user identifiers.

              See Start authorization process for more details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -1011,16 +1011,16 @@
              -OctoPrintClient.plugins.appkeys.checkDecision(token, opts)
              +OctoPrintClient.plugins.appkeys.checkDecision(token, opts)

              Polls for a decision on an existing authorization request identified by token.

              See Poll for decision on existing request for more details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -1028,7 +1028,7 @@
              -OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)
              +OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)

              Convenience function that probes for support, issues a request and then automatically starts polling for a decision on the returned polling endpoint every 1s, until either a positive or negative decision is returned. On success the returned promise is resolved with the generated API key as argument. If anything goes wrong or there is no support @@ -1044,14 +1044,14 @@

              -
              Arguments
              +
              Arguments:
              • app (string()) – Application identifier

              • user (string()) – Optional user identifier

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -1059,7 +1059,7 @@
              -

              Source code

              +

              Source code

              The source of the Application Keys plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/appkeys.

              diff --git a/maintenance/bundledplugins/backup.html b/maintenance/bundledplugins/backup.html index 59a3f73b5..331fc56f5 100644 --- a/maintenance/bundledplugins/backup.html +++ b/maintenance/bundledplugins/backup.html @@ -1,26 +1,26 @@ - + - + Backup Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -161,26 +161,26 @@
              -

              Backup Plugin

              +

              Backup Plugin

              -

              New in version 1.3.10.

              +

              Added in version 1.3.10.

              The OctoPrint Backup Plugin comes bundled with OctoPrint (starting with 1.3.10).

              -

              It allows the creation and restoration 4 of backups of OctoPrint’s settings, data and installed plugins 5 -(but doesn’t restore the same plugins versions 6).

              +

              It allows the creation and restoration [4] of backups of OctoPrint’s settings, data and installed plugins [5] +(but doesn’t restore the same plugins versions [6]).

              This allows easy migration to newly setup instances as well as making regular backups to prevent data loss.

              OctoPrint Backup Plugin
              -

              Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

              +

              Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

              As long as plugins adhere to the standard of storing their data and settings in OctoPrint’s plugin data folders, their data will be part of the backup. Note that the backups made by the Backup Plugin will not be part of any backups - you’ll need to persist the resulting zip files yourself!

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -193,7 +193,7 @@
              -

              Command line usage

              +

              Command line usage

              The Backup Plugin implements a command line interface that allows creation and restoration of backups. It adds two new commands, backup:backup and backup:restore.

              $ octoprint plugins backup:backup --help
              @@ -225,7 +225,7 @@
               
              -

              Events

              +

              Events

              Events will not be triggered by CLI operations.

              plugin_backup_backup_created

              A new backup was created. On the push socket only available with a valid login session with Backup Access @@ -239,20 +239,20 @@

              -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              -

              Hooks

              +

              Hooks

              -

              octoprint.plugin.backup.additional_excludes

              +

              octoprint.plugin.backup.additional_excludes

              -additional_excludes_hook(excludes, *args, **kwargs)
              +additional_excludes_hook(excludes, *args, **kwargs)
              -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              Use this to provide additional paths on your plugin’s data folder to exclude from the backup. Your handler also get a list of currently excluded sub paths in the base folder, so you can react to them. E.g. exclude things @@ -309,13 +309,13 @@

              -
              Parameters
              +
              Parameters:

              list (excludes) – A list of paths already flagged as excluded in the backup

              -
              Returns
              +
              Returns:

              A list of paths to exclude, relative to your plugin’s data folder

              -
              Return type
              +
              Return type:

              list

              @@ -323,29 +323,29 @@
              -

              octoprint.plugin.backup.before_backup

              +

              octoprint.plugin.backup.before_backup

              -before_backup_hook(*args, **kwargs)
              +before_backup_hook(*args, **kwargs)
              -

              New in version 1.9.0.

              +

              Added in version 1.9.0.

              Use this to perform actions right before a backup is created.

              -

              octoprint.plugin.backup.after_backup

              +

              octoprint.plugin.backup.after_backup

              -after_backup_hook(error=False, *args, **kwargs)
              +after_backup_hook(error=False, *args, **kwargs)
              -

              New in version 1.9.0.

              +

              Added in version 1.9.0.

              Use this to perform actions right after a backup was created or backup creation failed. The error parameter will be set to True if the backup creation failed.

              -
              Parameters
              +
              Parameters:

              bool (error) – Whether the backup creation failed or not

              @@ -353,29 +353,29 @@
              -

              octoprint.plugin.backup.before_restore

              +

              octoprint.plugin.backup.before_restore

              -before_restore_hook(*args, **kwargs)
              +before_restore_hook(*args, **kwargs)
              -

              New in version 1.9.0.

              +

              Added in version 1.9.0.

              Use this to perform actions right before a backup is restored.

              -

              octoprint.plugin.backup.after_restore

              +

              octoprint.plugin.backup.after_restore

              -after_restore_hook(error=False, *args, **kwargs)
              +after_restore_hook(error=False, *args, **kwargs)
              -

              New in version 1.9.0.

              +

              Added in version 1.9.0.

              Use this to perform actions right after a backup was restored or backup restoration failed. The error parameter will be set to True if the backup restoration failed.

              -
              Parameters
              +
              Parameters:

              bool (error) – Whether the backup restoration failed or not

              @@ -384,16 +384,16 @@
              -

              Helpers

              +

              Helpers

              The Backup plugin exports two helpers that can be used by other plugins or internal methods from within OctoPrint, without going via the API.

              -

              create_backup

              +

              create_backup

              -octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
              +octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
              -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              Create a backup from a plugin or other internal call

              This helper is exported as create_backup and can be used from the plugin @@ -410,7 +410,7 @@

              By using the if helpers [...] clause, plugins can fall back to other methods when they are running under versions where these helpers did not exist.

              -
              Parameters
              +
              Parameters:
              • exclude (list) – Names of data folders to exclude, defaults to None

              • filename (str) – Name of backup to be created, if None (default) the backup @@ -422,12 +422,12 @@

              -

              delete_backup

              +

              delete_backup

              -octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
              +octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
              -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              Delete the specified backup from a plugin or other internal call

              This helper is exported as delete_backup and can be used through the plugin @@ -450,7 +450,7 @@ for example the name from the events or other helpers.

              -
              Parameters
              +
              Parameters:

              filename (str) – The name of the backup to delete

              @@ -459,24 +459,27 @@
              -

              Source code

              +

              Source code

              The source of the Backup plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/backup.

              -
              -
              4
              -

              Note that restore is currently unavailable on OctoPrint servers running on Windows. Additionally they may be +

              -
              5
              -

              Note that only those plugins that are available on OctoPrint’s official plugin repository + +

              -
              6
              -

              Note that the restore process will install the latest possible versions of the plugins instead of the version that was installed at backup + +

              -
              + +
              diff --git a/maintenance/bundledplugins/discovery.html b/maintenance/bundledplugins/discovery.html index 274f24d3b..4ed67566d 100644 --- a/maintenance/bundledplugins/discovery.html +++ b/maintenance/bundledplugins/discovery.html @@ -1,26 +1,26 @@ - + - + Discovery Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -155,9 +155,9 @@
              -

              Discovery Plugin

              +

              Discovery Plugin

              -

              New in version 1.2.0.

              +

              Added in version 1.2.0.

              The OctoPrint Discovery Plugin comes bundled with OctoPrint.

              It allows discovery of the OctoPrint instances via SSDP/UPNP and ZeroConf @@ -174,11 +174,11 @@

              OctoPrint instances in Windows Explorer
              -

              Fig. 15 Various discovered OctoPrint instances in Windows Explorer

              +

              Fig. 15 Various discovered OctoPrint instances in Windows Explorer

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -216,7 +216,7 @@
              -

              Further ZeroConf Services

              +

              Further ZeroConf Services

              The configuration also allows specifying additional ZeroConf service OctoPrint should announce itself as. Each entry supports the following fields:

              @@ -232,7 +232,7 @@
              -

              Example

              +

              Example

              The following snippet is a valid configuration example for the discovery plugin in OctoPrint’s config.yaml:

              plugins:
              @@ -255,16 +255,16 @@
               
              -

              Announced Services

              +

              Announced Services

              -

              ZeroConf Service _http._tcp

              +

              ZeroConf Service _http._tcp

              OctoPrint will announce itself on the network via ZeroConf as service _http._tcp, with the TXT record containing the standard fields.

              See also this documentation of _http._tcp TXT records for more information.

              -

              ZeroConf Service _octoprint._tcp

              +

              ZeroConf Service _octoprint._tcp

              OctoPrint will announce itself on the network via ZeroConf as service _octoprint._tcp. The TXT record may contain the following fields:

              @@ -288,7 +288,7 @@
              -

              Source code

              +

              Source code

              The source of the Discovery plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/discovery.

              diff --git a/maintenance/bundledplugins/errortracking.html b/maintenance/bundledplugins/errortracking.html index 8f5e5e388..7961883c4 100644 --- a/maintenance/bundledplugins/errortracking.html +++ b/maintenance/bundledplugins/errortracking.html @@ -1,26 +1,26 @@ - + - + Error Tracking Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
              -

              Error Tracking Plugin

              +

              Error Tracking Plugin

              -

              New in version 1.3.11.

              +

              Added in version 1.3.11.

              The Error Tracking plugin will cause any logged exceptions in the server and the browser interface to be sent to OctoPrint’s Sentry instance.

              @@ -162,7 +162,7 @@ and their Privacy Policy.

              The Error Tracking plugin has been bundled with OctoPrint since version 1.3.11.

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -174,7 +174,7 @@
              -

              Source Code

              +

              Source Code

              The source of the Error Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/errortracking.

              diff --git a/maintenance/bundledplugins/file_check.html b/maintenance/bundledplugins/file_check.html index 40587f530..c7397b6d6 100644 --- a/maintenance/bundledplugins/file_check.html +++ b/maintenance/bundledplugins/file_check.html @@ -1,26 +1,26 @@ - + - + File Check — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -142,9 +142,9 @@
              -

              File Check

              +

              File Check

              -

              New in version 1.4.1.

              +

              Added in version 1.4.1.

              The file check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

              diff --git a/maintenance/bundledplugins/firmware_check.html b/maintenance/bundledplugins/firmware_check.html index 62e9e360d..b9c18bde2 100644 --- a/maintenance/bundledplugins/firmware_check.html +++ b/maintenance/bundledplugins/firmware_check.html @@ -1,26 +1,26 @@ - + - + Firmware Check — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -142,9 +142,9 @@
              -

              Firmware Check

              +

              Firmware Check

              -

              New in version 1.3.7.

              +

              Added in version 1.3.7.

              The firmware check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

              diff --git a/maintenance/bundledplugins/gcodeviewer.html b/maintenance/bundledplugins/gcodeviewer.html index 59917bd74..297c5dae0 100644 --- a/maintenance/bundledplugins/gcodeviewer.html +++ b/maintenance/bundledplugins/gcodeviewer.html @@ -1,26 +1,26 @@ - + - + GCode Viewer Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
              -

              GCode Viewer Plugin

              +

              GCode Viewer Plugin

              Changed in version 1.4.1.

              @@ -154,13 +154,13 @@
              OctoPrint GCode Viewer Plugin
              -

              Fig. 16 An example of the GCode Viewer in action.

              +

              Fig. 16 An example of the GCode Viewer in action.

              The viewer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has been extracted into its own bundled plugin.

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -172,7 +172,7 @@
              -

              Source Code

              +

              Source Code

              The source of the GCode Viewer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/gcodeviewer.

              diff --git a/maintenance/bundledplugins/index.html b/maintenance/bundledplugins/index.html index 4c8de9a39..399fae7ad 100644 --- a/maintenance/bundledplugins/index.html +++ b/maintenance/bundledplugins/index.html @@ -1,26 +1,26 @@ - + - + Bundled Plugins — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -140,7 +140,7 @@
              -

              Bundled Plugins

              +

              Bundled Plugins

              • Action Command Notification support
                  diff --git a/maintenance/bundledplugins/logging.html b/maintenance/bundledplugins/logging.html index a941cc3a8..ee601768d 100644 --- a/maintenance/bundledplugins/logging.html +++ b/maintenance/bundledplugins/logging.html @@ -1,26 +1,26 @@ - + - + Logging — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -158,29 +158,29 @@
                  -

                  Logging

                  +

                  Logging

                  -

                  New in version 1.3.7.

                  +

                  Added in version 1.3.7.

                  The OctoPrint Logging plugin implements the log management functionality that was formerly part of the core application and adds features to configure logging levels for sub modules through the included settings dialog.

                  Logging plugin
                  -

                  Fig. 17 The settings dialog of the Logging plugin

                  +

                  Fig. 17 The settings dialog of the Logging plugin

                  -

                  API

                  +

                  API

                  Note

                  All log file management operations require admin rights.

                  -

                  Retrieve a list of available log files

                  +

                  Retrieve a list of available log files

                  -GET /plugin/logging/logs
                  +GET /plugin/logging/logs

                  Retrieve information regarding all log files currently available and regarding the disk space still available in the system on the location the log files are being stored.

                  Returns a Logfile Retrieve response.

                  @@ -228,7 +228,7 @@
              -
              Status Codes
              +
              Status Codes:
              • 200 OK – No error

              • 403 Forbidden – If the given API token did not have admin rights associated with it

              • @@ -239,10 +239,10 @@
              -

              Delete a specific logfile

              +

              Delete a specific logfile

              -DELETE /plugin/logging/logs/(path: filename)
              +DELETE /plugin/logging/logs/(path: filename)

              Delete the selected log file with name filename.

              Returns a 204 No Content after successful deletion.

              Example Request

              @@ -252,12 +252,12 @@
              -
              Parameters
              +
              Parameters:
              • filename – The filename of the log file to delete

              -
              Status Codes
              +
              Status Codes:
              • 204 No Content – No error

              • 403 Forbidden – If the given API token did not have admin rights associated with it

              • @@ -269,15 +269,15 @@
              -

              Data model

              +

              Data model

              -

              Logfile Retrieve Response

              -

              Name

              +

              Logfile Retrieve Response

              +
              ----++++ @@ -301,13 +301,13 @@

              Name

              -

              File information

              - +

              File information

              +
              ----++++ @@ -341,13 +341,13 @@

              Name

              -

              References

              - +

              References

              +
              ----++++ @@ -373,10 +373,10 @@
              -

              JS Client Library

              +

              JS Client Library

              -

              OctoPrintClient.plugins.logging

              +

              OctoPrintClient.plugins.logging

              Note

              All methods here require that the used API token or the existing browser session @@ -384,16 +384,16 @@

              -OctoPrintClient.plugins.logging.listLogs(opts)
              +OctoPrintClient.plugins.logging.listLogs(opts)

              Retrieves a list of log files.

              See Retrieve a list of available log files for details.

              -
              Arguments
              +
              Arguments:
              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -401,17 +401,17 @@

              -OctoPrintClient.plugins.logging.deleteLog(path, opts)
              +OctoPrintClient.plugins.logging.deleteLog(path, opts)

              Deletes the specified log path.

              See Delete a specific log file for details.

              -
              Arguments
              +
              Arguments:
              • path (string()) – The path to the log file to delete

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -419,17 +419,17 @@

              -OctoPrintClient.plugins.logging.downloadLog(path, opts)
              +OctoPrintClient.plugins.logging.downloadLog(path, opts)

              Downloads the specified log file.

              See OctoPrint.download() for more details on the underlying library download mechanism.

              -
              Arguments
              +
              Arguments:
              • path (string()) – The path to the log file to download

              • opts (object()) – Additional options for the request

              -
              Returns Promise
              +
              Returns Promise:

              A jQuery Promise for the request’s response

              @@ -437,7 +437,7 @@

              -

              Source Code

              +

              Source Code

              The source of the Logging plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/logging.

              diff --git a/maintenance/bundledplugins/pluginmanager.html b/maintenance/bundledplugins/pluginmanager.html index 080eb18cc..2edfe26f2 100644 --- a/maintenance/bundledplugins/pluginmanager.html +++ b/maintenance/bundledplugins/pluginmanager.html @@ -1,26 +1,26 @@ - + - + Plugin Manager — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -151,9 +151,9 @@
              -

              Plugin Manager

              +

              Plugin Manager

              -

              New in version 1.2.0.

              +

              Added in version 1.2.0.

              The OctoPrint Plugin Manager comes bundled with OctoPrint.

              It allows management of installed plugins (listing, enabling, disabling @@ -183,23 +183,23 @@

              Plugin Manager
              -

              Fig. 18 The main dialog of the Plugin Manager

              +

              Fig. 18 The main dialog of the Plugin Manager

              Installation dialog
              -

              Fig. 19 Dialog for installing new plugins

              +

              Fig. 19 Dialog for installing new plugins

              Filter options for the repository browser
              -

              Fig. 20 Filter options for the repository browser

              +

              Fig. 20 Filter options for the repository browser

              -

              Configuring the Plugin

              +

              Configuring the Plugin

              The Plugin Manager plugin only has a handful of configuration settings which normally won’t have to be touched.

              You can modify them either through the plugin’s configuration dialog that @@ -244,7 +244,7 @@

              -

              Events

              +

              Events

              plugin_pluginmanager_install_plugin

              A plugin was installed.

              Payload:

              @@ -287,12 +287,12 @@
              -

              Hooks

              +

              Hooks

              -

              octoprint.plugin.pluginmanager.reconnect_hooks

              +

              octoprint.plugin.pluginmanager.reconnect_hooks

              -reconnect_hooks_hook(*args, **kwargs)
              +reconnect_hooks_hook(*args, **kwargs)

              Returns additional hooks defined by the plugin for which the plugin manager should display the “You should reconnect to your printer” message on plugin install/uninstall/enabling/disabling.

              @@ -312,7 +312,7 @@
              -

              Source Code

              +

              Source Code

              The source of the Plugin Manager is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/pluginmanager.

              diff --git a/maintenance/bundledplugins/softwareupdate.html b/maintenance/bundledplugins/softwareupdate.html index 1708a9fa2..d1d22fce0 100644 --- a/maintenance/bundledplugins/softwareupdate.html +++ b/maintenance/bundledplugins/softwareupdate.html @@ -1,26 +1,26 @@ - + - + Software Update Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -166,16 +166,16 @@
              -

              Software Update Plugin

              +

              Software Update Plugin

              -

              New in version 1.2.0.

              +

              Added in version 1.2.0.

              The Software Update Plugin allows receiving notifications about new releases of OctoPrint or installed plugins which registered with it and – if properly configured – also applying the found updates.

              It comes bundled with OctoPrint.

              -

              First Steps

              +

              First Steps

              Out of the box the Software Update Plugin will be able to notify you of any updates that might be available for your OctoPrint installation or any plugins that registered themselves with it. In order for automatic restarts after updates @@ -188,7 +188,7 @@

              Software Update plugin configuration dialog
              -

              Fig. 21 The Software Update plugin configuration dialog

              +

              Fig. 21 The Software Update plugin configuration dialog

              There you can adjust the following settings:

              @@ -217,7 +217,7 @@

              Restart commands for OctoPrint and the whole server can be configured under Settings > Server.

              -

              Command line usage

              +

              Command line usage

              The functionality of the Software Update Plugin is also available on OctoPrint’s command line interface under the plugins sub command. It’s possible to check for updates via octoprint plugins softwareupdate:check and to apply available updates via octoprint plugins softwareupdate:update. Please see the corresponding @@ -272,7 +272,7 @@

              -

              Configuring the Plugin

              +

              Configuring the Plugin

              plugins:
                 softwareupdate:
                   # configured version check and update methods
              @@ -331,7 +331,7 @@
               
              -

              Version checks

              +

              Version checks

              Version check types are configured through the type parameter. The following types are currently recognized:

              @@ -353,7 +353,7 @@ will be matched.

              -

              New in version 1.2.16.

              +

              Added in version 1.2.16.

            • stable_branch: Stable channel definition, optional. Structure:

              @@ -366,7 +366,7 @@ will be matched.

            • -

              New in version 1.2.16.

              +

              Added in version 1.2.16.

            • prerelease_channel: Release channel to limit updates to. If set only @@ -411,7 +411,7 @@ a new app password. App passwords are user specific on Bitbucket.

            • -

              New in version 1.3.5.

              +

              Added in version 1.3.5.

            • git_commit: Checks a local git repository for new commits on its @@ -427,7 +427,7 @@

            • package: (mandatory) Name of the package which to check.

            • -

              New in version 1.4.0.

              +

              Added in version 1.4.0.

            • httpheader: Checks an HTTP header on a defined URL for changes. This can be used for easy checks @@ -442,7 +442,7 @@ will be used. If set to an empty string, no prefix will be added.

            • -

              New in version 1.4.1.

              +

              Added in version 1.4.1.

            • jsondata: Checks the provided JSON endpoint for changes. The JSON endpoint must return an object with the @@ -452,7 +452,7 @@

            • jsondata: (mandatory) URL from which to fetch the JSON data

            • -

              New in version 1.4.1.

              +

              Added in version 1.4.1.

            • command_line: Uses a provided script to determine whether an update @@ -480,7 +480,7 @@

            • current_version: Version to report for both local and remote version.

            • -

              New in version 1.3.7.

              +

              Added in version 1.3.7.

            • never_current: Always reports that an update is necessary. Useful for debugging @@ -490,14 +490,14 @@

            • remote_version: Remote version to offer update to. Defaults to 1.0.1.

            • -

              New in version 1.3.7.

              +

              Added in version 1.3.7.

              -

              Update methods

              +

              Update methods

              Update methods are specified via the method parameter. Some update methods are assigned implicitly through the presence of their mandatory configuration parameters. The following methods are currently supported:

              @@ -551,7 +551,7 @@ a countdown in the meantime. Useful for debugging software update mechanisms during development.

              -

              New in version 1.3.7.

              +

              Added in version 1.3.7.

              @@ -581,7 +581,7 @@
              -

              Common configuration patterns

              +

              Common configuration patterns

              Example for a setup that allows “bleeding edge” updates of OctoPrint under OctoPi (the update_script gets configured correctly automatically by the plugin itself):

              @@ -711,9 +711,9 @@ be cached by Github for a bit, so an update will not be immediately picked up.

              -

              Global credentials

              +

              Global credentials

              -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              Starting with OctoPrint 1.5.0, the Software Update Plugin supports supplying a GitHub API token to use for the github_release and github_commit version check types, @@ -730,7 +730,7 @@

              -

              Events

              +

              Events

              plugin_softwareupdate_update_succeeded

              An update succeeded.

              Payload:

              @@ -755,12 +755,12 @@
              -

              Hooks

              +

              Hooks

              -

              octoprint.plugin.softwareupdate.check_config

              +

              octoprint.plugin.softwareupdate.check_config

              -update_config_hook(*args, **kwargs)
              +update_config_hook(*args, **kwargs)

              Returns additional check configurations for the Software Update plugin.

              Handlers should return a Python dict containing one entry per check. Usually this will probably only be the check configuration for the plugin providing @@ -799,10 +799,10 @@

              -
              Returns
              +
              Returns:

              A dictionary of check configurations as described above

              -
              Return type
              +
              Return type:

              dict

              @@ -811,28 +811,28 @@
              -

              Helpers

              +

              Helpers

              -

              version_checks

              +

              version_checks

              version_checks module of the Software Update plugin, allows reusing the bundled version check variants from plugins (e.g. wrapped in a python_checker).

              -

              updaters

              +

              updaters

              updaters module of the Software Update plugin, allows reusing the bundled updater variants from plugins (e.g. wrapped in a python_updater).

              -

              exceptions

              +

              exceptions

              exceptions module of the Software Update plugin.

              -

              util

              +

              util

              util module of the Software Update plugin.

              -

              Source Code

              +

              Source Code

              The source of the Software Update plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/softwareupdate.

              diff --git a/maintenance/bundledplugins/tracking.html b/maintenance/bundledplugins/tracking.html index 84bc8fca6..bda36de2c 100644 --- a/maintenance/bundledplugins/tracking.html +++ b/maintenance/bundledplugins/tracking.html @@ -1,26 +1,26 @@ - + - + Anonymous Usage Tracking Plugin — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
              -

              Anonymous Usage Tracking Plugin

              +

              Anonymous Usage Tracking Plugin

              -

              New in version 1.3.10.

              +

              Added in version 1.3.10.

              The Anonymous Usage Tracking plugin provides valuable insights into how many instances running what versions of OctoPrint are out there, whether they are successfully completing print jobs and various other metrics.

              @@ -158,7 +158,7 @@ and also the Privacy Policy at tracking.octoprint.org.

              The Anonymous Usage Tracking plugin has been bundled with OctoPrint since version 1.3.10.

              -

              Configuring the plugin

              +

              Configuring the plugin

              The plugin supports the following configuration keys:

                @@ -190,7 +190,7 @@
              -

              Source Code

              +

              Source Code

              The source of the Anonymous Usage Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/tracking.

              diff --git a/maintenance/bundledplugins/virtual_printer.html b/maintenance/bundledplugins/virtual_printer.html index bb0e09688..2296e5848 100644 --- a/maintenance/bundledplugins/virtual_printer.html +++ b/maintenance/bundledplugins/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Virtual Printer — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
              -

              Virtual Printer

              +

              Virtual Printer

              Changed in version 1.4.1.

              @@ -156,11 +156,11 @@

              The virtual printer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has finally been fully extracted into its own bundled plugin.

              -

              Configuring the plugin

              +

              Configuring the plugin

              Please refer to the development documentation.

              -

              Source Code

              +

              Source Code

              The source of the Virtual Printer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/virtual_printer.

              diff --git a/maintenance/configuration/cli.html b/maintenance/configuration/cli.html index 0670cbf90..75c4511c6 100644 --- a/maintenance/configuration/cli.html +++ b/maintenance/configuration/cli.html @@ -1,26 +1,26 @@ - + - + CLI — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -131,9 +131,9 @@
              -

              CLI

              +

              CLI

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              OctoPrint provides a basic command line interface for manipulation of config.yaml:

              $ octoprint config --help
              diff --git a/maintenance/configuration/config_yaml.html b/maintenance/configuration/config_yaml.html
              index 1564af627..e24121652 100644
              --- a/maintenance/configuration/config_yaml.html
              +++ b/maintenance/configuration/config_yaml.html
              @@ -1,26 +1,26 @@
               
              -
              +
               
              -  
              +  
               
                 
                 config.yaml — OctoPrint maintenance documentation
              -      
              -      
              -      
              +      
              +      
              +      
               
                 
                 
                 
              -        
              -        
              -        
              -        
              -        
              -        
              -        
              +        
              +        
              +        
              +        
              +        
              +        
              +        
                       
                   
                   
              @@ -154,7 +154,7 @@
                          
              -

              config.yaml

              +

              config.yaml

              If not specified via the command line, the main configuration file config.yaml for OctoPrint is expected in its settings folder, which unless defined differently via the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS. If the file is not there, @@ -162,7 +162,7 @@ settings.

              Note that many of these settings are available from the “Settings” menu in OctoPrint itself. They can also be configured via config command line interface.

              -
              +
              +
              -

              Access Control

              +

              Access Control

              Use the following settings to enable access control:

              accessControl:
                 # The user manager implementation to use for accessing user information. Currently only a filebased
              @@ -251,7 +251,7 @@
               
              -

              API

              +

              API

              Settings for the REST API:

              api:
                 # Whether to enable the API
              @@ -273,7 +273,7 @@
               
              -

              Appearance

              +

              Appearance

              Use the following settings to tweak OctoPrint’s appearance a bit to better distinguish multiple instances/printers appearance or to modify the order and presence of the various UI components:

              appearance:
              @@ -422,7 +422,7 @@
               
              -

              Controls

              +

              Controls

              Use the controls section to add custom controls to the “Controls” tab within OctoPrint.

              controls:
              @@ -443,7 +443,7 @@
               
              -

              Development settings

              +

              Development settings

              The following settings are only relevant to you if you want to do OctoPrint development:

              # Settings only relevant for development
               devel:
              @@ -485,7 +485,7 @@
               
              -

              Estimation

              +

              Estimation

              The following settings provide parameters for estimators within OctoPrint. Currently only the estimation of the left print time during an active job utilizes this section.

              estimation:
              @@ -517,7 +517,7 @@
               
              -

              Events

              +

              Events

              Use the following settings to add shell/gcode commands to be executed on certain events:

              events:
                 subscriptions:
              @@ -554,7 +554,7 @@
               
              -

              Feature

              +

              Feature

              Use the following settings to enable or disable OctoPrint features:

              feature:
               
              @@ -597,7 +597,7 @@
               
              -

              Folder

              +

              Folder

              Use the following settings to set custom paths for folders used by OctoPrint:

              folder:
                 # Absolute path where to store gcode uploads. Defaults to the uploads folder in the OctoPrint settings folder
              @@ -639,7 +639,7 @@
               
              -

              GCODE Analysis

              +

              GCODE Analysis

              Settings pertaining to the server side GCODE analysis implementation.

              gcodeAnalysis:
                 # Maximum number of extruders to support/to sanity check for
              @@ -655,7 +655,7 @@
               
              -

              GCODE Viewer

              +

              GCODE Viewer

              Settings pertaining to the built in GCODE Viewer.

              gcodeViewer:
                 # Whether to enable the GCODE viewer in the UI
              @@ -672,7 +672,7 @@
               
              -

              Plugin settings

              +

              Plugin settings

              The plugins section is where plugins can store their specific settings. It is also where the installed but disabled plugins are tracked:

              # Settings for plugins
              @@ -703,7 +703,7 @@
               
              -

              Printer Profiles

              +

              Printer Profiles

              Defaults settings for printer profiles.

              # Settings for printer profiles
               printerProfiles:
              @@ -718,7 +718,7 @@
               
              -

              Scripts

              +

              Scripts

              Default scripts and snippets. You’d usually not edit the config.yaml file to adjust those but instead create the corresponding files in ~/.octoprint/scripts/. See GCODE Script.

              # Configured scripts
              @@ -752,7 +752,7 @@
               
              -

              Serial

              +

              Serial

              Use the following settings to configure the serial connection to the printer:

              serial:
                 # Use the following option to define the default serial port, defaults to unset (= AUTO)
              @@ -962,7 +962,7 @@
               
              -

              Server

              +

              Server

              Use the following settings to configure the server:

              server:
                 # Use this option to define the host to which to bind the server, defaults to "0.0.0.0" (= all
              @@ -1184,7 +1184,7 @@
               
              -

              Slicing

              +

              Slicing

              Settings for the built-in slicing support:

              # Slicing settings
               slicing:
              @@ -1202,7 +1202,7 @@
               
              -

              System

              +

              System

              Use the following settings to add custom system commands to the “System” dropdown within OctoPrint’s top bar.

              Commands consist of a name shown to the user, an action identifier used by the code and the actual command including any argument needed for its execution. @@ -1228,7 +1228,7 @@

              -

              Temperature

              +

              Temperature

              Use the following settings to configure temperature profiles which will be displayed in the temperature tab:

              temperature:
                 profiles:
              @@ -1242,7 +1242,7 @@
               
              -

              Terminal Filters

              +

              Terminal Filters

              Use the following settings to define a set of terminal filters to display in the terminal tab for filtering certain lines from the display terminal log.

              Use Javascript regular expressions:

              @@ -1260,7 +1260,7 @@
              -

              Webcam

              +

              Webcam

              Use the following settings to configure webcam support:

              webcam:
                 # Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer.
              diff --git a/maintenance/configuration/index.html b/maintenance/configuration/index.html
              index 4b777ed62..2f4252e19 100644
              --- a/maintenance/configuration/index.html
              +++ b/maintenance/configuration/index.html
              @@ -1,26 +1,26 @@
               
              -
              +
               
              -  
              +  
               
                 
                 Configuration — OctoPrint maintenance documentation
              -      
              -      
              -      
              +      
              +      
              +      
               
                 
                 
                 
              -        
              -        
              -        
              -        
              -        
              -        
              -        
              +        
              +        
              +        
              +        
              +        
              +        
              +        
                       
                   
                   
              @@ -129,7 +129,7 @@
                          
              -

              Configuration

              +

              Configuration

              • A YAML Primer
                  diff --git a/maintenance/configuration/logging_yaml.html b/maintenance/configuration/logging_yaml.html index bbc339944..b0478ca62 100644 --- a/maintenance/configuration/logging_yaml.html +++ b/maintenance/configuration/logging_yaml.html @@ -1,26 +1,26 @@ - + - + logging.yaml — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -136,7 +136,7 @@
                  -

                  logging.yaml

                  +

                  logging.yaml

                  The logging configuration file logging.yaml for OctoPrint is expected in its settings folder, which unless defined differently on the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS.

                  @@ -144,7 +144,7 @@ in debugging issues you are experiencing, or to change the configuration of the logging handlers themselves, e.g. in order to change size after which to rollover the serial.log.

                  -

                  Changing log levels

                  +

                  Changing log levels

                  If you need to change the default logging level within OctoPrint, create the file with a text editor of your choice (it’s usually not there). The general format is this:

                  loggers:
                  @@ -177,7 +177,7 @@ 

                  Changing log levels -

                  Changing logging handlers

                  +

                  Changing logging handlers

                  You can also change the configuration of the logging handlers themselves, e.g. in order to make the serial.log larger for debugging long running communications or to change the behaviour of the octoprint.log.

                  You can find the default configurations of the file handler used for the octoprint.log, the serialFile handler @@ -218,7 +218,7 @@

                  Changing logging handlerslogging.handlers.

                  -

                  Changing logging formatters

                  +

                  Changing logging formatters

                  The logging formatters can be defined via logging.yaml as well. The simple formatter as referenced above is expressed in YAML as follows:

                  formatters:
                  diff --git a/maintenance/configuration/yaml.html b/maintenance/configuration/yaml.html
                  index 0cbff143a..08d98927d 100644
                  --- a/maintenance/configuration/yaml.html
                  +++ b/maintenance/configuration/yaml.html
                  @@ -1,26 +1,26 @@
                   
                  -
                  +
                   
                  -  
                  +  
                   
                     
                     A YAML Primer — OctoPrint maintenance documentation
                  -      
                  -      
                  -      
                  +      
                  +      
                  +      
                   
                     
                     
                     
                  -        
                  -        
                  -        
                  -        
                  -        
                  -        
                  -        
                  +        
                  +        
                  +        
                  +        
                  +        
                  +        
                  +        
                           
                       
                       
                  @@ -141,14 +141,14 @@
                              
                  -

                  A YAML Primer

                  +

                  A YAML Primer

                  Most of OctoPrint’s configuration is done under the hood through YAML files, which is why it makes sense to shed some light on the basics of this data serialization format.

                  YAML is a text based format which excels at representing the most common of data structures in an easy and very human readable way, which is why it was chosen for OctoPrint’s configuration files. A text editor is all you need in order to write YAML configuration files.

                  -

                  Basic Rules

                  +

                  Basic Rules

                  First of all some basic things to know about working with YAML files:

                    @@ -161,11 +161,11 @@
                  -

                  Interesting data types

                  +

                  Interesting data types

                  You will probably only come across the three most basic types of data within OctoPrint’s YAML files: scalars (such as strings, integers, …), lists and associated arrays (aka key-value-pairs, aka maps, aka dictionaries).

                  -

                  Scalars

                  +

                  Scalars

                  Scalars are the most basic of all data types and are simple string, integer, float or boolean values.

                  For most scalars you don’t need any quotes at all, but if you need to define some piece of data which contains characters that could be mistaken with YAML syntax you need to quote it in either double " or single ' quotes for the @@ -180,7 +180,7 @@ completely empty line in order for force a line break, the data will not be actually wrapped across multiple lines just because you spread its representation across multiple lines.

                  -

                  int

                  +

                  int

                  23
                   
                   42
                  @@ -188,7 +188,7 @@
                   
                  -

                  float

                  +

                  float

                  23.5
                   
                   100.0
                  @@ -196,7 +196,7 @@
                   
                  -

                  boolean

                  +

                  boolean

                  true
                   
                   false
                  @@ -212,7 +212,7 @@
                   
                  -

                  string

                  +

                  string

                  a string
                   
                   "some quoted string with a : colon and a { bracket and a quote \" and a backslash \\ - phew"
                  @@ -244,7 +244,7 @@
                   
                  -

                  Lists

                  +

                  Lists

                  Lists allow to “collect” a number of similar things into one data structure. They are created by prefixing one or more consecutive lines with a -:

                  - item 1
                  @@ -256,7 +256,7 @@
                   

                  Take special care to have all of your list items at the same indentation level!

                  -

                  Dictionaries

                  +

                  Dictionaries

                  Dictionaries (aka associative arrays aka maps) allow organizing the data in key value pairs, with the key and the value being separated through a colon ::

                  key: value
                  @@ -266,7 +266,7 @@
                   
                  -

                  Examples

                  +

                  Examples

                  Based on the three types explained above, quite complex data structures are possible (whitespace made visible to help track indentation):

                  general:
                  diff --git a/maintenance/development/branches.html b/maintenance/development/branches.html
                  index 81e46ab43..38eff7ee8 100644
                  --- a/maintenance/development/branches.html
                  +++ b/maintenance/development/branches.html
                  @@ -1,26 +1,26 @@
                   
                  -
                  +
                   
                  -  
                  +  
                   
                     
                     OctoPrint’s branching model — OctoPrint maintenance documentation
                  -      
                  -      
                  -      
                  +      
                  +      
                  +      
                   
                     
                     
                     
                  -        
                  -        
                  -        
                  -        
                  -        
                  -        
                  -        
                  +        
                  +        
                  +        
                  +        
                  +        
                  +        
                  +        
                           
                       
                       
                  @@ -132,7 +132,7 @@
                              
                  -

                  OctoPrint’s branching model

                  +

                  OctoPrint’s branching model

                  There are three main branches in OctoPrint:

                  master

                  The master branch always contains the current stable release plus any changes diff --git a/maintenance/development/environment.html b/maintenance/development/environment.html index ca50fbc31..cb2c3a913 100644 --- a/maintenance/development/environment.html +++ b/maintenance/development/environment.html @@ -1,26 +1,26 @@ - + - + Setting up a Development environment — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -145,9 +145,9 @@

                  -

                  Setting up a Development environment

                  +

                  Setting up a Development environment

                  -

                  Obtaining, building and running the source

                  +

                  Obtaining, building and running the source

                  This describes the general, platform agnostic steps in obtaining, building and running. OS specific instructions can be found below.

                  @@ -224,7 +224,7 @@
              -

              Linux

              +

              Linux

              This assumes you’ll host your OctoPrint development checkout at ~/devel/OctoPrint. If you want to use a different location, please substitute accordingly.

              First make sure you have python 3 including its header files, pip, setuptools, virtualenv, git and some build requirements @@ -258,7 +258,7 @@

              -

              Windows

              +

              Windows

              This assumes you’ll host your OctoPrint development checkout at C:\Devel\OctoPrint. If you want to use a different location, please substitute accordingly.

              First download & install:

              @@ -295,7 +295,7 @@
              -

              Mac OS X

              +

              Mac OS X

              Note

              This guide is based on the Setup Guide for Mac OS X on OctoPrint’s Community Forum. @@ -373,7 +373,7 @@

              -

              IDE Setup

              +

              IDE Setup

              Todo

              Using another IDE than the ones below? Please send a @@ -381,7 +381,7 @@ steps into this guide!

              -

              Visual Studio Code (vscode)

              +

              Visual Studio Code (vscode)

              • Install Visual Studio Code from code.visualstudio.com

              • @@ -480,7 +480,7 @@

                Visual Studio Code (vscode) -

                PyCharm

                +

                PyCharm

                This is possibly outdated as I have switched to VisualStudio Code and might not work with current PyCharm versions.

                  diff --git a/maintenance/development/index.html b/maintenance/development/index.html index 7cbc5079e..f03db7a23 100644 --- a/maintenance/development/index.html +++ b/maintenance/development/index.html @@ -1,26 +1,26 @@ - + - + Development — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -130,7 +130,7 @@
                  -

                  Development

                  +

                  Development

                  • OctoPrint’s versioning strategy
                  • diff --git a/maintenance/development/request-profiling.html b/maintenance/development/request-profiling.html index 4234ac494..3ee7098a4 100644 --- a/maintenance/development/request-profiling.html +++ b/maintenance/development/request-profiling.html @@ -1,26 +1,26 @@ - + - + Profiling requests — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
                    -

                    Profiling requests

                    +

                    Profiling requests

                    Once you have a development environment set up, you will need to launch OctoPrint using serve --debug as parameters.

                    At this point, you are able to make the exact same requests as before. To @@ -144,7 +144,7 @@ an html document with the profiling results instead of the contents of the response.

                    -

                    Errors

                    +

                    Errors

                    If you receive a 500: Internal Server Error and a ModuleNotFoundError: No module named 'pyinstrument' in the console, you didn’t install development dependencies. Do that now using pip install -e '.[develop]'.

                    diff --git a/maintenance/development/versioning.html b/maintenance/development/versioning.html index a5753fdb5..336916c93 100644 --- a/maintenance/development/versioning.html +++ b/maintenance/development/versioning.html @@ -1,26 +1,26 @@ - + - + OctoPrint’s versioning strategy — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -132,10 +132,10 @@
                    -

                    OctoPrint’s versioning strategy

                    +

                    OctoPrint’s versioning strategy

                    OctoPrint’s version numbers follow PEP440, with a version format of MAJOR.MINOR.PATCH following the contract of semantic versioning.

                    -

                    The PATCH version number will increase in case of hotfix releases 1. +

                    The PATCH version number will increase in case of hotfix releases [1]. Releases that only change the patch number indicate that they only contain bug fixes, and usually only hotfixes at that. Example: 1.5.0 to 1.5.1.

                    The MINOR version number increases with releases that add new functionality while maintaining @@ -148,14 +148,15 @@ allow for an exact determination of the active code base (e.g. 1.2.9.dev68+g46c7a9c). Additionally, instances with active uncommitted changes will contain .dirty in the local version identifier.

                    Footnotes

                    -
                    -
                    1
                    -

                    Up until 1.4.2, the PATCH version segment was the one increasing most often +

                    -
                    + +
                    diff --git a/maintenance/development/virtual_printer.html b/maintenance/development/virtual_printer.html index 475d08ead..15a8d5678 100644 --- a/maintenance/development/virtual_printer.html +++ b/maintenance/development/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Setting up the virtual printer for debugging — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -138,16 +138,16 @@
                    -

                    Setting up the virtual printer for debugging

                    +

                    Setting up the virtual printer for debugging

                    OctoPrint includes, by default, a virtual printer plugin. This plugin allows you to debug OctoPrint’s serial communication without connecting to an actual printer. Furthermore, it is possible to create certain edge conditions that may be hard to reproduce with a real printer.

                    -

                    Enabling the virtual printer

                    +

                    Enabling the virtual printer

                    The virtual printer can be enabled through its Settings pane.

                    -

                    Virtual printer configuration options

                    +

                    Virtual printer configuration options

                    There many configuration options via config.yaml for the virtual printer that allow you to fine-tune its behavior:

                    plugins:
                     
                    @@ -377,12 +377,12 @@
                     
                    -

                    Log file

                    +

                    Log file

                    Once activated, the virtual printer will log all serial communication in the plugin_virtual_printer_serial.log file that can be found in the OctoPrint logs folder.

                    -

                    Debug commands

                    +

                    Debug commands

                    You can simulate certain conditions and communications through the terminal tab in OctoPrint’s interface.

                    All commands start with !!DEBUG: and are followed by the command you want to execute. For instance, sending !!DEBUG:action_disconnect will disconnect the printer. Sending !!DEBUG without command will show a help diff --git a/maintenance/events/index.html b/maintenance/events/index.html index 245992c9b..20cebd060 100644 --- a/maintenance/events/index.html +++ b/maintenance/events/index.html @@ -1,26 +1,26 @@ - + - + Events — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -142,8 +142,8 @@

                    -

                    Events

                    -
                    +

                    Events

                    +
                  -
                  +
                  -

                  Configuration

                  +

                  Configuration

                  Event hooks are configured via OctoPrint’s configuration file config.yaml. There they are contained in a subscriptions list located directly under the events node. The command node accepts either a single string or a list of strings so that multiple commands can be executed in one go. Each hook carries an additional node type that @@ -181,7 +181,7 @@

                  All event hooks can be disabled completely by setting event > enabled to false. You can also disable individual hooks by setting the (optional) node enabled to false, see the example below.

                  -

                  Example

                  +

                  Example

                  events:
                     enabled: True
                     subscriptions:
                  @@ -218,7 +218,7 @@ 

                  Example -

                  Placeholders

                  +

                  Placeholders

                  You can use the following generic placeholders in your event hooks:

                  -

                  Available Events

                  +

                  Available Events

                  Note

                  Plugins may add additional events via the octoprint.events.register_custom_events hook.

                  -

                  Server

                  +

                  Server

                  Startup

                  The server has started.

                  @@ -285,7 +285,7 @@

                  Example -

                  New in version 1.4.0.

                  +

                  Added in version 1.4.0.

                  ClientClosed

                  A client has disconnected from the push socket.

                  @@ -307,7 +307,7 @@

                  Example -

                  New in version 1.4.0.

                  +

                  Added in version 1.4.0.

                UserLoggedOut
                @@ -320,7 +320,7 @@

                Example -

                New in version 1.4.0.

                +

                Added in version 1.4.0.

              ConnectivityChanged
              @@ -334,19 +334,19 @@

              Example -

              New in version 1.3.5.

              +

              Added in version 1.3.5.

              -

              Printer communication

              +

              Printer communication

              Connecting

              The server is attempting to connect to the printer.

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              Connected

              The server has connected to the printer.

              @@ -364,7 +364,7 @@

              Example -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              Disconnected

              The server has disconnected from the printer

              @@ -404,13 +404,13 @@

              Example -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              -

              File handling

              +

              File handling

              Upload

              A file has been uploaded through the REST API.

              @@ -458,7 +458,7 @@

              Example -

              New in version 1.3.3.

              +

              Added in version 1.3.3.

              FileRemoved
              @@ -480,7 +480,7 @@

              Example -

              New in version 1.3.3.

              +

              Added in version 1.3.3.

              FileMoved
              @@ -505,7 +505,7 @@

              Example -

              New in version 1.8.0.

              +

              Added in version 1.8.0.

              FolderAdded
              @@ -525,7 +525,7 @@

              Example -

              New in version 1.3.3.

              +

              Added in version 1.3.3.

              FolderRemoved
              @@ -544,7 +544,7 @@

              Example -

              New in version 1.3.3.

              +

              Added in version 1.3.3.

              FolderMoved
              @@ -565,7 +565,7 @@

              Example -

              New in version 1.8.0.

              +

              Added in version 1.8.0.

              UpdatedFiles

              A file list was modified.

              @@ -687,7 +687,7 @@

              Example -

              Printing

              +

              Printing

              PrintStarted

              A print has started.

              Payload:

              @@ -775,7 +775,7 @@

              Example -

              New in version 1.3.7.

              +

              Added in version 1.3.7.

              PrintCancelled

              The print has been cancelled.

              @@ -889,7 +889,7 @@

              Example -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              GcodeScript${ScriptName}Finished

              A custom GCODE script has finished running.

              @@ -905,7 +905,7 @@

              Example -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              ChartMarked

              A time-based marking has been made on the UI’s temperature chart.

              @@ -922,13 +922,13 @@

              Example -

              New in version 1.9.0.

              +

              Added in version 1.9.0.

              -

              GCODE processing

              +

              GCODE processing

              PowerOn

              An M80 was sent to the printer through OctoPrint (not triggered when printing from SD!)

              @@ -956,7 +956,7 @@

              ExampleM600, M701 or M702 was sent to the printer through OctoPrint (not triggered when printing from SD!)

              -

              New in version 1.7.0.

              +

              Added in version 1.7.0.

              PositionUpdate

              The response to an M114 was received by OctoPrint. The payload contains the current position information @@ -974,7 +974,7 @@

              Example -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              ToolChange

              A tool change command was sent to the printer. The payload contains the former current tool index and the @@ -987,7 +987,7 @@

              Example -

              New in version 1.3.5.

              +

              Added in version 1.3.5.

              CommandSuppressed

              A command was suppressed by OctoPrint due to according configuration and will not be @@ -1003,7 +1003,7 @@

              Example -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              InvalidToolReported

              The firmware reported a tool as invalid upon trying to select it. It has thus been marked @@ -1017,13 +1017,13 @@

              Example -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              -

              Timelapses

              +

              Timelapses

              CaptureStart

              A timelapse frame has started to be captured.

              Payload:

              @@ -1050,7 +1050,7 @@

              Example -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              MovieRendering

              The timelapse movie has started rendering.

              @@ -1090,7 +1090,7 @@

              Example -

              Slicing

              +

              Slicing

              SlicingStarted

              The slicing of a file has started.

              Payload:

              @@ -1155,7 +1155,7 @@

              Example -

              New in version 1.2.12.

              +

              Added in version 1.2.12.

              SlicingProfileModified
              @@ -1169,7 +1169,7 @@

              Example -

              New in version 1.2.12.

              +

              Added in version 1.2.12.

              SlicingProfileDeleted
              @@ -1183,25 +1183,25 @@

              Example -

              New in version 1.2.12.

              +

              Added in version 1.2.12.

              -

              Settings

              +

              Settings

              SettingsUpdated

              The settings were updated via the REST API.

              This event may also be triggered if calling code of octoprint.settings.Settings.save or octoprint.plugin.PluginSettings.save sets the trigger_event parameter to True.

              -

              New in version 1.2.0.

              +

              Added in version 1.2.0.

              -

              Printer Profile

              +

              Printer Profile

              PrinterProfileModified

              A printer profile was modified.

              Payload:

              @@ -1211,7 +1211,7 @@

              Example -

              New in version 1.3.12.

              +

              Added in version 1.3.12.

              diff --git a/maintenance/features/accesscontrol.html b/maintenance/features/accesscontrol.html index 7df2ca0bf..144924ad5 100644 --- a/maintenance/features/accesscontrol.html +++ b/maintenance/features/accesscontrol.html @@ -1,26 +1,26 @@ - + - + Access Control — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -148,7 +148,7 @@
              -

              Access Control

              +

              Access Control

              Changed in version 1.5.0.

              @@ -203,7 +203,7 @@ control enabled.

              -

              Autologin

              +

              Autologin

              While access control cannot be disabled as of OctoPrint 1.5+, the Autologin feature can be used to bypass authentication for hosts on the network(s) that you trust.

              Starting with OctoPrint 1.5.0, OctoPrint makes enabled access control mandatory. This @@ -229,7 +229,7 @@ benchies, that’s on you.

              -

              Gather configuration information

              +

              Gather configuration information

              You can configure Autologin via a plugin (the easy way), or manually (the hard way), but in either case you will need to specify which user should be automatically logged in, and which hosts are permitted access this way.

              @@ -252,16 +252,16 @@ 255.255.255.0. Your address range is 192.168.23.42/255.255.255.0.

              -

              The easy way: Using the OctoPrint-AutoLoginConfig plugin

              +

              The easy way: Using the OctoPrint-AutoLoginConfig plugin

              The easiest way to configure AutoLogin is to install the OctoPrint-AutoLoginConfig plugin via the plugin manager.

              Open its settings and follow the instructions on the screen.

              -

              The hard way: Manual editing of config.yaml

              +

              The hard way: Manual editing of config.yaml

              -

              Preparation

              +

              Preparation

              First of all, read the YAML primer. You will have to edit OctoPrint’s main configuration file, and thus should make sure you understand at least roughly how things work and that you should keep your @@ -272,7 +272,7 @@

              Preparation -

              Configuration

              +

              Configuration

              Ready? Let’s do some editing then. I’ll outline what to do and where first, and then further down there’s also a dedicated list of steps for OctoPi specifically.

                @@ -314,7 +314,7 @@

                Configuration -

                OctoPi specific steps

                +

                OctoPi specific steps

                If you are running OctoPi you will have to SSH into your Raspberry Pi. Then issue the following commands:

                  @@ -330,7 +330,7 @@

                  OctoPi specific steps

              -

              If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

              +

              If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

              Warning

              You probably shouldn’t do this, EVER. There are usually other options. Don’t even @@ -349,16 +349,16 @@

              If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal

              -

              Available Extension Hooks

              +

              Available Extension Hooks

              There are two hooks for plugins to utilize in order to add new configurable permissions into the system and/or adjust the styling of the login dialog.

              -

              octoprint.access.permissions

              +

              octoprint.access.permissions

              See here.

              -

              octoprint.theming.login

              +

              octoprint.theming.login

              See here.

              diff --git a/maintenance/features/action_commands.html b/maintenance/features/action_commands.html index 52dd69e68..8a32efc10 100644 --- a/maintenance/features/action_commands.html +++ b/maintenance/features/action_commands.html @@ -1,26 +1,26 @@ - + - + Action Commands — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -134,7 +134,7 @@
              -

              Action Commands

              +

              Action Commands

              Action commands are a feature defined for the GCODE based RepRap communication protocol. To quote from the GCODE node of the RepRap wiki:

              @@ -151,7 +151,7 @@
              start

              When this command is received from the printer, a job is currently selected and not active, OctoPrint will start it just like if the “Start”/”Restart” button had been clicked.

              -

              New in version 1.5.0.

              +

              Added in version 1.5.0.

              cancel

              When this command is received from the printer, OctoPrint will cancel a current print job just like if the @@ -179,21 +179,21 @@ set the corresponding internal state flags and send a file list request. This command is only recognized if SD support is enabled in OctoPrint.

              -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              sd_ejected

              When this command is received from the printer, OctoPrint will assume the SD card has been removed from the printer and clear the corresponding internal state flags. This command is only recognized if SD support is enabled in OctoPrint.

              -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              sd_updated

              When this command is received from the printer, OctoPrint will assume something on the SD card in the printer has changed and trigger a file list request. This command is only recognized if SD support is enabled in OctoPrint.

              -

              New in version 1.6.0.

              +

              Added in version 1.6.0.

              shutdown

              When this command is received from the printer, support for it is enabled in its settings @@ -202,7 +202,7 @@ firmware or manipulated GCODE, but can be enabled in the OctoPrint settings via Serial Connection > Firmware & Protocol > Action Commands if so desired by the user.

              -

              New in version 1.8.0.

              +

              Added in version 1.8.0.

              diff --git a/maintenance/features/atcommands.html b/maintenance/features/atcommands.html index 59f52cf01..26b38fb2e 100644 --- a/maintenance/features/atcommands.html +++ b/maintenance/features/atcommands.html @@ -1,26 +1,26 @@ - + - + @ Commands — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -134,9 +134,9 @@
              -

              @ Commands

              +

              @ Commands

              -

              New in version 1.3.7.

              +

              Added in version 1.3.7.

              @ commands (also known as host commands elsewhere) are special commands you may include in GCODE files streamed through OctoPrint to your printer or send as part of GCODE scripts, through the Terminal Tab, the API or plugins. diff --git a/maintenance/features/custom_controls.html b/maintenance/features/custom_controls.html index 6b9333303..22b5f3189 100644 --- a/maintenance/features/custom_controls.html +++ b/maintenance/features/custom_controls.html @@ -1,26 +1,26 @@ - + - + Custom Controls — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -145,8 +145,8 @@

              -

              Custom Controls

              -
              +

              Custom Controls

              +
              +

              OctoPrint allows you to add custom controls to the “Control” tab of its interface. Control types reach from simple buttons which trigger sending of one or more lines of GCODE to the printer over more complex controls allowing parameterization of these commands with values entered by the user to full blown GCODE script templates backed by Jinja2.

              -

              Custom controls are configured within config.yaml 1 in a controls section which +

              Custom controls are configured within config.yaml [1] in a controls section which basically represents a hierarchical structure of all configured custom controls of various types.

              Note

              @@ -241,7 +241,7 @@
              The rendered output created through the example configuration
              -

              Fig. 1 The rendered output created through the example configuration

              +

              Fig. 1 The rendered output created through the example configuration

              As you can see you have two basic types of control definitions here: controls that actually do something (providing a @@ -256,14 +256,14 @@ file.

              -

              Types

              +

              Types

              Let’s take a closer look at the possible attributes that are available for both basic types.

              -

              Containers

              -

              Name

              +

              Containers

              +
              --++ @@ -283,11 +283,11 @@

              Attribute

              -

              Controls

              - +

              Controls

              +
              --++ @@ -413,17 +413,17 @@
              An example confirmation dialog
              -

              Fig. 2 An example confirmation dialog

              +

              Fig. 2 An example confirmation dialog

              -

              Examples

              +

              Examples

              -

              Parameterized GCODE Script

              +

              Parameterized GCODE Script

              -
              Listing 1 Control definition in ~/.octoprint/config.yaml
              +
              Listing 1 Control definition in ~/.octoprint/config.yaml
              name: Dance
               script: custom/dance.gco
               input:
              @@ -438,7 +438,7 @@
               
              -
              Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
              +
              Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
              {% set center_x = printer_profile.volume.width / 2 %}
               {% set center_y = printer_profile.volume.depth / 2 %}
               {% set speed_x = printer_profile.axes.x.speed %}
              @@ -472,12 +472,13 @@
               

              Note the usage of the parameters.repetitions template variable in the GCODE script template, which will contain the value selected by the user for the “Go arounds” slider.

              Footnotes

              -
              -
              1
              -

              For Linux that will be ~/.octoprint/config.yaml, for Windows it will be %APPDATA%/OctoPrint/config.yaml and for +

              -
              + +
              diff --git a/maintenance/features/gcode_scripts.html b/maintenance/features/gcode_scripts.html index ebcd51271..cd101f838 100644 --- a/maintenance/features/gcode_scripts.html +++ b/maintenance/features/gcode_scripts.html @@ -1,26 +1,26 @@ - + - + GCODE Scripts — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -145,8 +145,8 @@
              -

              GCODE Scripts

              -
              +

              GCODE Scripts

              +
              +

              OctoPrint allows you to define custom GCODE scripts to be executed on specified occasions, e.g. when a print starts, when OctoPrint connects to a printer, or when a button defined as a custom control is clicked.

              @@ -177,7 +177,7 @@ as described below.

              You can find the docs on the Jinja templating engine as used in OctoPrint here.

              -

              Predefined Scripts

              +

              Predefined Scripts

              The following GCODE scripts are sent by OctoPrint automatically:

                @@ -202,20 +202,20 @@
              -

              Events

              +

              Events

              Every GCODE script that is executed will emit two events. The event name will start with ‘GcodeScript’ followed by the capitalized name of the script. When afterPrintDone has started the event will be GcodeScriptAfterPrintDoneRunning and once it has completed the last event will be GcodeScriptAfterPrintDoneFinished. You can find more details in the Events documentation.

              -

              Snippets

              +

              Snippets

              For making small GCODE snippets reusable in a template (e.g. for disabling all hotends) there’s an additional Jinja template command {% snippet '<snippet name>' %} available which allows including snippets stored under scripts/gcode/snippets in OctoPrint’s configuration directory. They fully support the whole spectrum of the Jinja2 templating language (that includes including other snippets).

              -

              Context

              +

              Context

              All GCODE scripts have access to the following template variables through the template context:

                @@ -307,10 +307,10 @@
              -

              Bundled Scripts

              +

              Bundled Scripts

              Out of the box, OctoPrint defaults to the following script setup for afterPrintCancelled:

              -
              Listing 3 Default afterPrintCancelled script
              +
              Listing 3 Default afterPrintCancelled script
              ; disable motors
               M84
               
              @@ -325,7 +325,7 @@
               

              The disable_hotends snippet is defined as follows:

              -
              Listing 4 Default disable_hotends snippet
              +
              Listing 4 Default disable_hotends snippet
              {% if printer_profile.extruder.sharedNozzle %}
               M104 T0 S0
               {% else %}
              @@ -338,7 +338,7 @@
               

              The disable_bed snippet is defined as follows:

              -
              Listing 5 Default disable_bed snippet
              +
              Listing 5 Default disable_bed snippet
              {% if printer_profile.heatedBed %}
               M140 S0
               {% endif %}
              @@ -351,16 +351,16 @@
               to 0 if a heated bed is configured.

              -

              Examples

              +

              Examples

              -

              More nifty pause and resume

              +

              More nifty pause and resume

              If you do not have a multi-extruder setup, aren’t printing from SD and have “Log position on pause” enabled under Settings > Serial Connection > Behaviour > Pausing, the following afterPrintPaused and beforePrintResumed scripts might be interesting for you. With something like them in place, OctoPrint will move your print head out of the way to a safe rest position (here G1 X0 Y0, you might want to adjust that) on pause and move it back to the persisted pause position on resume, making sure to also reset the extruder and feedrate.

              -
              Listing 6 afterPrintPaused script
              +
              Listing 6 afterPrintPaused script
              ; (optional) disable stepper inactivity timeout - uncomment if you printer disables steppers during pause and supports this command
               ;M18 S0
               
              @@ -383,7 +383,7 @@
               
              -
              Listing 7 beforePrintResumed script
              +
              Listing 7 beforePrintResumed script
              {% if pause_position.x is not none %}
               ; relative extruder
               M83
              diff --git a/maintenance/features/index.html b/maintenance/features/index.html
              index ebf7e1bb6..995ff9c22 100644
              --- a/maintenance/features/index.html
              +++ b/maintenance/features/index.html
              @@ -1,26 +1,26 @@
               
              -
              +
               
              -  
              +  
               
                 
                 Features — OctoPrint maintenance documentation
              -      
              -      
              -      
              +      
              +      
              +      
               
                 
                 
                 
              -        
              -        
              -        
              -        
              -        
              -        
              -        
              +        
              +        
              +        
              +        
              +        
              +        
              +        
                       
                   
                   
              @@ -132,7 +132,7 @@
                          
              -

              Features

              +

              Features

              Note

              This feature list is not exhaustive. This part of OctoPrint’s documentation is sadly far from finished still.

              diff --git a/maintenance/features/plugins.html b/maintenance/features/plugins.html index 4bed45f5e..62dbd3657 100644 --- a/maintenance/features/plugins.html +++ b/maintenance/features/plugins.html @@ -1,26 +1,26 @@ - + - + Plugins — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -142,9 +142,9 @@
              -

              Plugins

              +

              Plugins

              -

              New in version 1.2.0.

              +

              Added in version 1.2.0.

              Starting with OctoPrint 1.2.0, there’s now a plugin system in place which allows to individually extend OctoPrint’s functionality.

              @@ -161,21 +161,21 @@ read more on how to enable that here.

              -

              Finding Plugins

              +

              Finding Plugins

              The official OctoPrint Plugin Repository can be found at plugins.octoprint.org.

              Some plugins may also be found in the list provided in the OctoPrint wiki and on the OctoPrint organization Github page.

              -

              Installing Plugins

              +

              Installing Plugins

              Plugins can be installed through the bundled Plugin Manager, which allows installing plugins available in the OctoPrint Plugin Repository, from a web address or from an uploaded file archive.

              Please refer to the documentation of the plugin for additional installations instructions.

              -

              Manual Installation

              +

              Manual Installation

              If you don’t want or can’t use the Plugin Manager, plugins may also be installed manually either by copying and unpacking them into one of the configured plugin folders (regularly those are <octoprint source root>/plugins and -<octoprint config folder>/plugins 1 or by installing them as regular Python modules via pip 2.

              +<octoprint config folder>/plugins [1] or by installing them as regular Python modules via pip [2].

              For a plugin available on the Python Package Index (PyPi), the process is as simple as issuing a

              pip install <plugin_name>
               
              @@ -190,20 +190,22 @@

              Manual Installation -

              Developing Plugins

              +

              Developing Plugins

              See Developing Plugins.

              Footnotes

              -
              -
              1
              -

              For Linux that will be ~/.octoprint/plugins, for Windows it will be %APPDATA%/OctoPrint/plugins and for +

              -
              2
              -

              Make sure to use the exact same Python installation for installing the plugin that you also used for + +

              -
              + +
              diff --git a/maintenance/features/safemode.html b/maintenance/features/safemode.html index 07993749e..2cd75b78b 100644 --- a/maintenance/features/safemode.html +++ b/maintenance/features/safemode.html @@ -1,26 +1,26 @@ - + - + Safe mode — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -138,9 +138,9 @@
              -

              Safe mode

              +

              Safe mode

              -

              New in version 1.3.0.

              +

              Added in version 1.3.0.

              Changed in version 1.3.13.

              @@ -158,7 +158,7 @@

              Whenever reporting an issue with OctoPrint, please always attempt to reproduce it in safe mode as well to ensure it really is an issue in OctoPrint itself and now caused by one of your installed third party additions.

              -

              How to start OctoPrint in safe mode

              +

              How to start OctoPrint in safe mode

              There exist three ways to start OctoPrint in safe mode:

                @@ -197,12 +197,12 @@
                "Restart OctoPrint in safe mode" in the "System" menu
                -

                Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

                +

                Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

              -

              Differences of safe mode vs normal operation mode

              +

              Differences of safe mode vs normal operation mode

              When OctoPrint is running in safe mode the following changes to its normal operation mode apply:

                @@ -226,7 +226,7 @@
                Safe mode notification
                -

                Fig. 4 Safe mode notification

                +

                Fig. 4 Safe mode notification

              diff --git a/maintenance/genindex.html b/maintenance/genindex.html index bedbf1593..cd44262ee 100644 --- a/maintenance/genindex.html +++ b/maintenance/genindex.html @@ -1,25 +1,25 @@ - + Index — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -437,8 +437,6 @@

              B

            • backup() (octoprint.settings.Settings method)
            • BaseModel (class in octoprint.schema) -
            • -
            • BaseModel.Config (class in octoprint.schema)
            • baudrate (octoprint.schema.config.serial.SerialConfig attribute)
            • @@ -773,7 +771,7 @@

              C

            • ContainerConfig (class in octoprint.schema.config.controls)
            • -
            • content_type (octoprint.filemanager.ContentTypeMapping property) +
            • content_type (octoprint.filemanager.ContentTypeMapping attribute)
            • ContentTypeDetector (class in octoprint.filemanager)
            • @@ -917,7 +915,7 @@

              D

            • detectionFirst (octoprint.schema.config.serial.SerialTimeoutConfig attribute)
            • -
            • detector (octoprint.filemanager.ContentTypeDetector property) +
            • detector (octoprint.filemanager.ContentTypeDetector attribute)
            • devel (octoprint.schema.config.Config attribute)
            • @@ -1057,10 +1055,10 @@

              E

            • extended_m20 (octoprint.schema.config.serial.SerialCapabilities attribute)
            • -
            • extensions (octoprint.filemanager.ContentTypeDetector property) +
            • extensions (octoprint.filemanager.ContentTypeDetector attribute)
            • externalHeatupDetection (octoprint.schema.config.serial.SerialConfig attribute) @@ -1862,8 +1860,344 @@

              M

            • minify_plugins (octoprint.schema.config.devel.DevelWebassetsConfig attribute)
            • -
            • model_dump() (octoprint.schema.BaseModel method) +
            • model_computed_fields (octoprint.schema.BaseModel attribute) + +
            • +
            • model_config (octoprint.schema.BaseModel attribute) + +
            • + +
              -

              Attribute

              -
              • move_file() (octoprint.filemanager.storage.LocalFileStorage method)
              • UrlProxyHandler (class in octoprint.server.util.tornado) -
              • -
              • use_enum_values (octoprint.schema.BaseModel.Config attribute)
              • useFrozenDictForPrinterState (octoprint.schema.config.devel.DevelConfig attribute)
              • diff --git a/maintenance/http-routingtable.html b/maintenance/http-routingtable.html index 19d5bcb6b..2cc7b0524 100644 --- a/maintenance/http-routingtable.html +++ b/maintenance/http-routingtable.html @@ -1,25 +1,25 @@ - + HTTP Routing Table — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + diff --git a/maintenance/index.html b/maintenance/index.html index 20060c5e3..083a5aacb 100644 --- a/maintenance/index.html +++ b/maintenance/index.html @@ -1,26 +1,26 @@ - + - + Welcome to OctoPrint’s documentation! — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -122,7 +122,7 @@
                -

                Welcome to OctoPrint’s documentation!

                +

                Welcome to OctoPrint’s documentation!

                The OctoPrint Logo

                OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero General Public License V3.

                @@ -138,7 +138,7 @@

                Welcome to OctoPrint’s documentation!on the forum!

                -

                Contents

                +

                Contents

                • Features
                    diff --git a/maintenance/jsclientlib/base.html b/maintenance/jsclientlib/base.html index ae79dbe5e..526a71554 100644 --- a/maintenance/jsclientlib/base.html +++ b/maintenance/jsclientlib/base.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -177,14 +177,14 @@
                    -

                    OctoPrintClient

                    +

                    OctoPrintClient

                    -class OctoPrintClient([options])
                    +class OctoPrintClient([options])

                    Instantiates a new instance of the client library. Note that by default there’s always an instance registered globally called OctoPrint.

                    -
                    Arguments
                    +
                    Arguments:
                    @@ -194,7 +194,7 @@
                    -OctoPrintClient.options
                    +OctoPrintClient.options

                    The client library instance’s options. The following keys are currently supported:

                    baseurl

                    The base URL of the OctoPrint API

                    @@ -210,7 +210,7 @@
                    -OctoPrintClient.plugins
                    +OctoPrintClient.plugins

                    Registration of client library components provided by plugins.

                    OctoPrint plugins should always register their client classes here using their plugin identifier as key via OctoPrintClient.registerPluginComponent().

                    @@ -249,12 +249,12 @@
                    -OctoPrintClient.getBaseUrl()
                    +OctoPrintClient.getBaseUrl()

                    Returns the canonical base URL to use for OctoPrint’s API. Uses the current value of OctoPrint.options.baseurl. If that doesn’t end in a /, a trailing / will be appended to the URL before the result is returned.

                    -
                    Returns string
                    +
                    Returns string:

                    The base url to use to access OctoPrint’s API.

                    @@ -262,15 +262,15 @@
                    -OctoPrintClient.getCookie(name)
                    +OctoPrintClient.getCookie(name)
                    -

                    New in version 1.8.3.

                    +

                    Added in version 1.8.3.

                    Returns the value of the cookie with name name. The port based cookie suffix and if necessary also the script root based suffix will be automatically applied to the name prior to looking up the value.

                    -
                    Return string
                    +
                    Return string:

                    The value of the cookie, if set & accessible, else an empty string.

                    @@ -278,7 +278,7 @@
                    -OctoPrintClient.getRequestHeaders(method, additional, opts)
                    +OctoPrintClient.getRequestHeaders(method, additional, opts)

                    Changed in version 1.8.3.

                    @@ -297,14 +297,14 @@ A warning will be logged to the debug console accordingly.

                    -
                    Arguments
                    +
                    Arguments:
                    • method (str()) – Method of the request for which to set headers

                    • additional (object()) – Additional headers to add to the request, optional.

                    • opts (object()) – Additional opts passed to the request, used to read cross domain setting, optional.

                    -
                    Returns object
                    +
                    Returns object:

                    HTTP headers to use for requests.

                    @@ -312,7 +312,7 @@
                    -OctoPrintClient.ajax(method, url, opts)
                    +OctoPrintClient.ajax(method, url, opts)

                    Performs an AJAX request against the OctoPrint API, utilizing jQuery’s own ajax function.

                    The HTTP method to use may be defined through opts.method or - if that is not provided – through the method parameter. If neither is available, GET will be used.

                    @@ -326,14 +326,14 @@ json will be used.

                    Anything provided in the opts parameter will also be passed on to the jQuery ajax call.

                    -
                    Arguments
                    +
                    Arguments:
                    • method (string()) – The HTTP method to use for the request (optional)

                    • url (string()) – The URL to perform the request against (optional)

                    • opts (object()) – Additional options to use for the request, see above for details (optional)

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -341,11 +341,11 @@
                    -OctoPrintClient.ajaxWithData(method, url, data, opts)
                    +OctoPrintClient.ajaxWithData(method, url, data, opts)

                    Performs an AJAX request against the OctoPrint API, including the provided data in the body of the request.

                    Utilizes OctoPrint.ajax(), see that for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • method (string()) – The HTTP method to use for the request (optional)

                    • url (string()) – The URL to perform the request against (optional)

                    • @@ -353,7 +353,7 @@
                    • opts (object()) – Additional options to use for the request (optional)

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -361,7 +361,7 @@
                    -OctoPrintClient.get(url, opts)
                    +OctoPrintClient.get(url, opts)

                    Performs a GET request against url.

                    Example:

                    OctoPrint.get("api/version")
                    @@ -371,13 +371,13 @@
                     
                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL against which to make the request, relative to base url or absolute

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -385,7 +385,7 @@
                    -OctoPrintClient.getWithQuery(url, data, opts)
                    +OctoPrintClient.getWithQuery(url, data, opts)

                    Performs a GET request against url using the provided data as URL query.

                    Example:

                    // this should perform a GET of "api/timelapse?unrendered=true"
                    @@ -393,14 +393,14 @@
                     
                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL against which to make the request, relative to base url or absolute

                    • data (object()) – An object containing the key/value pairs of the query data OR a string representation of the query

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -408,7 +408,7 @@
                    -OctoPrintClient.post(url, data, opts)
                    +OctoPrintClient.post(url, data, opts)

                    Performs a POST request against url using the provided data as request body.

                    Example:

                    var url = OctoPrint.getBlueprintUrl("myplugin") + "endpoint";
                    @@ -419,7 +419,7 @@
                     
                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL against which to make the request, relative to base url or absolute

                    • data (string()) – Data to post as request body

                    • @@ -427,7 +427,7 @@
                    • opts – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -435,7 +435,7 @@
                    -OctoPrintClient.postJson(url, data, opts)
                    +OctoPrintClient.postJson(url, data, opts)

                    Performs a POST request against url using the provided data object as request body after serializing it to JSON.

                    Example:

                    @@ -447,14 +447,14 @@
                -
                Arguments
                +
                Arguments:
                • url (string()) – URL against which to make the request, relative to base url or absolute

                • data (object()) – Data to post as request body after serialization to JSON

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -462,14 +462,14 @@
                -OctoPrintClient.put(url, data, opts)
                +OctoPrintClient.put(url, data, opts)

                Performs PUT request against url using the provided data as request body.

                See OctoPrint.post() for details.

                -OctoPrintClient.putJson(url, data, opts)
                +OctoPrintClient.putJson(url, data, opts)

                Performs PUT request against url using the provided data as request body after serializing it to JSON.

                See OctoPrint.postJson() for details.

                @@ -477,14 +477,14 @@
                -OctoPrintClient.patch(url, data, opts)
                +OctoPrintClient.patch(url, data, opts)

                Performs PATCH request against url using the provided data as request body.

                See OctoPrint.post() for details.

                -OctoPrintClient.patchJson(url, data, opts)
                +OctoPrintClient.patchJson(url, data, opts)

                Performs PATCH request against url using the provided data as request body after serializing it to JSON.

                See OctoPrint.postJson() for details.

                @@ -492,16 +492,16 @@
                -OctoPrintClient.delete(url, opts)
                +OctoPrintClient.delete(url, opts)

                Performs a DELETE request against url.

                -
                Arguments
                +
                Arguments:
                • url (string()) – URL against which to make the request, relative to base url or absolute

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -509,19 +509,19 @@
                -OctoPrintClient.download(url, opts)
                +OctoPrintClient.download(url, opts)

                Downloads a file from url, returning the response body as data type text.

                Use this if you need to download a file from the server in order to process it further in the client. The response body returned on successful completion of the returned jQuery Promise will contain the requested file as raw string/binary.

                -
                Arguments
                +
                Arguments:
                • url (string()) – URL to download

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -529,7 +529,7 @@
                -OctoPrintClient.upload(url, file, filename, additional)
                +OctoPrintClient.upload(url, file, filename, additional)

                Uploads a file to url using a multipart/form-data POST request.

                file should be either of

                @@ -586,7 +586,7 @@
                -
                Arguments
                +
                Arguments:
                • url (string()) – URL to which to POST the upload, relative to base url or absolute

                • file (object()) – The file to object, see description for details

                • @@ -599,7 +599,7 @@
                  -OctoPrintClient.issueCommand(url, command, payload, opts)
                  +OctoPrintClient.issueCommand(url, command, payload, opts)

                  Issues a command against an OctoPrint command API endpoint.

                  OctoPrint contains various API endpoints which follow a specific pattern: The payload of the request body is a JSON object which contains at least one property command and depending on the provided command additional @@ -619,7 +619,7 @@

                  -
                  Arguments
                  +
                  Arguments:
                  • url (string()) – The URL to POST the command to

                  • command (string()) – The command to issue

                  • @@ -627,7 +627,7 @@
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -635,7 +635,7 @@
                  -OctoPrintClient.getSimpleApiUrl(plugin)
                  +OctoPrintClient.getSimpleApiUrl(plugin)

                  Returns the proper URL for the endpoint of a SimpleApiPlugin, based on the plugin identifier.

                  Example:

                  @@ -644,12 +644,12 @@
                  -
                  Arguments
                  +
                  Arguments:
                  • plugin (string()) – The identifier of the plugin for which to return the URL

                  -
                  Returns string
                  +
                  Returns string:

                  The URL to use as endpoint

                  @@ -657,7 +657,7 @@
                  -OctoPrintClient.simpleApiGet(plugin, opts)
                  +OctoPrintClient.simpleApiGet(plugin, opts)

                  Performs a GET request against the endpoint of a SimpleApiPlugin with identifier plugin.

                  OctoPrint.simpleApiGet("myplugin")
                  @@ -667,13 +667,13 @@
                   
                  -
                  Arguments
                  +
                  Arguments:
                  • plugin (string()) – The identifier of the plugin

                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -681,7 +681,7 @@
                  -OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)
                  +OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)

                  Performs the API command command against the endpoint of a SimpleApiPlugin with identifier plugin, including the optional payload.

                  Example:

                  @@ -693,7 +693,7 @@
                  -
                  Arguments
                  +
                  Arguments:
                  • plugin (string()) – The identifier of the plugin

                  • command (string()) – The command to issue

                  • @@ -701,7 +701,7 @@
                  • opts (object()) – Additional options for the request

                  -
                  Returns Promise
                  +
                  Returns Promise:

                  A jQuery Promise for the request’s response

                  @@ -709,7 +709,7 @@
                  -OctoPrintClient.getBlueprintUrl(plugin)
                  +OctoPrintClient.getBlueprintUrl(plugin)

                  Returns the proper base URL for blueprint endpoints of a BlueprintPlugin with identifier plugin.

                  Example:

                  @@ -721,14 +721,14 @@
                  -OctoPrintClient.createRejectedDeferred()
                  +OctoPrintClient.createRejectedDeferred()

                  Static method.

                  Shortcut for creating a rejected jQuery Deferred.

                  -OctoPrintClient.createCustomException(name)
                  +OctoPrintClient.createCustomException(name)

                  Static method.

                  Creates a custom exception class. name may be either a function in which case it will be used as constructor for the new exception class, or a string, in which case a constructor with proper @@ -743,7 +743,7 @@

                  -OctoPrintClient.registerPluginComponent(identifier, clientClass)
                  +OctoPrintClient.registerPluginComponent(identifier, clientClass)

                  Static method.

                  Registers the plugin client component clientClass under the name identifier on the OctoPrintClient.plugins registry.

                  @@ -763,7 +763,7 @@
                  -
                  Arguments
                  +
                  Arguments:
                  • identifier (string()) – The identifier of the plugin for which clientClass is the client

                  • clientClass (class()) – The client class to register. Constructor must follow the signature ClientClass(base) @@ -776,7 +776,7 @@

                    -class OctoPrintClient.InvalidArgumentError()
                    +class OctoPrintClient.InvalidArgumentError()

                    Exception to use when functions are called with invalid arguments.

                    diff --git a/maintenance/jsclientlib/browser.html b/maintenance/jsclientlib/browser.html index c23e38593..94e381b1d 100644 --- a/maintenance/jsclientlib/browser.html +++ b/maintenance/jsclientlib/browser.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.browser — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -150,10 +150,10 @@
                    -

                    OctoPrintClient.browser

                    +

                    OctoPrintClient.browser

                    -OctoPrintClient.browser.login(username, password, remember, opts)
                    +OctoPrintClient.browser.login(username, password, remember, opts)

                    Logs the browser into OctoPrint, using the provided username and password as credentials. If remember is set to true, the session will also persist across browser restarts.

                    @@ -165,7 +165,7 @@
                    -
                    Arguments
                    +
                    Arguments:
                    • username (string()) – Username to log in with

                    • password (string()) – Password to log in with

                    • @@ -173,7 +173,7 @@
                    • opts (object()) – Additional request options

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -181,7 +181,7 @@
                    -OctoPrintClient.browser.passiveLogin(opts)
                    +OctoPrintClient.browser.passiveLogin(opts)

                    Tries to perform a passive login into OctoPrint, using existing session data stored in the browser’s cookies.

                    OctoPrint.browser.passiveLogin()
                    @@ -202,12 +202,12 @@
                     
                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional request options

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -215,15 +215,15 @@
                    -OctoPrintClient.browser.logout(opts)
                    +OctoPrintClient.browser.logout(opts)

                    Logs the browser out of OctoPrint.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional request options

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    diff --git a/maintenance/jsclientlib/connection.html b/maintenance/jsclientlib/connection.html index b7bafd1cd..d2d003f62 100644 --- a/maintenance/jsclientlib/connection.html +++ b/maintenance/jsclientlib/connection.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.connection — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -151,19 +151,19 @@
                    -

                    OctoPrintClient.connection

                    +

                    OctoPrintClient.connection

                    -OctoPrintClient.connection.getSettings(opts)
                    +OctoPrintClient.connection.getSettings(opts)

                    Retrieves the available connection options for connection to a printer.

                    See Get connection settings for the response format.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -171,7 +171,7 @@
                    -OctoPrintClient.connection.connect(data, opts)
                    +OctoPrintClient.connection.connect(data, opts)

                    Connects to the printer, optionally using the provided connection data as parameters.

                    If data is provided it’s expected to be an object specifying one or more of

                    @@ -185,13 +185,13 @@

                See Issue a connection command for more details.

                -
                Arguments
                +
                Arguments:
                • data (object()) – Connection data to use

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -199,16 +199,16 @@
                -OctoPrintClient.connection.disconnect(opts)
                +OctoPrintClient.connection.disconnect(opts)

                Disconnects from the printer.

                See Issue a connection command for more details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -216,16 +216,16 @@
                -OctoPrintClient.connection.fakeAck(opts)
                +OctoPrintClient.connection.fakeAck(opts)

                Triggers a fake acknowledgement (ok) on the printer.

                See Issue a connection command for more details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/control.html b/maintenance/jsclientlib/control.html index d54b87caf..f902b8b9c 100644 --- a/maintenance/jsclientlib/control.html +++ b/maintenance/jsclientlib/control.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.control — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -152,18 +152,18 @@
                -

                OctoPrintClient.control

                +

                OctoPrintClient.control

                -OctoPrintClient.control.getCustomControls(opts)
                +OctoPrintClient.control.getCustomControls(opts)

                Retrieves the defined custom controls from the server.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -171,18 +171,18 @@
                -OctoPrintClient.control.sendGcode(commands, opts)
                +OctoPrintClient.control.sendGcode(commands, opts)

                Sends the provided commands to the printer.

                Corresponds to the Send an arbitrary command to the printer API, see there for details.

                -
                Arguments
                +
                Arguments:
                • commands (list or string()) – One or more commands to send to the printer.

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -190,20 +190,20 @@
                -OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)
                +OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)

                Sends the provided commands to the printer, replacing contained placeholders with the provided parameters first.

                Corresponds to the Send an arbitrary command to the printer API, see there for details.

                -
                Arguments
                +
                Arguments:
                • commands (list or string()) – One or more commands to send to the printer

                • parameters (object()) – Parameters (key-value-pairs) to replace placeholders in commands with

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -211,18 +211,18 @@
                -OctoPrintClient.control.sendGcodeScript(script, context, opts)
                +OctoPrintClient.control.sendGcodeScript(script, context, opts)

                Sends the provided script to the printer, enhancing the template with the specified context.

                -
                Arguments
                +
                Arguments:
                • script (string()) – Name of the script to send to the printer

                • context (object()) – Template context

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -230,11 +230,11 @@
                -OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)
                +OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)

                Sends the provided script to the printer, enhancing the template with the specified context and parameters.

                -
                Arguments
                +
                Arguments:
                • script (string()) – Name of the script to send to the printer

                • context (object()) – Template context

                • @@ -242,7 +242,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/files.html b/maintenance/jsclientlib/files.html index 5a5d96403..d35cc549b 100644 --- a/maintenance/jsclientlib/files.html +++ b/maintenance/jsclientlib/files.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.files — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -160,21 +160,21 @@
                -

                OctoPrintClient.files

                +

                OctoPrintClient.files

                -OctoPrintClient.files.get(location, filename, opts)
                +OctoPrintClient.files.get(location, filename, opts)

                Retrieves information about the file filename at location.

                See Retrieve a specific file’s information for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file

                • filename (string()) – The name of the file

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -182,7 +182,7 @@
                -OctoPrintClient.files.list(recursively, opts)
                +OctoPrintClient.files.list(recursively, opts)

                Retrieves a list of all files from the server.

                The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -214,13 +214,13 @@

                See Retrieve all files for more details.

                -
                Arguments
                +
                Arguments:
                • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -228,7 +228,7 @@
                -OctoPrintClient.files.listForLocation(location, recursively, opts)
                +OctoPrintClient.files.listForLocation(location, recursively, opts)

                Retrieves a list of all files stored at the specified location from the server.

                The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -236,14 +236,14 @@

                For folders, all children will have their parent property set to the folder entry.

                See Retrieve files from specific location for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location for which to retrieve the list

                • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -251,12 +251,12 @@
                -OctoPrintClient.files.select(location, path, print, opts)
                +OctoPrintClient.files.select(location, path, print, opts)

                Selects a file at location named filename for printing. If print is supplied and truthy, also starts printing the file immediately.

                See the select command in Issue a file command for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file to select

                • path (string()) – The name of the file to select

                • @@ -264,7 +264,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -272,11 +272,11 @@
                -OctoPrintClient.files.slice(location, path, parameters, opts)
                +OctoPrintClient.files.slice(location, path, parameters, opts)

                Slices a file at location called filename, using the supplied slice command parameters.

                See the slice command in Issue a file command for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file to slice

                • path (string()) – The path of the file to slice

                • @@ -284,7 +284,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -292,18 +292,18 @@
                -OctoPrintClient.files.delete(location, path, opts)
                +OctoPrintClient.files.delete(location, path, opts)

                Deletes the file or folder at location and path.

                See Delete file for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file to delete

                • path (string()) – The path of the file to delete

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -311,7 +311,7 @@
                -OctoPrintClient.files.copy(location, path, destination, opts)
                +OctoPrintClient.files.copy(location, path, destination, opts)

                Copies file or folder path on location to new parent folder destination on location.

                destination must already exist.

                Example:

                @@ -320,7 +320,7 @@

                See Issue a file command for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file to copy, currently only “local” is supported

                • path (string()) – The path of the file or folder to copy

                • @@ -328,7 +328,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -336,7 +336,7 @@
                -OctoPrintClient.files.move(location, filename, destination, opts)
                +OctoPrintClient.files.move(location, filename, destination, opts)

                Moves file or folder path on location to new parent folder destination on location.

                destination must already exist.

                Example:

                @@ -345,7 +345,7 @@

                See Issue a file command for more details.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file to move, currently only “local” is supported

                • path (string()) – The path of the file or folder to move

                • @@ -353,7 +353,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -361,7 +361,7 @@
                -OctoPrintClient.files.createFolder(location, name, path, opts)
                +OctoPrintClient.files.createFolder(location, name, path, opts)

                Creates a new folder name on location. If path is provided and not empty the folder will be created as a new child of it.

                Example:

                @@ -374,7 +374,7 @@

                See Upload file or create folder for more details on the folder creation API.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location to create the folder on (currently only “local” is supported)

                • name (string()) – The name of the new folder

                • @@ -383,7 +383,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -391,7 +391,7 @@
                -OctoPrintClient.files.upload(location, file, data)
                +OctoPrintClient.files.upload(location, file, data)

                Uploads a file to the specified location.

                Additional command data may be provided. Supported properties are:

                @@ -412,13 +412,13 @@ OctoPrint.upload() for more details on the underlying library upload mechanism, including what values are accepted for the file parameter.

                -
                Arguments
                +
                Arguments:
                • location (string()) – The location to upload the file to

                • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -426,7 +426,7 @@
                -OctoPrintClient.files.download(location, path, opts)
                +OctoPrintClient.files.download(location, path, opts)

                Downloads the file at path in location.

                The downloaded file will be returned as response body in the completed Promise. Note that not all locations support downloading of files (sdcard for example doesn’t).

                @@ -439,14 +439,14 @@
                -
                Arguments
                +
                Arguments:
                • location (string()) – The location of the file to download

                • path (string()) – The path of the file to download

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -454,7 +454,7 @@
                -OctoPrintClient.files.pathForEntry(entry)
                +OctoPrintClient.files.pathForEntry(entry)

                Utility function to retrieve the path within its location for a given entry.

                Use this if you already have a full list of entries and need the path to one.

                Example

                @@ -467,12 +467,12 @@
                -
                Arguments
                +
                Arguments:
                • entry (object()) – The entry object for which to retrieve the path

                -
                Returns string
                +
                Returns string:

                The path of the entry within its location

                @@ -480,7 +480,7 @@
                -OctoPrintClient.files.entryForPath(path, root)
                +OctoPrintClient.files.entryForPath(path, root)

                Utility function to retrieve an entry by its path based on an entry tree provided by its root.

                Use this if you already have a full list of entries and are looking for a specified entry @@ -500,14 +500,14 @@

                -
                Arguments
                +
                Arguments:
                • path (string()) – The path of the entry to retrieve

                • root (object()) – The root of the tree in which to resolve the entry by its path, either a list of entries or an entry element with children

                -
                Returns object or undefined
                +
                Returns object or undefined:

                The retrieved entry, or undefined if the path could not be resolved

                diff --git a/maintenance/jsclientlib/index.html b/maintenance/jsclientlib/index.html index 26a14b61f..d4753055a 100644 --- a/maintenance/jsclientlib/index.html +++ b/maintenance/jsclientlib/index.html @@ -1,26 +1,26 @@ - + - + JavaScript Client Library — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -143,7 +143,7 @@
                -

                JavaScript Client Library

                +

                JavaScript Client Library

                The JS Client Library provides an interface to all of OctoPrint’s API, including the SockJS based socket to send push messages from the server to connected clients. It is available as packed web asset file at /static/webassets/packed_client.js or as individual diff --git a/maintenance/jsclientlib/job.html b/maintenance/jsclientlib/job.html index 3e33fb4e9..b6aad2e11 100644 --- a/maintenance/jsclientlib/job.html +++ b/maintenance/jsclientlib/job.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.job — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -154,19 +154,19 @@

                -

                OctoPrintClient.job

                +

                OctoPrintClient.job

                -OctoPrintClient.job.get(opts)
                +OctoPrintClient.job.get(opts)

                Retrieves information about the current job.

                See Retrieve information about the current job for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -174,16 +174,16 @@
                -OctoPrintClient.job.start(opts)
                +OctoPrintClient.job.start(opts)

                Starts the current job.

                See Issue a job command for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -191,16 +191,16 @@
                -OctoPrintClient.job.cancel(opts)
                +OctoPrintClient.job.cancel(opts)

                Cancels the current job.

                See Issue a job command for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -208,7 +208,7 @@
                -OctoPrintClient.job.restart(opts)
                +OctoPrintClient.job.restart(opts)

                Restarts the current job. This is equivalent to cancelling and immediately restarting the job.

                Example:

                @@ -224,12 +224,12 @@

                See Issue a job command for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -237,16 +237,16 @@
                -OctoPrintClient.job.pause(opts)
                +OctoPrintClient.job.pause(opts)

                Pauses the current job if it’s running, does nothing if it’s already paused.

                See Issue a job command for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -254,16 +254,16 @@
                -OctoPrintClient.job.resume(opts)
                +OctoPrintClient.job.resume(opts)

                Resumes the current job if it’s currently paused, does nothing if it’s running.

                See Issue a job command for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -271,16 +271,16 @@
                -OctoPrintClient.job.togglePause(opts)
                +OctoPrintClient.job.togglePause(opts)

                Resumes a paused and pauses a running job.

                See Issue a job command for details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/languages.html b/maintenance/jsclientlib/languages.html index 1c3fcbe18..24c85e8ec 100644 --- a/maintenance/jsclientlib/languages.html +++ b/maintenance/jsclientlib/languages.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.languages — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -150,7 +150,7 @@
                -

                OctoPrintClient.languages

                +

                OctoPrintClient.languages

                Note

                All methods here require that the used API token or the existing browser session @@ -158,15 +158,15 @@

                -OctoPrintClient.languages.list(opts)
                +OctoPrintClient.languages.list(opts)

                Retrieves a list of available language packs.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -174,15 +174,15 @@
                -OctoPrintClient.languages.upload(file)
                +OctoPrintClient.languages.upload(file)

                Uploads a language pack.

                -
                Arguments
                +
                Arguments:
                • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -190,17 +190,17 @@
                -OctoPrintClient.languages.delete(locale, pack, opts)
                +OctoPrintClient.languages.delete(locale, pack, opts)

                Deletes the language pack pack for the specified locale locale.

                -
                Arguments
                +
                Arguments:
                • locale (string()) – The locale for which to delete the language pack

                • pack (string()) – The identifier of the pack to delete

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/logs.html b/maintenance/jsclientlib/logs.html index 496e1d5bf..f3c4231c9 100644 --- a/maintenance/jsclientlib/logs.html +++ b/maintenance/jsclientlib/logs.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.logs — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -145,7 +145,7 @@
                -

                OctoPrintClient.logs

                +

                OctoPrintClient.logs

                Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins JS Client Library for the JS Client documentation.

                The former module OctoPrintClient.logs and its methods are marked as deprecated but still work for now. New diff --git a/maintenance/jsclientlib/printer.html b/maintenance/jsclientlib/printer.html index 368ba7804..36f201d5e 100644 --- a/maintenance/jsclientlib/printer.html +++ b/maintenance/jsclientlib/printer.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printer — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -167,7 +167,7 @@

                -

                OctoPrintClient.printer

                +

                OctoPrintClient.printer

                Note

                All commands here that interact with the printer (anything that sends a command) will @@ -178,7 +178,7 @@

                -OctoPrintClient.printer.getFullState(flags, opts)
                +OctoPrintClient.printer.getFullState(flags, opts)

                Retrieves the full printer state, including temperature information, sd state and general printer state.

                The flags object can be used to specify the data to retrieve further via the following @@ -193,13 +193,13 @@

                See Retrieve the current printer state for more details.

                -
                Arguments
                +
                Arguments:
                • flags (object()) – Flags that further specify which data to retrieve, see above for details

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -207,7 +207,7 @@
                -OctoPrintClient.printer.getToolState(flags, opts)
                +OctoPrintClient.printer.getToolState(flags, opts)

                Retrieves the current printer extruder state/temperature information, and optionally also the temperature history.

                The flags object can be used to specify the data to retrieve further via the following @@ -221,13 +221,13 @@

                See Retrieve the current tool state for more details.

                -
                Arguments
                +
                Arguments:
                • flags (object()) – Flags that further specify which data to retrieve, see above for details

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -235,7 +235,7 @@
                -OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)
                +OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)

                Sets the given temperatures on the printer’s extruders.

                targets is expected to be an object mapping tool identifier to target temperature to set.

                Example:

                @@ -245,13 +245,13 @@

                See the target command in Issue a tool command for more details.

                -
                Arguments
                +
                Arguments:
                • targets (object()) – The targets to set

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -259,7 +259,7 @@
                -OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)
                +OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)

                Sets the given temperature offsets for the printer’s extruders.

                offsets is expected to be an object mapping tool identifier to offset to set.

                Example:

                @@ -270,13 +270,13 @@

                See the offset command in Issue a tool command for more details.

                -
                Arguments
                +
                Arguments:
                • offsets (object()) – The offsets to set

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -284,7 +284,7 @@
                -OctoPrintClient.printer.selectTool(tool, opts)
                +OctoPrintClient.printer.selectTool(tool, opts)

                Selects the printer’s current extruder.

                tool is the identifier of the extruder to select.

                Example:

                @@ -300,13 +300,13 @@

                See the select command in Issue a tool command for more details.

                -
                Arguments
                +
                Arguments:
                • tool (string()) – The tool identifier of the extruder to select

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -314,7 +314,7 @@
                -OctoPrintClient.printer.extrude(amount, opts)
                +OctoPrintClient.printer.extrude(amount, opts)

                Extrudes or retracts amount mm of filament on the currently selected extruder.

                Example:

                Extrude 5mm of filament on the current extruder, then retract 2mm.

                @@ -326,13 +326,13 @@

                See the extrude command in Issue a tool command for more details.

                -
                Arguments
                +
                Arguments:
                • amount (float()) – The amount of filament to extrude/retract.

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -340,18 +340,18 @@
                -OctoPrintClient.printer.setFlowrate(factor, opts)
                +OctoPrintClient.printer.setFlowrate(factor, opts)

                Sets the current flowrate multiplier.

                factor is expected to be a integer value >0 representing the new flowrate percentage.

                See the flowrate command in Issue a tool command for more details.

                -
                Arguments
                +
                Arguments:
                • factor (integer()) – The flowrate as percentage

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -359,7 +359,7 @@
                -OctoPrintClient.printer.getBedState(data, opts)
                +OctoPrintClient.printer.getBedState(data, opts)

                Retrieves the current printer bed state/temperature information, and optionally also the temperature history.

                The flags object can be used to specify the data to retrieve further via the following @@ -373,13 +373,13 @@

                See Retrieve the current bed state for more details.

                -
                Arguments
                +
                Arguments:
                • flags (object()) – Flags that further specify which data to retrieve, see above for details

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -387,7 +387,7 @@
                -OctoPrintClient.printer.setBedTargetTemperature(target, opts)
                +OctoPrintClient.printer.setBedTargetTemperature(target, opts)

                Sets the given temperature on the printer’s heated bed (if available).

                target is expected to be the target temperature as a float value.

                Example:

                @@ -397,13 +397,13 @@

                See the target command in Issue a bed command for more details.

                -
                Arguments
                +
                Arguments:
                • target (float()) – The target to set

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -411,7 +411,7 @@
                -OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)
                +OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)

                Sets the given temperature offset for the printer’s heated bed (if available).

                offset is expected to be the temperature offset to set.

                Example:

                @@ -421,13 +421,13 @@

                See the offset command in Issue a bed command for more details.

                -
                Arguments
                +
                Arguments:
                • offsets (object()) – The offsets to set

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -435,7 +435,7 @@
                -OctoPrintClient.printer.getChamberState(data, opts)
                +OctoPrintClient.printer.getChamberState(data, opts)

                Retrieves the current printer chamber state/temperature information, and optionally also the temperature history.

                The flags object can be used to specify the data to retrieve further via the following @@ -449,13 +449,13 @@

                See Retrieve the current bed state for more details.

                -
                Arguments
                +
                Arguments:
                • flags (object()) – Flags that further specify which data to retrieve, see above for details

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -463,7 +463,7 @@
                -OctoPrintClient.printer.setChamberTargetTemperature(target, opts)
                +OctoPrintClient.printer.setChamberTargetTemperature(target, opts)

                Sets the given temperature on the printer’s heated chamber (if available).

                target is expected to be the target temperature as a float value.

                Example:

                @@ -473,13 +473,13 @@

                See the target command in Issue a chamber command for more details.

                -
                Arguments
                +
                Arguments:
                • target (float()) – The target to set

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -487,7 +487,7 @@
                -OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)
                +OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)

                Sets the given temperature offset for the printer’s heated chamber (if available).

                offset is expected to be the temperature offset to set.

                Example:

                @@ -497,13 +497,13 @@

                See the offset command in Issue a chamber command for more details.

                -
                Arguments
                +
                Arguments:
                • offsets (object()) – The offsets to set

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -511,7 +511,7 @@
                -OctoPrintClient.printer.jog(amounts, opts)
                +OctoPrintClient.printer.jog(amounts, opts)

                Jogs the specified axes by the specified amounts.

                amounts is expected to be an object with properties reflecting the axes to be jogged by the specified amount given as value.

                @@ -526,13 +526,13 @@

                See the jog command in Issue a print head command for more details.

                -
                Arguments
                +
                Arguments:
                • amounts (object()) – Key-value-pairs of axes to jog and amount to jog it.

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -540,7 +540,7 @@
                -OctoPrintClient.printer.home(axes, opts)
                +OctoPrintClient.printer.home(axes, opts)

                Homes the specified axes.

                axes is expected to be an array of strings specifying the axes to home.

                Example:

                @@ -554,13 +554,13 @@

                See the home command in Issue a print head command for more details.

                -
                Arguments
                +
                Arguments:
                • axes (array()) – List of axes to home

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -568,18 +568,18 @@
                -OctoPrintClient.printer.setFeedrate(factor, opts)
                +OctoPrintClient.printer.setFeedrate(factor, opts)

                Sets the feedrate multiplier to use.

                factor is expected to be a integer value >0 representing the new feedrate percentage.

                See the feedrate command in Issue a print head command for more details.

                -
                Arguments
                +
                Arguments:
                • factor (integer()) – The feedrate multiplier as percentage

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -587,16 +587,16 @@
                -OctoPrintClient.printer.getSdState(opts)
                +OctoPrintClient.printer.getSdState(opts)

                Retrieves the current ready state of the printer’s SD card.

                See Retrieve the current SD state for more details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -604,16 +604,16 @@
                -OctoPrintClient.printer.initSd(opts)
                +OctoPrintClient.printer.initSd(opts)

                Instructs the printer to initialize its SD card (if present).

                See the init command in Issue an SD command for more details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -621,16 +621,16 @@
                -OctoPrintClient.printer.refreshSd(opts)
                +OctoPrintClient.printer.refreshSd(opts)

                Instructs the printer to refresh the list of files on the SD card (if present).

                See the refresh command in Issue an SD command for more details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -638,16 +638,16 @@
                -OctoPrintClient.printer.releaseSd(opts)
                +OctoPrintClient.printer.releaseSd(opts)

                Instructs the printer to release its SD card (if present).

                See the release command in Issue an SD command for more details.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/printerprofiles.html b/maintenance/jsclientlib/printerprofiles.html index 7aef4d519..7f602162c 100644 --- a/maintenance/jsclientlib/printerprofiles.html +++ b/maintenance/jsclientlib/printerprofiles.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printerprofiles — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -152,18 +152,18 @@
                -

                OctoPrintClient.printerprofiles

                +

                OctoPrintClient.printerprofiles

                -OctoPrintClient.printerprofiles.list(opts)
                +OctoPrintClient.printerprofiles.list(opts)

                Retrieves a list of all configured printer profiles.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -171,15 +171,15 @@
                -OctoPrintClient.printerprofiles.get(id, opts)
                +OctoPrintClient.printerprofiles.get(id, opts)
                -
                Arguments
                +
                Arguments:
                • id (string()) – The identifier of the profile to retrieve

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -187,17 +187,17 @@
                -OctoPrintClient.printerprofiles.add(profile, additional, opts)
                +OctoPrintClient.printerprofiles.add(profile, additional, opts)

                Adds a new profile to OctoPrint.

                -
                Arguments
                +
                Arguments:
                • profile (string()) – The data of the profile to add

                • basedOn (string()) – The identifier of the profile to base this profile on (optional)

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -205,17 +205,17 @@
                -OctoPrintClient.printerprofiles.update(id, profile, opts)
                +OctoPrintClient.printerprofiles.update(id, profile, opts)

                Updates an existing profile in OctoPrint.

                -
                Arguments
                +
                Arguments:
                • id (string()) – The identifier of the profile to update

                • profile (string()) – The data of the profile to update

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -223,16 +223,16 @@
                -OctoPrintClient.printerprofiles.delete(id, opts)
                +OctoPrintClient.printerprofiles.delete(id, opts)

                Deletes a profile in OctoPrint.

                -
                Arguments
                +
                Arguments:
                • id (string()) – The identifier of the profile to delete

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/settings.html b/maintenance/jsclientlib/settings.html index aa1d7a6ca..7b12209dc 100644 --- a/maintenance/jsclientlib/settings.html +++ b/maintenance/jsclientlib/settings.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.settings — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -152,18 +152,18 @@
                -

                OctoPrintClient.settings

                +

                OctoPrintClient.settings

                -OctoPrintClient.settings.get(opts)
                +OctoPrintClient.settings.get(opts)

                Retrieves the current settings.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -171,16 +171,16 @@
                -OctoPrintClient.settings.save(settings, opts)
                +OctoPrintClient.settings.save(settings, opts)

                Saves the provided settings.

                -
                Arguments
                +
                Arguments:
                • settings (object()) – The settings to save

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -188,16 +188,16 @@
                -OctoPrintClient.settings.getPluginSettings(plugin, opts)
                +OctoPrintClient.settings.getPluginSettings(plugin, opts)

                Retrieves the settings of the specified plugin.

                -
                Arguments
                +
                Arguments:
                • plugin (string()) – The plugin for which to retrieve the settings

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -205,17 +205,17 @@
                -OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)
                +OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)

                Saves the settings for the specified plugin.

                -
                Arguments
                +
                Arguments:
                • plugin (string()) – The plugin for which to save settings

                • settings (object()) – The settings to save

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -223,15 +223,15 @@
                -OctoPrintClient.settings.generateApiKey(opts)
                +OctoPrintClient.settings.generateApiKey(opts)

                Generate a new system wide API key.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/slicing.html b/maintenance/jsclientlib/slicing.html index 58cb9eae9..e0b927480 100644 --- a/maintenance/jsclientlib/slicing.html +++ b/maintenance/jsclientlib/slicing.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.slicing — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -153,18 +153,18 @@
                -

                OctoPrintClient.slicing

                +

                OctoPrintClient.slicing

                -OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)
                +OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)

                Retrieves a list of all slicers and their available slicing profiles.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -172,16 +172,16 @@
                -OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)
                +OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)

                Retrieves of all slicing profiles for the specified slicer.

                -
                Arguments
                +
                Arguments:
                • slicer (string()) – The identifier of the slicer for which to retrieve the profiles

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -189,17 +189,17 @@
                -OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)
                +OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)

                Retrieves the slicing profile with profileId for the specified slicer.

                -
                Arguments
                +
                Arguments:
                • slicer (string()) – The slicer for which to retrieve the profile

                • profileId (string()) – The identifier of the profile to retrieve

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -207,10 +207,10 @@
                -OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)
                +OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)

                Adds the profile with identifier profileId to the specified slicer, using the provided profile data.

                -
                Arguments
                +
                Arguments:
                • slicer (string()) – The slicer for which to add the profile

                • profileId (string()) – The identifier for the profile to add

                • @@ -218,7 +218,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -226,10 +226,10 @@
                -OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)
                +OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)

                Updates the profile profileId for slicer with the provided profile data.

                -
                Arguments
                +
                Arguments:
                • slicer (string()) – The slicer for which to update the profile

                • profileId (string()) – The identifier for the profile to update

                • @@ -237,7 +237,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -245,15 +245,15 @@
                -OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)
                +OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)

                Deletes the profile profileId for slicer.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/socket.html b/maintenance/jsclientlib/socket.html index 397088dda..af5b43bac 100644 --- a/maintenance/jsclientlib/socket.html +++ b/maintenance/jsclientlib/socket.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.socket — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -161,10 +161,10 @@
                -

                OctoPrintClient.socket

                +

                OctoPrintClient.socket

                -OctoPrintClient.socket.options
                +OctoPrintClient.socket.options

                The socket client’s options.

                OctoPrintClient.socket.options.timeouts

                A list of consecutive timeouts after which to attempt reconnecting to a @@ -181,12 +181,12 @@

                -OctoPrintClient.socket.connect(opts)
                +OctoPrintClient.socket.connect(opts)

                Connects the socket client to OctoPrint’s SockJS socket.

                The optional parameter opts may be used to provide additional configuration options to the SockJS constructor. See the SockJS documentation on potential options.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the SockJS constructor.

                @@ -196,19 +196,19 @@
                -OctoPrintClient.socket.reconnect()
                +OctoPrintClient.socket.reconnect()

                Reconnects the socket client. If the socket is currently connected it will be disconnected first.

                -OctoPrintClient.socket.disconnect()
                +OctoPrintClient.socket.disconnect()

                Disconnects the socket client.

                -OctoPrintClient.socket.onMessage(message, handler)
                +OctoPrintClient.socket.onMessage(message, handler)

                Registers the handler for messages of type message.

                To register for all message types, provide * as the type to register for.

                handler is expected to be a function accepting one object parameter eventObj, consisting @@ -224,7 +224,7 @@

                Please refer to the Push API documentation for details on the possible message types and their payloads.

                -
                Arguments
                +
                Arguments:
                • message (string()) – The type of message for which to register

                • handler (function()) – The handler function

                • @@ -235,7 +235,7 @@
                  -OctoPrintClient.socket.removeMessage(message, handler)
                  +OctoPrintClient.socket.removeMessage(message, handler)

                  Removes the handler for messages of type message.

                  const handler = (message) => {
                       // do something with the message object
                  @@ -247,7 +247,7 @@
                   
                  -
                  Arguments
                  +
                  Arguments:
                  • message (string()) – The type of message for which to remove the handler

                  • handler (function()) – The handler function

                  • @@ -258,12 +258,12 @@
                    -OctoPrintClient.socket.sendMessage(type, payload)
                    +OctoPrintClient.socket.sendMessage(type, payload)

                    Sends a message of type type with the provided payload to the server.

                    Note that at the time of writing, OctoPrint only supports the throttle and auth messages. See also the Push API documentation.

                    -
                    Arguments
                    +
                    Arguments:
                    • type (string()) – Type of message to send

                    • payload (object()) – Payload to send

                    • @@ -274,13 +274,13 @@
                      -OctoPrintClient.socket.sendAuth(userId, session)
                      +OctoPrintClient.socket.sendAuth(userId, session)

                      Sends an auth message with the provided userId and session to the server.

                      session is expected to be the session value retrieved from any valid OctoPrint.browser.login(userId,…) response.

                      See also the Push API documentation.

                      -
                      Arguments
                      +
                      Arguments:
                      • userId (string()) – An existing OctoPrint username

                      • session (string()) – A valid session id for the provided username

                      • @@ -291,14 +291,14 @@
                        -OctoPrintClient.socket.onRateTooLow(measured, minimum)
                        +OctoPrintClient.socket.onRateTooLow(measured, minimum)

                        Called by the socket client when the measured message round trip times have been lower than the current lower processing limit over the full sliding window, indicating that messages are now processed faster than the current rate and a faster rate might be possible.

                        Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.increaseRate().

                        -
                        Arguments
                        +
                        Arguments:
                        • measured (Number()) – Maximal measured message round trip time

                        • minimum (Number()) – Lower round trip time limit for keeping the rate

                        • @@ -309,14 +309,14 @@
                          -OctoPrintClient.socket.onRateTooHigh(measured, maximum)
                          +OctoPrintClient.socket.onRateTooHigh(measured, maximum)

                          Called by the socket client when the last measured round trip time was higher than the current upper processing limit, indicating that the messages are now processed slower than the current rate requires and a slower rate might be necessary.

                          Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.decreaseRate().

                          -
                          Arguments
                          +
                          Arguments:
                          • measured (Number()) – Measured message round trip time

                          • minimum (Number()) – Upper round trip time limit for keeping the rate

                          • @@ -327,18 +327,18 @@
                            -OctoPrintClient.socket.increaseRate()
                            +OctoPrintClient.socket.increaseRate()

                            Instructs the server to increase the message rate by 500ms.

                            -OctoPrintClient.socket.decreaseRate()
                            +OctoPrintClient.socket.decreaseRate()

                            Instructs the server to decrease the message rate by 500ms.

                            -

                            Sample to setup an authed socket

                            +

                            Sample to setup an authed socket

                            If you have a username and a password:

                            OctoPrint.socket.connect();
                             OctoPrint.browser.login("myusername", "mypassword", true)
                            @@ -361,7 +361,7 @@
                             
                            -

                            Communication Throttling

                            +

                            Communication Throttling

                            The socket client supports communication throttling. It will measure how long each incoming message takes to be processed by all registered handlers. If the processing times in a sliding window are longer than the current rate limit configured on the socket (default: 500ms between messages), the socket client will diff --git a/maintenance/jsclientlib/system.html b/maintenance/jsclientlib/system.html index 7766864ab..4a978023f 100644 --- a/maintenance/jsclientlib/system.html +++ b/maintenance/jsclientlib/system.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.system — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -150,7 +150,7 @@

                            -

                            OctoPrintClient.system

                            +

                            OctoPrintClient.system

                            Note

                            All methods here require that the used API token or the existing browser session @@ -158,15 +158,15 @@

                            -OctoPrintClient.system.getCommands(opts)
                            +OctoPrintClient.system.getCommands(opts)

                            Retrieves a list of configured system commands for both core and custom sources.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -174,16 +174,16 @@

                            -OctoPrintClient.system.getCommandsForSource(source, opts)
                            +OctoPrintClient.system.getCommandsForSource(source, opts)

                            Retrieves a list of system commands, limiting it to the specified source, which might be either core or custom.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -191,17 +191,17 @@

                            -OctoPrintClient.system.executeCommand(source, action, opts)
                            +OctoPrintClient.system.executeCommand(source, action, opts)

                            Executes command action on source.

                            -
                            Arguments
                            +
                            Arguments:
                            • source (string()) – The source of the command to execute

                            • action (string()) – The action identifier of the command to execute

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            diff --git a/maintenance/jsclientlib/timelapse.html b/maintenance/jsclientlib/timelapse.html index 8a6ecf966..ab052d1b6 100644 --- a/maintenance/jsclientlib/timelapse.html +++ b/maintenance/jsclientlib/timelapse.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.timelapse — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -157,20 +157,20 @@
                            -

                            OctoPrintClient.timelapse

                            +

                            OctoPrintClient.timelapse

                            -OctoPrintClient.timelapse.get(unrendered, opts)
                            +OctoPrintClient.timelapse.get(unrendered, opts)

                            Get a list of all timelapses and the current timelapse config.

                            If unrendered is true, also retrieve the list of unrendered timelapses.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -178,18 +178,18 @@
                            -OctoPrintClient.timelapse.list(opts)
                            +OctoPrintClient.timelapse.list(opts)

                            Get the lists of rendered and unrendered timelapses. The returned promise will be resolved with an object containing the properties rendered which will have the list of rendered timelapses, and unrendered which will have the list of unrendered timelapses.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -197,15 +197,15 @@
                            -OctoPrintClient.timelapse.listRendered(opts)
                            +OctoPrintClient.timelapse.listRendered(opts)

                            Get the list of rendered timelapses.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -213,15 +213,15 @@
                            -OctoPrintClient.timelapse.listUnrendered(opts)
                            +OctoPrintClient.timelapse.listUnrendered(opts)

                            Get the list of unrendered timelapses.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -229,16 +229,16 @@
                            -OctoPrintClient.timelapse.download(filename, opts)
                            +OctoPrintClient.timelapse.download(filename, opts)

                            Download the rendered timelapse filename.

                            -
                            Arguments
                            +
                            Arguments:
                            • filename (string()) – The name of the rendered timelapse to download

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -246,16 +246,16 @@
                            -OctoPrintClient.timelapse.delete(filename, opts)
                            +OctoPrintClient.timelapse.delete(filename, opts)

                            Delete the rendered timelapse filename.

                            -
                            Arguments
                            +
                            Arguments:
                            • filename (string()) – The name of the rendered timelapse to delete

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -263,16 +263,16 @@
                            -OctoPrintClient.timelapse.deleteUnrendered(name, opts)
                            +OctoPrintClient.timelapse.deleteUnrendered(name, opts)

                            Delete the unrendered timelapse name.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The name of the unrendered timelapse to delete

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -280,16 +280,16 @@
                            -OctoPrintClient.timelapse.renderUnrendered(name, opts)
                            +OctoPrintClient.timelapse.renderUnrendered(name, opts)

                            Render the unrendered timelapse name.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The name of the unrendered timelapse to render

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -297,15 +297,15 @@
                            -OctoPrintClient.timelapse.getConfig(opts)
                            +OctoPrintClient.timelapse.getConfig(opts)

                            Get the current timelapse configuration.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -313,16 +313,16 @@
                            -OctoPrintClient.timelapse.saveConfig(config, opts)
                            +OctoPrintClient.timelapse.saveConfig(config, opts)

                            Save the timelapse configuration.

                            -
                            Arguments
                            +
                            Arguments:
                            • config (object()) – The config to save

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            diff --git a/maintenance/jsclientlib/users.html b/maintenance/jsclientlib/users.html index 3d19f9d62..24f68d03b 100644 --- a/maintenance/jsclientlib/users.html +++ b/maintenance/jsclientlib/users.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.users — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -157,7 +157,7 @@
                            -

                            OctoPrintClient.users

                            +

                            OctoPrintClient.users

                            Note

                            Most methods here require that the used API token or the existing browser session @@ -166,16 +166,16 @@

                            -OctoPrintClient.users.list(opts)
                            +OctoPrintClient.users.list(opts)

                            Get a list of all registered users.

                            Requires admin rights.

                            -
                            Arguments
                            +
                            Arguments:
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -183,16 +183,16 @@
                            -OctoPrintClient.users.get(name, opts)
                            +OctoPrintClient.users.get(name, opts)

                            Get information about a specific user.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -200,17 +200,17 @@
                            -OctoPrintClient.users.add(user, opts)
                            +OctoPrintClient.users.add(user, opts)

                            Add a new user.

                            Requires admin rights.

                            -
                            Arguments
                            +
                            Arguments:
                            • user (object()) – The new user

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -218,11 +218,11 @@
                            -OctoPrintClient.users.update(name, active, admin, opts)
                            +OctoPrintClient.users.update(name, active, admin, opts)

                            Update an existing user.

                            Requires admin rights.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • active (bool()) – The new active state of the user

                            • @@ -230,7 +230,7 @@
                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -238,17 +238,17 @@
                            -OctoPrintClient.users.delete(name, opts)
                            +OctoPrintClient.users.delete(name, opts)

                            Delete an existing user.

                            Requires admin rights.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -256,17 +256,17 @@
                            -OctoPrintClient.users.changePassword(name, password, opts)
                            +OctoPrintClient.users.changePassword(name, password, opts)

                            Change the password for a user.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • password (string()) – The new password

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -274,16 +274,16 @@
                            -OctoPrintClient.users.generateApiKey(name, opts)
                            +OctoPrintClient.users.generateApiKey(name, opts)

                            Generate a new API key for a user.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -291,16 +291,16 @@
                            -OctoPrintClient.users.resetApiKey(name, opts)
                            +OctoPrintClient.users.resetApiKey(name, opts)

                            Reset the API key for a user to being unset.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -308,16 +308,16 @@
                            -OctoPrintClient.users.getSettings(name, opts)
                            +OctoPrintClient.users.getSettings(name, opts)

                            Get the settings for a user.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -325,17 +325,17 @@
                            -OctoPrintClient.users.saveSettings(name, settings, opts)
                            +OctoPrintClient.users.saveSettings(name, settings, opts)

                            Save the settings for a user.

                            -
                            Arguments
                            +
                            Arguments:
                            • name (string()) – The user’s name

                            • settings (object()) – The new settings, may be a partial set of settings which will be merged unto the current ones

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            diff --git a/maintenance/jsclientlib/util.html b/maintenance/jsclientlib/util.html index e397fe162..81c346a59 100644 --- a/maintenance/jsclientlib/util.html +++ b/maintenance/jsclientlib/util.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.util — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -153,7 +153,7 @@
                            -

                            OctoPrintClient.util

                            +

                            OctoPrintClient.util

                            Note

                            All methods here require that the used API token or the existing browser session @@ -161,18 +161,18 @@

                            -OctoPrintClient.util.test(command, parameters, opts)
                            +OctoPrintClient.util.test(command, parameters, opts)

                            Execute a test command.

                            See below for the more specialized versions of this.

                            -
                            Arguments
                            +
                            Arguments:
                            • command (string()) – The command to execute (currently either path or url)

                            • parameters (object()) – The parameters for the command

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -180,7 +180,7 @@
                            -OctoPrintClient.util.testPath(path, additional, opts)
                            +OctoPrintClient.util.testPath(path, additional, opts)

                            Test the provided path for existence. More test criteria supported by the path test command can be provided via the additional object.

                            Example 1

                            @@ -208,14 +208,14 @@
                            -
                            Arguments
                            +
                            Arguments:
                            • path (string()) – Path to test

                            • additional (object()) – Additional parameters for the test command

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -223,7 +223,7 @@
                            -OctoPrintClient.util.testExecutable(path, opts)
                            +OctoPrintClient.util.testExecutable(path, opts)

                            Shortcut to test if a provided path exists and is executable by OctoPrint.

                            Example

                            Test if /some/path/to/a/file exists and can be executed by OctoPrint.

                            @@ -249,13 +249,13 @@

                            -
                            Arguments
                            +
                            Arguments:
                            • path (string()) – Path to test

                            • opts (object()) – Additional options for the request

                            -
                            Returns Promise
                            +
                            Returns Promise:

                            A jQuery Promise for the request’s response

                            @@ -263,7 +263,7 @@
                            -OctoPrintClient.util.testUrl(url, additional, opts)
                            +OctoPrintClient.util.testUrl(url, additional, opts)

                            Test if a URL can be accessed. More test criteria supported by the URL test command can be provided via the additional object.

                            Example 1

                            @@ -314,14 +314,14 @@
                -
                Arguments
                +
                Arguments:
                • url (string()) – URL to test

                • additional (object()) – Additional parameters for the test command

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -329,7 +329,7 @@
                -OctoPrintClient.util.testServer(host, port, additional, opts)
                +OctoPrintClient.util.testServer(host, port, additional, opts)

                Test if a server is reachable. More options supported by the server test command can be provided via the additional object.

                Example 1

                @@ -357,7 +357,7 @@
                -
                Arguments
                +
                Arguments:
                • url (string()) – Host to test

                • port (int()) – Port to test

                • @@ -365,7 +365,7 @@
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -373,7 +373,7 @@
                -OctoPrintClient.util.testResolution(name, additional, opts)
                +OctoPrintClient.util.testResolution(name, additional, opts)

                Test if a host name can be resolved.

                Example

                Test if octoprint.org can be resolved.

                @@ -388,14 +388,14 @@
                -
                Arguments
                +
                Arguments:
                • name (string()) – Host name to test

                • additional (object()) – Additional parameters for the test command

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/jsclientlib/wizard.html b/maintenance/jsclientlib/wizard.html index 419ef2fcd..ea9f70f3d 100644 --- a/maintenance/jsclientlib/wizard.html +++ b/maintenance/jsclientlib/wizard.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.wizard — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -148,7 +148,7 @@
                -

                OctoPrintClient.wizard

                +

                OctoPrintClient.wizard

                Note

                All methods here require that the used API token or the existing browser session @@ -156,15 +156,15 @@

                -OctoPrintClient.wizard.get(opts)
                +OctoPrintClient.wizard.get(opts)

                Retrieve additional data about registered wizards.

                -
                Arguments
                +
                Arguments:
                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                @@ -172,16 +172,16 @@
                -OctoPrintClient.wizard.finish(handled, opts)
                +OctoPrintClient.wizard.finish(handled, opts)

                Inform wizards that the wizard dialog has been finished.

                -
                Arguments
                +
                Arguments:
                • handled (list()) – List of identifiers of handled wizards

                • opts (object()) – Additional options for the request

                -
                Returns Promise
                +
                Returns Promise:

                A jQuery Promise for the request’s response

                diff --git a/maintenance/modules/access.html b/maintenance/modules/access.html index 3dd33b78a..6f2750ea2 100644 --- a/maintenance/modules/access.html +++ b/maintenance/modules/access.html @@ -1,26 +1,26 @@ - + - + octoprint.access.users — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -169,43 +169,43 @@
                -

                octoprint.access.users

                +

                octoprint.access.users

                -class octoprint.access.users.AnonymousUser(groups)
                +class octoprint.access.users.AnonymousUser(groups)
                -class octoprint.access.users.ApiUser(groups)
                +class octoprint.access.users.ApiUser(groups)
                -exception octoprint.access.users.CorruptUserStorage
                +exception octoprint.access.users.CorruptUserStorage
                -exception octoprint.access.users.InvalidUsername(username)
                +exception octoprint.access.users.InvalidUsername(username)
                -exception octoprint.access.users.UnknownRole(role)
                +exception octoprint.access.users.UnknownRole(role)
                -exception octoprint.access.users.UnknownUser(username)
                +exception octoprint.access.users.UnknownUser(username)
                -class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
                +class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
                -asDict()
                +asDict()

                Deprecated since version 1.4.0: Replaced by as_dict()

                @@ -215,7 +215,7 @@
                -exception octoprint.access.users.UserAlreadyExists(username)
                +exception octoprint.access.users.UserAlreadyExists(username)
                diff --git a/maintenance/modules/cli.html b/maintenance/modules/cli.html index f07ad417a..131e95e2d 100644 --- a/maintenance/modules/cli.html +++ b/maintenance/modules/cli.html @@ -1,26 +1,26 @@ - + - + octoprint.cli — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -188,22 +188,22 @@
                -

                octoprint.cli

                +

                octoprint.cli

                -class octoprint.cli.HiddenOption(param_decls: Optional[Sequence[str]] = None, show_default: Optional[Union[bool, str]] = None, prompt: Union[bool, str] = False, confirmation_prompt: Union[bool, str] = False, prompt_required: bool = True, hide_input: bool = False, is_flag: Optional[bool] = None, flag_value: Optional[Any] = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: Optional[Union[ParamType, Any]] = None, help: Optional[str] = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)
                +class octoprint.cli.HiddenOption(param_decls: Sequence[str] | None = None, show_default: bool | str | None = None, prompt: bool | str = False, confirmation_prompt: bool | str = False, prompt_required: bool = True, hide_input: bool = False, is_flag: bool | None = None, flag_value: Any | None = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: ParamType | Any | None = None, help: str | None = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)

                Custom option sub class with empty help.

                -class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)
                +class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)

                Custom context wrapping the standard options.

                -octoprint.cli.bulk_options(options)
                +octoprint.cli.bulk_options(options)

                Utility decorator to decorate a function with a list of click decorators.

                The provided list of options will be reversed to ensure correct processing order (inverse from what would be intuitive).

                @@ -211,7 +211,7 @@
                -octoprint.cli.hidden_option(*param_decls, **attrs)
                +octoprint.cli.hidden_option(*param_decls, **attrs)

                Attaches a hidden option to the command. All positional arguments are passed as parameter declarations to Option; all keyword arguments are forwarded unchanged. This is equivalent to creating an @@ -221,7 +221,7 @@

                -octoprint.cli.init_platform_for_cli(ctx)
                +octoprint.cli.init_platform_for_cli(ctx)

                Performs a basic platform initialization for the CLI.

                Plugin implementations will be initialized, but only with a subset of the usual property injections:

                @@ -241,7 +241,7 @@
                -octoprint.cli.legacy_options(f)
                +octoprint.cli.legacy_options(f)

                Legacy options available directly on the “octoprint” command in earlier versions. Kept available for reasons of backwards compatibility, but hidden from the generated help pages.

                @@ -249,19 +249,19 @@
                -octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]
                +octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]

                Decorator to pass in the OctoPrintContext instance.

                -octoprint.cli.set_ctx_obj_option(ctx, param, value)
                +octoprint.cli.set_ctx_obj_option(ctx, param, value)

                Helper for setting eager options on the context.

                -octoprint.cli.standard_options(hidden=False)
                +octoprint.cli.standard_options(hidden=False)

                Decorator to add the standard options shared among all “octoprint” commands.

                If hidden is set to True, the options will be available on the command but not listed in its help page.

                @@ -269,23 +269,23 @@
                -

                octoprint.cli.dev

                +

                octoprint.cli.dev

                -class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)
                +class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)

                Custom click.MultiCommand implementation that provides commands relevant for (plugin) development based on availability of development dependencies.

                -get_command(ctx, cmd_name)
                +get_command(ctx, cmd_name)

                Given a context and a command name, this returns a Command object if it exists or returns None.

                -list_commands(ctx)
                +list_commands(ctx)

                Returns a list of subcommand names in the order they should appear.

                @@ -294,35 +294,35 @@
                -

                octoprint.cli.plugins

                +

                octoprint.cli.plugins

                -class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)
                +class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)

                Custom click.MultiCommand implementation that collects commands from the plugin hook octoprint.cli.commands.

                -settings
                +settings

                The global Settings instance.

                -plugin_manager
                +plugin_manager

                The PluginManager instance.

                -get_command(ctx, cmd_name)
                +get_command(ctx, cmd_name)

                Given a context and a command name, this returns a Command object if it exists or returns None.

                -list_commands(ctx)
                +list_commands(ctx)

                Returns a list of subcommand names in the order they should appear.

                @@ -331,22 +331,22 @@
                -

                octoprint.cli.server

                +

                octoprint.cli.server

                -octoprint.cli.server.daemon_options(f)
                +octoprint.cli.server.daemon_options(f)

                Decorator to add the options for the daemon subcommand: --pid.

                -octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)
                +octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)

                Initializes the environment and starts up the server.

                -octoprint.cli.server.server_options(f)
                +octoprint.cli.server.server_options(f)

                Decorator to add the options shared among the server commands: --host, --port, -4, -6 --logging, --iknowwhatimdoing and --debug.

                diff --git a/maintenance/modules/filemanager.html b/maintenance/modules/filemanager.html index 8d14363c4..0c3e89317 100644 --- a/maintenance/modules/filemanager.html +++ b/maintenance/modules/filemanager.html @@ -1,26 +1,26 @@ - + - + octoprint.filemanager — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -285,19 +285,19 @@
                -

                octoprint.filemanager

                +

                octoprint.filemanager

                -class octoprint.filemanager.ContentTypeDetector(extensions, detector)
                -
                +class octoprint.filemanager.ContentTypeDetector(extensions, detector) +
                -property detector
                +detector

                Alias for field number 1

                -
                +
                -property extensions
                +extensions

                Alias for field number 0

                @@ -305,16 +305,16 @@
                -class octoprint.filemanager.ContentTypeMapping(extensions, content_type)
                -
                +class octoprint.filemanager.ContentTypeMapping(extensions, content_type) +
                -property content_type
                +content_type

                Alias for field number 1

                -
                +
                -property extensions
                +extensions

                Alias for field number 0

                @@ -322,20 +322,20 @@
                -exception octoprint.filemanager.NoSuchStorage
                +exception octoprint.filemanager.NoSuchStorage
                -

                octoprint.filemanager.analysis

                +

                octoprint.filemanager.analysis

                -class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)
                +class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)

                The AbstractAnalysisQueue is the parent class of all specific analysis queues such as the GcodeAnalysisQueue. It offers methods to enqueue new entries to analyze and pausing and resuming analysis processing.

                -
                Parameters
                +
                Parameters:

                finished_callback (callable) – Callback that will be called upon finishing analysis of an entry in the queue. The callback will be called with the analyzed entry as the first argument and the analysis result as returned from the queue implementation as the second parameter.

                @@ -343,21 +343,21 @@
                -_do_analysis(high_priority=False)
                +_do_analysis(high_priority=False)

                Performs the actual analysis of the current entry which can be accessed via self._current. Needs to be overridden by sub classes.

                -
                Parameters
                +
                Parameters:

                high_priority (bool) – Whether the current entry has high priority or not.

                -
                Returns
                +
                Returns:

                The result of the analysis which will be forwarded to the finished_callback provided during

                construction.

                -
                Return type
                +
                Return type:

                object

                @@ -365,18 +365,18 @@
                -_do_abort(reenqueue=True)
                +_do_abort(reenqueue=True)

                Aborts analysis of the current entry. Needs to be overridden by sub classes.

                -enqueue(entry, high_priority=False)
                +enqueue(entry, high_priority=False)

                Enqueues an entry for analysis by the queue.

                If high_priority is True (defaults to False), the entry will be prioritized and hence processed before other entries in the queue with normal priority.

                -
                Parameters
                +
                Parameters:
                • entry (QueueEntry) – The QueueEntry to analyze.

                • high_priority (boolean) – Whether to process the provided entry with high priority (True) or not @@ -388,13 +388,13 @@

                  -pause()
                  +pause()

                  Pauses processing of the queue, e.g. when a print is active.

                  -resume()
                  +resume()

                  Resumes processing of the queue, e.g. when a print has finished.

                  @@ -402,12 +402,12 @@
                  -exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
                  +exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
                  -class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)
                  +class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)

                  OctoPrint’s AnalysisQueue can manage various AbstractAnalysisQueue implementations, mapped by their machine code type.

                  By invoking register_finish_callback() it is possible to register oneself as a callback to be invoked each @@ -421,12 +421,12 @@

                  -class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)
                  +class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)

                  A queue to analyze GCODE files. Analysis results are dict instances structured as follows:

                  - +
                  --++ @@ -517,11 +517,11 @@
                  -class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)
                  +class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)

                  A QueueEntry for processing through the AnalysisQueue. Wraps the entry’s properties necessary for processing.

                  -
                  Parameters
                  +
                  Parameters:
                  • name (str) – Name of the file to analyze.

                  • path (str) – Storage location specific path to the file to analyze.

                  • @@ -538,23 +538,23 @@
                    -

                    octoprint.filemanager.destinations

                    +

                    octoprint.filemanager.destinations

                    -

                    octoprint.filemanager.storage

                    +

                    octoprint.filemanager.storage

                    -class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)
                    +class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)

                    The LocalFileStorage is a storage implementation which holds all files, folders and metadata on disk.

                    Metadata is managed inside .metadata.json files in the respective folders, indexed by the sanitized filenames stored within the folder. Metadata access is managed through an LRU cache to minimize access overhead.

                    This storage type implements path_on_disk().

                    -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)
                    +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)

                    Adds the file file_object as path

                    -
                    Parameters
                    +
                    Parameters:
                    • path (string) – the file’s new path, will be sanitized

                    • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -567,7 +567,7 @@

                    • user (str) – user who added the file, if known

                    -
                    Returns
                    +
                    Returns:

                    the sanitized name of the file to be used for future references to it

                    @@ -575,11 +575,11 @@
                    -add_folder(path, ignore_existing=True, display=None, user=None)
                    +add_folder(path, ignore_existing=True, display=None, user=None)

                    Adds a folder as path

                    The path will be sanitized.

                    -
                    Parameters
                    +
                    Parameters:
                    • path (string) – the path of the new folder

                    • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

                    • @@ -587,7 +587,7 @@
                    • user (str) – user who created the folder, if known

                    -
                    Returns
                    +
                    Returns:

                    the sanitized name of the new folder to be used for future references to the folder

                    @@ -595,7 +595,7 @@
                    +add_link(path, rel, data)

                    Adds a link of relation rel to file path with the given data.

                    The following relation types are currently supported:

                    @@ -616,7 +616,7 @@

                    Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

                    -
                    Parameters
                    +
                    Parameters:
                    • path – path of the file for which to add a link

                    • rel – type of relation of the link to add (currently model, machinecode and web are supported)

                    • @@ -628,12 +628,12 @@
                      -property analysis_backlog
                      +property analysis_backlog

                      Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                      The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                      -
                      Returns
                      +
                      Returns:

                      an iterator yielding all un-analysed files in the storage

                      @@ -641,16 +641,16 @@
                      -canonicalize(path)
                      +canonicalize(path)

                      Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                      By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                      -
                      Parameters
                      +
                      Parameters:

                      path – the path to canonicalize

                      -
                      Returns
                      +
                      Returns:

                      a 2-tuple containing the canonicalized path and file name

                      @@ -658,16 +658,16 @@
                      -copy_file(source, destination)
                      +copy_file(source, destination)

                      Copies the file source to destination

                      -
                      Parameters
                      +
                      Parameters:
                      • source (string) – path to the source file

                      • destination (string) – path to destination

                      -
                      Returns
                      +
                      Returns:

                      the path in the storage to the copy of the file

                      @@ -675,16 +675,16 @@
                      -copy_folder(source, destination)
                      +copy_folder(source, destination)

                      Copies the folder source to destination

                      -
                      Parameters
                      +
                      Parameters:
                      • source (string) – path to the source folder

                      • destination (string) – path to destination

                      -
                      Returns
                      +
                      Returns:

                      the path in the storage to the copy of the folder

                      @@ -692,7 +692,7 @@
                      -file_exists(path)
                      +file_exists(path)

                      Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                      @@ -700,7 +700,7 @@
                      -file_in_path(path, filepath)
                      +file_in_path(path, filepath)

                      Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -709,7 +709,7 @@

                      -folder_exists(path)
                      +folder_exists(path)

                      Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                      @@ -717,10 +717,10 @@
                      -get_additional_metadata(path, key)
                      +get_additional_metadata(path, key)

                      Fetches additional metadata at key from the metadata of path.

                      -
                      Parameters
                      +
                      Parameters:
                      • path – the virtual path to the file for which to fetch additional metadata

                      • key – key of metadata to fetch

                      • @@ -731,10 +731,10 @@
                        -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                        +get_lastmodified(path: str | None = None, recursive: bool = False) int

                        Get the modification date of the specified path or path’s subtree.

                        -
                        Parameters
                        +
                        Parameters:
                        • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                        • @@ -747,13 +747,13 @@
                          -get_metadata(path)
                          +get_metadata(path)

                          Retrieves the metadata for the file path.

                          -
                          Parameters
                          +
                          Parameters:

                          path – virtual path to the file for which to retrieve the metadata

                          -
                          Returns
                          +
                          Returns:

                          the metadata associated with the file

                          @@ -761,10 +761,10 @@
                          -get_size(path=None, recursive=False)
                          +get_size(path=None, recursive=False)

                          Get the size of the specified path or path’s subtree.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                          • @@ -777,10 +777,10 @@
                            -has_analysis(path)
                            +has_analysis(path)

                            Returns whether the file at path has been analysed yet

                            -
                            Parameters
                            +
                            Parameters:

                            path – virtual path to the file for which to retrieve the metadata

                            @@ -788,7 +788,7 @@
                            -join_path(*path)
                            +join_path(*path)

                            Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                            @@ -796,10 +796,10 @@
                            -last_modified(path=None, recursive=False)
                            +last_modified(path=None, recursive=False)

                            Get the last modification date of the specified path or path’s subtree.

                            -
                            Parameters
                            +
                            Parameters:
                            • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                            • @@ -813,7 +813,7 @@
                              -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                              +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                              List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                              An optional filter function can be supplied which will be called with a file name and file data and which has @@ -867,7 +867,7 @@

                              -
                              Parameters
                              +
                              Parameters:
                              • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                              • @@ -877,7 +877,7 @@ do one step down into sub folders to be able to populate the children.

                              -
                              Returns
                              +
                              Returns:

                              a dictionary mapping entry names to entry data that represents the whole file list

                              @@ -885,16 +885,16 @@
                              -move_file(source, destination, allow_overwrite=False)
                              +move_file(source, destination, allow_overwrite=False)

                              Moves the file source to destination

                              -
                              Parameters
                              +
                              Parameters:
                              • source (string) – path to the source file

                              • destination (string) – path to destination

                              -
                              Returns
                              +
                              Returns:

                              the new path in the storage to the file

                              @@ -902,16 +902,16 @@
                              -move_folder(source, destination)
                              +move_folder(source, destination)

                              Moves the folder source to destination

                              -
                              Parameters
                              +
                              Parameters:
                              • source (string) – path to the source folder

                              • destination (string) – path to destination

                              -
                              Returns
                              +
                              Returns:

                              the new path in the storage to the folder

                              @@ -919,14 +919,14 @@
                              -path_in_storage(path)
                              +path_in_storage(path)

                              Retrieves the equivalent in the storage adapter for path.

                              Opposite of path_on_disk().

                              -
                              Parameters
                              +
                              Parameters:

                              path (string) – the path for which to retrieve the storage path

                              -
                              Returns
                              +
                              Returns:

                              the path in storage to path

                              @@ -934,16 +934,16 @@
                              -path_on_disk(path)
                              +path_on_disk(path)

                              Retrieves the path on disk for path.

                              Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                              Opposite of path_in_storage().

                              -
                              Parameters
                              +
                              Parameters:

                              path (string) – the virtual path for which to retrieve the path on disk

                              -
                              Returns
                              +
                              Returns:

                              the path on disk to path

                              @@ -951,10 +951,10 @@
                              -remove_additional_metadata(path, key)
                              +remove_additional_metadata(path, key)

                              Removes additional metadata under key for name on path

                              -
                              Parameters
                              +
                              Parameters:
                              • path – the virtual path to the file for which to remove the metadata under key

                              • key – the key to remove

                              • @@ -965,12 +965,12 @@
                                -remove_file(path)
                                +remove_file(path)

                                Removes the file at path

                                Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                                -
                                Parameters
                                +
                                Parameters:

                                path (string) – path of the file to remove

                                @@ -978,10 +978,10 @@
                                -remove_folder(path, recursive=True)
                                +remove_folder(path, recursive=True)

                                Removes the folder at path

                                -
                                Parameters
                                +
                                Parameters:
                                • path (string) – the path of the folder to remove

                                • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -993,10 +993,10 @@

                                  +remove_link(path, rel, data)

                                  Removes the link consisting of rel and data from file name on path.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • path – path of the file from which to remove the link

                                  • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                                  • @@ -1008,7 +1008,7 @@
                                    -sanitize(path)
                                    +sanitize(path)

                                    Returns a (path, name) tuple derived from the provided path.

                                    path may be:
                                      @@ -1027,7 +1027,7 @@
                                      -sanitize_name(name)
                                      +sanitize_name(name)

                                      Raises a ValueError for a name containing / or \. Otherwise sanitizes the given name using octoprint.files.sanitize_filename. Also strips any leading ..

                                      @@ -1035,7 +1035,7 @@
                                      -sanitize_path(path)
                                      +sanitize_path(path)

                                      Ensures that the on disk representation of path is located under the configured basefolder. Resolves all relative path elements (e.g. ..) and sanitizes folder names using sanitize_name(). Final path is the absolute path including leading basefolder path.

                                      @@ -1043,13 +1043,13 @@
                                      -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                      +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                      Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                      If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                      If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • path – the virtual path to the file for which to add additional metadata

                                      • key – key of metadata to add

                                      • @@ -1064,7 +1064,7 @@
                                        -split_path(path)
                                        +split_path(path)

                                        Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                        @@ -1074,14 +1074,14 @@
                                        -class octoprint.filemanager.storage.StorageInterface
                                        +class octoprint.filemanager.storage.StorageInterface

                                        Interface of storage adapters for OctoPrint.

                                        -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)
                                        +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None, user=None)

                                        Adds the file file_object as path

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path (string) – the file’s new path, will be sanitized

                                        • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -1094,7 +1094,7 @@

                                        • user (str) – user who added the file, if known

                                        -
                                        Returns
                                        +
                                        Returns:

                                        the sanitized name of the file to be used for future references to it

                                        @@ -1102,11 +1102,11 @@
                                        -add_folder(path, ignore_existing=True, display=None, user=None)
                                        +add_folder(path, ignore_existing=True, display=None, user=None)

                                        Adds a folder as path

                                        The path will be sanitized.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path (string) – the path of the new folder

                                        • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

                                        • @@ -1114,7 +1114,7 @@
                                        • user (str) – user who created the folder, if known

                                        -
                                        Returns
                                        +
                                        Returns:

                                        the sanitized name of the new folder to be used for future references to the folder

                                        @@ -1122,7 +1122,7 @@
                                        +add_link(path, rel, data)

                                        Adds a link of relation rel to file path with the given data.

                                        The following relation types are currently supported:

                                        @@ -1143,7 +1143,7 @@

                                        Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path – path of the file for which to add a link

                                        • rel – type of relation of the link to add (currently model, machinecode and web are supported)

                                        • @@ -1155,12 +1155,12 @@
                                          -property analysis_backlog
                                          +property analysis_backlog

                                          Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                                          The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                                          -
                                          Returns
                                          +
                                          Returns:

                                          an iterator yielding all un-analysed files in the storage

                                          @@ -1168,16 +1168,16 @@
                                          -canonicalize(path)
                                          +canonicalize(path)

                                          Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                                          By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                                          -
                                          Parameters
                                          +
                                          Parameters:

                                          path – the path to canonicalize

                                          -
                                          Returns
                                          +
                                          Returns:

                                          a 2-tuple containing the canonicalized path and file name

                                          @@ -1185,16 +1185,16 @@
                                          -copy_file(source, destination)
                                          +copy_file(source, destination)

                                          Copies the file source to destination

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • source (string) – path to the source file

                                          • destination (string) – path to destination

                                          -
                                          Returns
                                          +
                                          Returns:

                                          the path in the storage to the copy of the file

                                          @@ -1202,16 +1202,16 @@
                                          -copy_folder(source, destination)
                                          +copy_folder(source, destination)

                                          Copies the folder source to destination

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • source (string) – path to the source folder

                                          • destination (string) – path to destination

                                          -
                                          Returns
                                          +
                                          Returns:

                                          the path in the storage to the copy of the folder

                                          @@ -1219,7 +1219,7 @@
                                          -file_exists(path)
                                          +file_exists(path)

                                          Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                                          @@ -1227,7 +1227,7 @@
                                          -file_in_path(path, filepath)
                                          +file_in_path(path, filepath)

                                          Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -1236,7 +1236,7 @@

                                          -folder_exists(path)
                                          +folder_exists(path)

                                          Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                                          @@ -1244,10 +1244,10 @@
                                          -get_additional_metadata(path, key)
                                          +get_additional_metadata(path, key)

                                          Fetches additional metadata at key from the metadata of path.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • path – the virtual path to the file for which to fetch additional metadata

                                          • key – key of metadata to fetch

                                          • @@ -1258,10 +1258,10 @@
                                            -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                                            +get_lastmodified(path: str | None = None, recursive: bool = False) int

                                            Get the modification date of the specified path or path’s subtree.

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                                            • @@ -1274,13 +1274,13 @@
                                              -get_metadata(path)
                                              +get_metadata(path)

                                              Retrieves the metadata for the file path.

                                              -
                                              Parameters
                                              +
                                              Parameters:

                                              path – virtual path to the file for which to retrieve the metadata

                                              -
                                              Returns
                                              +
                                              Returns:

                                              the metadata associated with the file

                                              @@ -1288,10 +1288,10 @@
                                              -get_size(path=None, recursive=False) int
                                              +get_size(path=None, recursive=False) int

                                              Get the size of the specified path or path’s subtree.

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                                              • @@ -1304,10 +1304,10 @@
                                                -has_analysis(path)
                                                +has_analysis(path)

                                                Returns whether the file at path has been analysed yet

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                path – virtual path to the file for which to retrieve the metadata

                                                @@ -1315,7 +1315,7 @@
                                                -join_path(*path)
                                                +join_path(*path)

                                                Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                                                @@ -1323,10 +1323,10 @@
                                                -last_modified(path=None, recursive=False)
                                                +last_modified(path=None, recursive=False)

                                                Get the last modification date of the specified path or path’s subtree.

                                                -
                                                Parameters
                                                +
                                                Parameters:
                                                • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                                                • @@ -1340,7 +1340,7 @@
                                                  -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                                                  +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                                                  List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                                                  An optional filter function can be supplied which will be called with a file name and file data and which has @@ -1394,7 +1394,7 @@

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                                                  • @@ -1404,7 +1404,7 @@ do one step down into sub folders to be able to populate the children.

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  a dictionary mapping entry names to entry data that represents the whole file list

                                                  @@ -1412,16 +1412,16 @@
                                                  -move_file(source, destination)
                                                  +move_file(source, destination)

                                                  Moves the file source to destination

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • source (string) – path to the source file

                                                  • destination (string) – path to destination

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  the new path in the storage to the file

                                                  @@ -1429,16 +1429,16 @@
                                                  -move_folder(source, destination)
                                                  +move_folder(source, destination)

                                                  Moves the folder source to destination

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • source (string) – path to the source folder

                                                  • destination (string) – path to destination

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  the new path in the storage to the folder

                                                  @@ -1446,14 +1446,14 @@
                                                  -path_in_storage(path)
                                                  +path_in_storage(path)

                                                  Retrieves the equivalent in the storage adapter for path.

                                                  Opposite of path_on_disk().

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:

                                                  path (string) – the path for which to retrieve the storage path

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  the path in storage to path

                                                  @@ -1461,16 +1461,16 @@
                                                  -path_on_disk(path)
                                                  +path_on_disk(path)

                                                  Retrieves the path on disk for path.

                                                  Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                                                  Opposite of path_in_storage().

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:

                                                  path (string) – the virtual path for which to retrieve the path on disk

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  the path on disk to path

                                                  @@ -1478,10 +1478,10 @@
                                                  -remove_additional_metadata(path, key)
                                                  +remove_additional_metadata(path, key)

                                                  Removes additional metadata under key for name on path

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • path – the virtual path to the file for which to remove the metadata under key

                                                  • key – the key to remove

                                                  • @@ -1492,12 +1492,12 @@
                                                    -remove_file(path)
                                                    +remove_file(path)

                                                    Removes the file at path

                                                    Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:

                                                    path (string) – path of the file to remove

                                                    @@ -1505,10 +1505,10 @@
                                                    -remove_folder(path, recursive=True)
                                                    +remove_folder(path, recursive=True)

                                                    Removes the folder at path

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:
                                                    • path (string) – the path of the folder to remove

                                                    • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -1520,10 +1520,10 @@

                                                      +remove_link(path, rel, data)

                                                      Removes the link consisting of rel and data from file name on path.

                                                      -
                                                      Parameters
                                                      +
                                                      Parameters:
                                                      • path – path of the file from which to remove the link

                                                      • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                                                      • @@ -1535,14 +1535,14 @@
                                                        -sanitize(path)
                                                        +sanitize(path)

                                                        Sanitizes the given path, stripping it of all invalid characters. The path may consist of both folder and file name, the underlying implementation must separate those if necessary and sanitize individually.

                                                        -
                                                        Parameters
                                                        +
                                                        Parameters:

                                                        path (string) – the path to sanitize

                                                        -
                                                        Returns
                                                        +
                                                        Returns:

                                                        a 2-tuple containing the sanitized path and file name

                                                        @@ -1550,7 +1550,7 @@
                                                        -sanitize_name(name)
                                                        +sanitize_name(name)

                                                        Sanitizes the given file name, stripping it of all invalid characters. :param string name: the file name to sanitize :return: the sanitized name

                                                        @@ -1558,7 +1558,7 @@
                                                        -sanitize_path(path)
                                                        +sanitize_path(path)

                                                        Sanitizes the given folder-only path, stripping it of all invalid characters. :param string path: the path to sanitize :return: the sanitized path

                                                        @@ -1566,13 +1566,13 @@
                                                        -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                                        +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                                        Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                                        If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                                        If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                                        -
                                                        Parameters
                                                        +
                                                        Parameters:
                                                        • path – the virtual path to the file for which to add additional metadata

                                                        • key – key of metadata to add

                                                        • @@ -1587,7 +1587,7 @@
                                                          -split_path(path)
                                                          +split_path(path)

                                                          Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                                          @@ -1597,22 +1597,22 @@
                    -

                    octoprint.filemanager.util

                    +

                    octoprint.filemanager.util

                    -class octoprint.filemanager.util.AbstractFileWrapper(filename)
                    +class octoprint.filemanager.util.AbstractFileWrapper(filename)

                    Wrapper for file representations to save to storages.

                    -
                    Parameters
                    +
                    Parameters:

                    filename (str) – The file’s name

                    -save(path, permissions=None)
                    +save(path, permissions=None)

                    Saves the file’s content to the given absolute path.

                    -
                    Parameters
                    +
                    Parameters:
                    • path (str) – The absolute path to where to save the file

                    • permissions (int) – The permissions to set on the file

                    • @@ -1623,13 +1623,13 @@
                      -stream()
                      +stream()

                      Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

                      -
                      Returns
                      +
                      Returns:

                      The file’s contents as a stream.

                      -
                      Return type
                      +
                      Return type:

                      io.IOBase

                      @@ -1639,12 +1639,12 @@
                      -class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)
                      +class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)

                      An implementation of AbstractFileWrapper that wraps an actual file on disk. The save implementations will either copy the file to the new path (preserving file attributes) or – if move is True (the default) – move the file.

                      -
                      Parameters
                      +
                      Parameters:
                      • filename (str) – The file’s name

                      • path (str) – The file’s absolute path

                      • @@ -1654,10 +1654,10 @@
                      -save(path, permissions=None)
                      +save(path, permissions=None)

                      Saves the file’s content to the given absolute path.

                      -
                      Parameters
                      +
                      Parameters:
                      • path (str) – The absolute path to where to save the file

                      • permissions (int) – The permissions to set on the file

                      • @@ -1668,13 +1668,13 @@
                        -stream()
                        +stream()

                        Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

                        -
                        Returns
                        +
                        Returns:

                        The file’s contents as a stream.

                        -
                        Return type
                        +
                        Return type:

                        io.IOBase

                        @@ -1684,42 +1684,42 @@
                        -class octoprint.filemanager.util.LineProcessorStream(input_stream)
                        +class octoprint.filemanager.util.LineProcessorStream(input_stream)

                        While reading from this stream the provided input_stream is read line by line, calling the (overridable) method process_line() for each read line.

                        Sub classes can thus modify the contents of the input_stream in line, while it is being read. Keep in mind that process_line will receive the line as a byte stream - if underlying code needs to operate on unicode you’ll need to do the decoding yourself.

                        -
                        Parameters
                        +
                        Parameters:

                        input_stream (io.RawIOBase) – The stream to process on the fly.

                        -close()
                        +close()

                        Flush and close the IO object.

                        This method has no effect if the file is already closed.

                        -process_line(line)
                        +process_line(line)

                        Called from the read Method of this stream with each line read from self.input_stream.

                        By returning None the line will not be returned from the read stream, effectively being stripped from the wrapper input_stream.

                        -
                        Parameters
                        +
                        Parameters:

                        line (bytes) – The line as read from self.input_stream in byte representation

                        -
                        Returns
                        +
                        Returns:

                        The processed version of the line (might also be multiple lines), or None if the line is to be

                        stripped from the processed stream.

                        -
                        Return type
                        +
                        Return type:

                        bytes or None

                        @@ -1727,14 +1727,14 @@
                        -readable(*args, **kwargs)
                        +readable(*args, **kwargs)

                        Return whether object was opened for reading.

                        If False, read() will raise OSError.

                        -seekable(*args, **kwargs)
                        +seekable(*args, **kwargs)

                        Return whether object supports random access.

                        If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

                        @@ -1742,7 +1742,7 @@
                        -writable(*args, **kwargs)
                        +writable(*args, **kwargs)

                        Return whether object was opened for writing.

                        If False, write() will raise OSError.

                        @@ -1751,31 +1751,31 @@
                        -class octoprint.filemanager.util.MultiStream(*streams)
                        +class octoprint.filemanager.util.MultiStream(*streams)

                        A stream implementation which when read reads from multiple streams, one after the other, basically concatenating their contents in the order they are provided to the constructor.

                        -
                        Parameters
                        +
                        Parameters:

                        *streams – One or more io.IOBase streams to concatenate.

                        -close()
                        +close()

                        Flush and close the IO object.

                        This method has no effect if the file is already closed.

                        -readable(*args, **kwargs)
                        +readable(*args, **kwargs)

                        Return whether object was opened for reading.

                        If False, read() will raise OSError.

                        -seekable(*args, **kwargs)
                        +seekable(*args, **kwargs)

                        Return whether object supports random access.

                        If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

                        @@ -1783,7 +1783,7 @@
                        -writable(*args, **kwargs)
                        +writable(*args, **kwargs)

                        Return whether object was opened for writing.

                        If False, write() will raise OSError.

                        @@ -1792,23 +1792,23 @@
                        -class octoprint.filemanager.util.StreamWrapper(filename, *streams)
                        +class octoprint.filemanager.util.StreamWrapper(filename, *streams)

                        A wrapper allowing processing of one or more consecutive streams.

                        -
                        Parameters
                        +
                        Parameters:

                        *streams – One or more io.IOBase streams to process one after another to save to storage.

                        -save(path, permissions=None)
                        +save(path, permissions=None)

                        Will dump the contents of all streams provided during construction into the target file, in the order they were provided.

                        -stream()
                        +stream()

                        If more than one stream was provided to the constructor, will return a MultiStream wrapping all provided streams in the order they were provided, else the first and only stream is returned directly.

                        diff --git a/maintenance/modules/index.html b/maintenance/modules/index.html index 7ee415cb1..1421d482b 100644 --- a/maintenance/modules/index.html +++ b/maintenance/modules/index.html @@ -1,26 +1,26 @@ - + - + Internal Modules — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -154,7 +154,7 @@
                        -

                        Internal Modules

                        +

                        Internal Modules

                        -
                        Parameters
                        +
                        Parameters:
                        • types (list) – A list of plugin implementation types to match against.

                        • method (string) – Name of the method to call on all matching implementations.

                        • @@ -421,14 +421,14 @@
                          -class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)
                          +class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)

                          The PluginSettings class is the interface for plugins to their own or globally defined settings.

                          It provides some convenience methods for directly accessing plugin settings via the regular octoprint.settings.Settings interfaces as well as means to access plugin specific folder locations.

                          All getter and setter methods will ensure that plugin settings are stored in their correct location within the settings structure by modifying the supplied paths accordingly.

                          -
                          Parameters
                          +
                          Parameters:
                          • settings (Settings) – The Settings instance on which to operate.

                          • plugin_key (str) – The plugin identifier of the plugin for which to create this instance.

                          • @@ -439,21 +439,21 @@
                          -get(path, merged=False, asdict=False)
                          +get(path, merged=False, asdict=False)

                          Retrieves a raw value from the settings for path, optionally merging the raw value with the default settings if merged is set to True.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (list, tuple) – The path for which to retrieve the value.

                          • merged (boolean) – Whether to merge the returned result with the default settings (True) or not (False, default).

                          -
                          Returns
                          +
                          Returns:

                          The retrieved settings value.

                          -
                          Return type
                          +
                          Return type:

                          object

                          @@ -461,7 +461,7 @@
                          -get_int(path, min=None, max=None)
                          +get_int(path, min=None, max=None)

                          Like get() but tries to convert the retrieved value to int. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

                          @@ -469,7 +469,7 @@
                          -get_float(path, min=None, max=None)
                          +get_float(path, min=None, max=None)

                          Like get() but tries to convert the retrieved value to float. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

                          @@ -477,16 +477,16 @@
                          -get_boolean(path)
                          +get_boolean(path)

                          Like get() but tries to convert the retrieved value to boolean.

                          -set(path, value, force=False)
                          +set(path, value, force=False)

                          Sets the raw value on the settings for path.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (list, tuple) – The path for which to retrieve the value.

                          • value (object) – The value to set.

                          • @@ -499,7 +499,7 @@
                            -set_int(path, value, force=False, min=None, max=None)
                            +set_int(path, value, force=False, min=None, max=None)

                            Like set() but ensures the value is an int through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -508,7 +508,7 @@

                            -set_float(path, value, force=False, min=None, max=None)
                            +set_float(path, value, force=False, min=None, max=None)

                            Like set() but ensures the value is an float through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -517,18 +517,18 @@

                            -set_boolean(path, value, force=False)
                            +set_boolean(path, value, force=False)

                            Like set() but ensures the value is an boolean through attempted conversion before setting it.

                            -save(force=False, trigger_event=False)
                            +save(force=False, trigger_event=False)

                            Saves the settings to config.yaml if there are active changes. If force is set to True the settings will be saved even if there are no changes. Settings trigger_event to True will cause a SettingsUpdated event to get triggered.

                            -
                            Parameters
                            +
                            Parameters:
                            • force (boolean) – Force saving to config.yaml even if there are no changes.

                            • trigger_event (boolean) – Trigger the SettingsUpdated event on save.

                            • @@ -539,17 +539,17 @@
                              -add_overlay(overlay, at_end=False, key=None)
                              +add_overlay(overlay, at_end=False, key=None)

                              Adds a new config overlay for the plugin’s settings. Will return the overlay’s key in the map.

                              -
                              Parameters
                              +
                              Parameters:
                              • overlay (dict) – Overlay dict to add

                              • at_end (boolean) – Whether to add overlay at end or start (default) of config hierarchy

                              • key (str) – Key to use to identify overlay. If not set one will be built based on the overlay’s hash

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -557,14 +557,14 @@
                              -remove_overlay(key)
                              +remove_overlay(key)

                              Removes an overlay from the settings based on its key. Return True if the overlay could be found and was removed, False otherwise.

                              -
                              Parameters
                              +
                              Parameters:

                              key (str) – The key of the overlay to remove

                              -
                              Return type
                              +
                              Return type:

                              boolean

                              @@ -572,7 +572,7 @@
                              -get_plugin_data_folder()
                              +get_plugin_data_folder()

                              Deprecated since version 1.2.0: Replaced by get_plugin_data_folder()

                              @@ -580,22 +580,22 @@
                              -get_plugin_logfile_path(postfix=None)
                              +get_plugin_logfile_path(postfix=None)

                              Retrieves the path to a logfile specifically for the plugin. If postfix is not supplied, the logfile will be named plugin_<plugin identifier>.log and located within the configured logs folder. If a postfix is supplied, the name will be plugin_<plugin identifier>_<postfix>.log at the same location.

                              Plugins may use this for specific logging tasks. For example, a SlicingPlugin might want to create a log file for logging the output of the slicing engine itself if some debug flag is set.

                              -
                              Parameters
                              +
                              Parameters:

                              postfix (str) – Postfix of the logfile for which to create the path. If set, the file name of the log file will be plugin_<plugin identifier>_<postfix>.log, if not it will be plugin_<plugin identifier>.log.

                              -
                              Returns
                              +
                              Returns:

                              Absolute path to the log file, directly usable by the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -603,7 +603,7 @@
                              -global_get(path, **kwargs)
                              +global_get(path, **kwargs)

                              Getter for retrieving settings not managed by the plugin itself from the core settings structure. Use this to access global settings outside of your plugin.

                              Directly forwards to octoprint.settings.Settings.get().

                              @@ -611,32 +611,32 @@
                              -global_get_basefolder(folder_type, **kwargs)
                              +global_get_basefolder(folder_type, **kwargs)

                              Retrieves a globally defined basefolder of the given folder_type. Directly forwards to octoprint.settings.Settings.getBaseFolder().

                              -global_get_boolean(path, **kwargs)
                              +global_get_boolean(path, **kwargs)

                              Like global_get() but directly orwards to octoprint.settings.Settings.getBoolean().

                              -global_get_float(path, **kwargs)
                              +global_get_float(path, **kwargs)

                              Like global_get() but directly forwards to octoprint.settings.Settings.getFloat().

                              -global_get_int(path, **kwargs)
                              +global_get_int(path, **kwargs)

                              Like global_get() but directly forwards to octoprint.settings.Settings.getInt().

                              -global_set(path, value, **kwargs)
                              +global_set(path, value, **kwargs)

                              Setter for modifying settings not managed by the plugin itself on the core settings structure. Use this to modify global settings outside of your plugin.

                              Directly forwards to octoprint.settings.Settings.set().

                              @@ -644,19 +644,19 @@
                              -global_set_boolean(path, value, **kwargs)
                              +global_set_boolean(path, value, **kwargs)

                              Like global_set() but directly forwards to octoprint.settings.Settings.setBoolean().

                              -global_set_float(path, value, **kwargs)
                              +global_set_float(path, value, **kwargs)

                              Like global_set() but directly forwards to octoprint.settings.Settings.setFloat().

                              -global_set_int(path, value, **kwargs)
                              +global_set_int(path, value, **kwargs)

                              Like global_set() but directly forwards to octoprint.settings.Settings.setInt().

                              @@ -664,41 +664,41 @@
                        -

                        octoprint.plugin.core

                        +

                        octoprint.plugin.core

                        In this module resides the core data structures and logic of the plugin system.

                        -class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_flags=None, plugin_validators=None, compatibility_ignored_list=None)
                        +class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_flags=None, plugin_validators=None, compatibility_ignored_list=None)

                        The PluginManager is the central component for finding, loading and accessing plugins provided to the system.

                        It is able to discover plugins both through possible file system locations as well as customizable entry points.

                        -disable_plugin(name, plugin=None)
                        +disable_plugin(name, plugin=None)

                        Disables a plugin

                        -enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)
                        +enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)

                        Enables a plugin

                        -get_filtered_implementations(f, *types, **kwargs)
                        +get_filtered_implementations(f, *types, **kwargs)

                        Get all mixin implementations that implement all of the provided types and match the provided filter f.

                        -
                        Parameters
                        +
                        Parameters:
                        • f (callable) – A filter function returning True for implementations to return and False for those to exclude.

                        • types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

                        -
                        Returns
                        +
                        Returns:

                        A list of all found and matching implementations.

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -706,25 +706,25 @@
                        -get_helpers(name, *helpers)
                        +get_helpers(name, *helpers)

                        Retrieves the named helpers for the plugin with identifier name.

                        If the plugin is not available, returns None. Otherwise returns a dict with the requested plugin helper names mapped to the method - if a helper could not be resolved, it will be missing from the dict.

                        -
                        Parameters
                        +
                        Parameters:
                        • name (str) – Identifier of the plugin for which to look up the helpers.

                        • helpers (one or more str) – Identifiers of the helpers of plugin name to return.

                        -
                        Returns
                        +
                        Returns:

                        A dictionary of all resolved helpers, mapped by their identifiers, or None if the plugin was not

                        registered with the system.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -732,16 +732,16 @@
                        -get_hooks(hook)
                        +get_hooks(hook)

                        Retrieves all registered handlers for the specified hook.

                        -
                        Parameters
                        +
                        Parameters:

                        hook (str) – The hook for which to retrieve the handlers.

                        -
                        Returns
                        +
                        Returns:

                        A dict containing all registered handlers mapped by their plugin’s identifier.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -749,16 +749,16 @@
                        -get_implementations(*types, **kwargs)
                        +get_implementations(*types, **kwargs)

                        Get all mixin implementations that implement all of the provided types.

                        -
                        Parameters
                        +
                        Parameters:

                        types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

                        -
                        Returns
                        +
                        Returns:

                        A list of all found implementations

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -766,21 +766,21 @@
                        -get_plugin(identifier, require_enabled=True)
                        +get_plugin(identifier, require_enabled=True)

                        Retrieves the module of the plugin identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

                        -
                        Parameters
                        +
                        Parameters:
                        • identifier (str) – The identifier of the plugin to retrieve.

                        • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

                        -
                        Returns
                        +
                        Returns:

                        The requested plugin module or None

                        -
                        Return type
                        +
                        Return type:

                        module

                        @@ -788,21 +788,21 @@
                        -get_plugin_info(identifier, require_enabled=True)
                        +get_plugin_info(identifier, require_enabled=True)

                        Retrieves the PluginInfo instance identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

                        -
                        Parameters
                        +
                        Parameters:
                        • identifier (str) – The identifier of the plugin to retrieve.

                        • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

                        -
                        Returns
                        +
                        Returns:

                        The requested PluginInfo or None

                        -
                        Return type
                        +
                        Return type:

                        PluginInfo

                        @@ -810,24 +810,24 @@
                        -static has_any_of_hooks(plugin, *hooks)
                        +static has_any_of_hooks(plugin, *hooks)

                        Tests if the plugin contains any of the provided hooks.

                        Uses octoprint.plugin.core.PluginManager.hook_matches_hooks().

                        -
                        Parameters
                        +
                        Parameters:
                        • plugin – plugin to test hooks for

                        • *hooks – hooks to test against

                        -
                        Returns
                        +
                        Returns:

                        True if any of the plugin’s hooks match the provided hooks,

                        False otherwise.

                        -
                        Return type
                        +
                        Return type:

                        (bool)

                        @@ -835,24 +835,24 @@
                        -static has_any_of_mixins(plugin, *mixins)
                        +static has_any_of_mixins(plugin, *mixins)

                        Tests if the plugin has an implementation implementing any of the provided mixins.

                        -
                        Parameters
                        +
                        Parameters:
                        • plugin – plugin for which to check the implementation

                        • *mixins – mixins to test against

                        -
                        Returns
                        +
                        Returns:

                        True if the plugin’s implementation implements any of the

                        provided mixins, False otherwise.

                        -
                        Return type
                        +
                        Return type:

                        (bool)

                        @@ -860,41 +860,41 @@
                        -has_obsolete_hooks(plugin)
                        +has_obsolete_hooks(plugin)

                        Checks whether the plugin uses any obsolete hooks

                        -has_restart_needing_hooks(plugin)
                        +has_restart_needing_hooks(plugin)

                        Checks whether the plugin has any hooks that need a restart on changes

                        -has_restart_needing_implementation(plugin)
                        +has_restart_needing_implementation(plugin)

                        Checks whether the plugin’s implementation needs a restart on changes

                        -static hook_matches_hooks(hook, *hooks)
                        +static hook_matches_hooks(hook, *hooks)

                        Tests if hook matches any of the provided hooks to test for.

                        hook is expected to be an exact hook name.

                        hooks is expected to be a list containing one or more hook names or patterns. That can be either an exact hook name or an fnmatch.fnmatch() pattern.

                        -
                        Parameters
                        +
                        Parameters:
                        • hook – the hook to test

                        • hooks – the hook name patterns to test against

                        -
                        Returns
                        +
                        Returns:

                        True if the hook matches any of the hooks, False otherwise.

                        -
                        Return type
                        +
                        Return type:

                        (bool)

                        @@ -902,25 +902,25 @@
                        -is_obsolete_hook(hook)
                        +is_obsolete_hook(hook)

                        Checks whether a hook is obsolete

                        -is_plugin_marked(name, flag)
                        +is_plugin_marked(name, flag)

                        Checks whether a plugin has been marked with a certain flag.

                        -
                        Parameters
                        +
                        Parameters:
                        • name (str) – the plugin’s identifier

                        • flag (str) – the flag to check

                        -
                        Returns
                        +
                        Returns:

                        True if the plugin has been flagged, False otherwise

                        -
                        Return type
                        +
                        Return type:

                        (boolean)

                        @@ -928,22 +928,22 @@
                        -is_restart_needing_hook(hook)
                        +is_restart_needing_hook(hook)

                        Checks whether a hook needs a restart on changes

                        -is_restart_needing_plugin(plugin)
                        +is_restart_needing_plugin(plugin)

                        Checks whether the plugin needs a restart on changes

                        -mark_plugin(name, **flags)
                        +mark_plugin(name, **flags)

                        Mark plugin name with an arbitrary number of flags.

                        -
                        Parameters
                        +
                        Parameters:
                        • name (str) – plugin identifier

                        • **flags (dict) – dictionary of flag names and values

                        • @@ -954,21 +954,21 @@
                          -property plugin_hooks
                          +property plugin_hooks

                          Returns: (dict) dictionary of registered hooks and their handlers

                          -property plugins
                          +property plugins

                          Returns: (list) list of enabled and disabled registered plugins

                          -register_message_receiver(client)
                          +register_message_receiver(client)

                          Registers a client for receiving plugin messages. The client needs to be a callable accepting two input arguments, plugin (the sending plugin’s identifier) and data (the message itself), and one optional keyword argument, permissions (an optional list of permissions to test against).

                          @@ -976,10 +976,10 @@
                          -reload_plugins(startup=False, initialize_implementations=True, force_reload=None)
                          +reload_plugins(startup=False, initialize_implementations=True, force_reload=None)

                          Reloads plugins, detecting newly added ones in the process.

                          -
                          Parameters
                          +
                          Parameters:
                          • startup (boolean) – whether this is called during startup of the platform

                          • initialize_implementations (boolean) – whether plugin implementations should be initialized

                          • @@ -991,11 +991,11 @@
                            -send_plugin_message(plugin, data, permissions=None)
                            +send_plugin_message(plugin, data, permissions=None)

                            Sends data in the name of plugin to all currently registered message receivers by invoking them with the three arguments.

                            -
                            Parameters
                            +
                            Parameters:
                            • plugin (str) – The sending plugin’s identifier.

                            • data (object) – The message.

                            • @@ -1007,7 +1007,7 @@
                              -unregister_message_receiver(client)
                              +unregister_message_receiver(client)

                              Unregisters a client for receiving plugin messages.

                              @@ -1015,14 +1015,14 @@
                              -class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)
                              +class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)

                              The PluginInfo class wraps all available information about a registered plugin.

                              This includes its meta data (like name, description, version, etc) as well as the actual plugin extensions like implementations, hooks and helpers.

                              It works on Python module objects and extracts the relevant data from those via accessing the control properties.

                              -
                              Parameters
                              +
                              Parameters:
                              • key (str) – Identifier of the plugin

                              • location (str) – Installation folder of the plugin

                              • @@ -1038,14 +1038,14 @@
                              -property author
                              +property author

                              Author of the plugin. Will be taken from the author attribute of the plugin module as defined in attr_author if available, otherwise from the author supplied during construction. May be None.

                              -
                              Returns
                              +
                              Returns:

                              Author of the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1053,30 +1053,30 @@
                              -blacklisted
                              +blacklisted

                              Whether the plugin is blacklisted.

                              -bundled
                              +bundled

                              Whether this plugin is bundled with OctoPrint.

                              -property check
                              +property check

                              Method for pre-load check of plugin. Will be taken from the check attribute of the plugin module as defined in attr_check if available, otherwise a lambda always returning True is returned.

                              -
                              Returns
                              +
                              Returns:

                              Check method for the plugin module which should return True if the plugin can be loaded, False

                              otherwise.

                              -
                              Return type
                              +
                              Return type:

                              callable

                              @@ -1084,15 +1084,15 @@
                              -property description
                              +property description

                              Description of the plugin. Will be taken from the description attribute of the plugin module as defined in attr_description if available, otherwise from the description supplied during construction. May be None.

                              -
                              Returns
                              +
                              Returns:

                              Description of the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1100,14 +1100,14 @@
                              -property disable
                              +property disable

                              Method for disabling the plugin module. Will be taken from the disable attribute of the plugin module as defined in attr_disable if available, otherwise a no-operation lambda will be returned.

                              -
                              Returns
                              +
                              Returns:

                              Disable method for the plugin module.

                              -
                              Return type
                              +
                              Return type:

                              callable

                              @@ -1115,15 +1115,15 @@
                              -property disabling_discouraged
                              +property disabling_discouraged

                              Reason why disabling of this plugin is discouraged. Only evaluated for bundled plugins! Will be taken from the disabling_discouraged attribute of the plugin module as defined in attr_disabling_discouraged if available. False if unset or plugin not bundled.

                              -
                              Returns
                              +
                              Returns:

                              Reason why disabling this plugin is discouraged (only for bundled plugins)

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1131,14 +1131,14 @@
                              -property enable
                              +property enable

                              Method for enabling the plugin module. Will be taken from the enable attribute of the plugin module as defined in attr_enable if available, otherwise a no-operation lambda will be returned.

                              -
                              Returns
                              +
                              Returns:

                              Enable method for the plugin module.

                              -
                              Return type
                              +
                              Return type:

                              callable

                              @@ -1146,33 +1146,33 @@
                              -enabled
                              +enabled

                              Whether the plugin is enabled.

                              -flags
                              +flags

                              Additional flags assigned to the plugin through config.

                              -forced_disabled
                              +forced_disabled

                              Whether the plugin has been force disabled by the system, e.g. due to safe mode blacklisting.

                              -get_hook(hook)
                              +get_hook(hook)
                              -
                              Parameters
                              +
                              Parameters:

                              hook (str) – Hook to return.

                              -
                              Returns
                              +
                              Returns:

                              Handler for the requested hook or None if no handler is registered.

                              -
                              Return type
                              +
                              Return type:

                              callable or None

                              @@ -1180,15 +1180,15 @@
                              -get_implementation(*types)
                              +get_implementation(*types)
                              -
                              Parameters
                              +
                              Parameters:

                              types (list) – List of Plugin sub classes the implementation needs to implement.

                              -
                              Returns
                              +
                              Returns:

                              The plugin’s implementation if it matches all of the requested types, None otherwise.

                              -
                              Return type
                              +
                              Return type:

                              object

                              @@ -1196,14 +1196,14 @@
                              -property helpers
                              +property helpers

                              Helpers provided by the plugin. Will be taken from the helpers attribute of the plugin module as defined in attr_helpers if available, otherwise an empty list is returned.

                              -
                              Returns
                              +
                              Returns:

                              Helpers provided by the plugin.

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -1211,13 +1211,13 @@
                              -property hidden
                              +property hidden

                              Hidden flag.

                              -
                              Returns
                              +
                              Returns:

                              Whether the plugin should be flagged as hidden or not

                              -
                              Return type
                              +
                              Return type:

                              bool

                              @@ -1225,14 +1225,14 @@
                              -property hooks
                              +property hooks

                              Hooks provided by the plugin. Will be taken from the hooks attribute of the plugin module as defined in attr_hooks if available, otherwise an empty dictionary is returned.

                              -
                              Returns
                              +
                              Returns:

                              Hooks provided by the plugin.

                              -
                              Return type
                              +
                              Return type:

                              dict

                              @@ -1240,14 +1240,14 @@
                              -property implementation
                              +property implementation

                              Implementation provided by the plugin. Will be taken from the implementation attribute of the plugin module as defined in attr_implementation if available, otherwise None is returned.

                              -
                              Returns
                              +
                              Returns:

                              Implementation provided by the plugin.

                              -
                              Return type
                              +
                              Return type:

                              object

                              @@ -1255,26 +1255,26 @@
                              -incompatible
                              +incompatible

                              Whether this plugin has been detected as incompatible.

                              -invalid_syntax
                              +invalid_syntax

                              Whether invalid syntax was encountered while trying to load this plugin.

                              -property license
                              +property license

                              License of the plugin. Will be taken from the license attribute of the plugin module as defined in attr_license if available, otherwise from the license supplied during construction. May be None.

                              -
                              Returns
                              +
                              Returns:

                              License of the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1282,14 +1282,14 @@
                              -property load
                              +property load

                              Method for loading the plugin module. Will be taken from the load attribute of the plugin module as defined in attr_load if available, otherwise a no-operation lambda will be returned.

                              -
                              Returns
                              +
                              Returns:

                              Load method for the plugin module.

                              -
                              Return type
                              +
                              Return type:

                              callable

                              @@ -1297,13 +1297,13 @@
                              -loaded
                              +loaded

                              Whether this plugin has been loaded.

                              -long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))
                              +long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))

                              Long string representation of the plugin’s information. Will return a string of the format <enabled><str(self)><bundled><location>.

                              enabled, bundled and location will only be displayed if the corresponding flags are set to True. The will be filled from enabled_str, bundled_str and location_str as follows:

                              @@ -1320,7 +1320,7 @@
                              -
                              Parameters
                              +
                              Parameters:
                              • show_enabled (boolean) – whether to show the enabled part

                              • enabled_strs (tuple) – the 2-tuple containing the two possible strings to use for displaying the enabled state

                              • @@ -1330,10 +1330,10 @@
                              • location_str (str) – the format string to use for displaying the plugin’s installation location

                              -
                              Returns
                              +
                              Returns:

                              The long string representation of the plugin as described above

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -1341,26 +1341,26 @@
                              -property looks_like_plugin
                              +property looks_like_plugin

                              Returns whether the plugin actually looks like a plugin (has control properties) or not.

                              -managable
                              +managable

                              Whether this plugin can be managed by OctoPrint.

                              -property name
                              +property name

                              Human readable name of the plugin. Will be taken from name attribute of the plugin module if available, otherwise from the name supplied during construction with a fallback to key.

                              -
                              Returns
                              +
                              Returns:

                              Name of the plugin, fallback is the plugin’s identifier.

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -1368,33 +1368,33 @@
                              -needs_restart
                              +needs_restart

                              Whether this plugin needs a restart of OctoPrint after enabling/disabling.

                              -origin
                              +origin

                              The origin from which this plugin was loaded, either a EntryPointOrigin, FolderOrigin or ModuleOrigin instance. Set during loading, initially None.

                              -property parsed_metadata
                              +property parsed_metadata

                              The plugin metadata parsed from the plugin’s AST.

                              -property privacypolicy
                              +property privacypolicy

                              Privacy Policy URL of the plugin. Will be taken from the privacy policy attribute of the plugin module as defined in attr_privacypolicy if available. May be None.

                              -
                              Returns
                              +
                              Returns:

                              Privacy Policy URL of the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1402,14 +1402,14 @@
                              -property pythoncompat
                              +property pythoncompat

                              Python compatibility string of the plugin module as defined in attr_pythoncompat if available, otherwise defaults to >=2.7,<3.

                              -
                              Returns
                              +
                              Returns:

                              Python compatibility string of the plugin

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -1417,14 +1417,14 @@
                              -property unload
                              +property unload

                              Method for unloading the plugin module. Will be taken from the unload attribute of the plugin module as defined in attr_unload if available, otherwise a no-operation lambda will be returned.

                              -
                              Returns
                              +
                              Returns:

                              Unload method for the plugin module.

                              -
                              Return type
                              +
                              Return type:

                              callable

                              @@ -1432,14 +1432,14 @@
                              -property url
                              +property url

                              Website URL for the plugin. Will be taken from the url attribute of the plugin module as defined in attr_url if available, otherwise from the url supplied during construction. May be None.

                              -
                              Returns
                              +
                              Returns:

                              Website URL for the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1447,7 +1447,7 @@
                              -validate(phase, additional_validators=None)
                              +validate(phase, additional_validators=None)

                              Validates the plugin for various validation phases.

                              phase can be one of before_import, before_load, after_load.

                              Used by PluginManager, should not be used elsewhere.

                              @@ -1455,14 +1455,14 @@
                              -property version
                              +property version

                              Version of the plugin. Will be taken from the version attribute of the plugin module as defined in attr_version if available, otherwise from the version supplied during construction. May be None.

                              -
                              Returns
                              +
                              Returns:

                              Version of the plugin.

                              -
                              Return type
                              +
                              Return type:

                              str or None

                              @@ -1472,35 +1472,35 @@
                              -class octoprint.plugin.core.Plugin
                              +class octoprint.plugin.core.Plugin

                              The parent class of all plugin implementations.

                              -_identifier
                              +_identifier

                              The identifier of the plugin. Injected by the plugin core system upon initialization of the implementation.

                              -_plugin_name
                              +_plugin_name

                              The name of the plugin. Injected by the plugin core system upon initialization of the implementation.

                              -_plugin_version
                              +_plugin_version

                              The version of the plugin. Injected by the plugin core system upon initialization of the implementation.

                              -_basefolder
                              +_basefolder

                              The base folder of the plugin. Injected by the plugin core system upon initialization of the implementation.

                              -_logger
                              +_logger

                              The logger instance to use, with the logging name set to the PluginManager.logging_prefix of the PluginManager concatenated with _identifier. Injected by the plugin core system upon initialization of the implementation.

                              @@ -1508,19 +1508,19 @@
                              -initialize()
                              +initialize()

                              Called by the plugin core after performing all injections. Override this to initialize your implementation.

                              -on_plugin_disabled()
                              +on_plugin_disabled()

                              Called by the plugin core when the plugin was disabled. Override this to react to the event.

                              -on_plugin_enabled()
                              +on_plugin_enabled()

                              Called by the plugin core when the plugin was enabled. Override this to react to the event.

                              @@ -1528,28 +1528,28 @@
                              -class octoprint.plugin.core.RestartNeedingPlugin
                              +class octoprint.plugin.core.RestartNeedingPlugin

                              Mixin for plugin types that need a restart after enabling/disabling them.

                              -class octoprint.plugin.core.SortablePlugin
                              +class octoprint.plugin.core.SortablePlugin

                              Mixin for plugin types that are sortable.

                              -get_sorting_key(context=None)
                              +get_sorting_key(context=None)

                              Returns the sorting key to use for the implementation in the specified context.

                              May return None if order is irrelevant.

                              Implementations returning None will be ordered by plugin identifier after all implementations which did return a sorting key value that was not None sorted by that.

                              -
                              Parameters
                              +
                              Parameters:

                              context (str) – The sorting context for which to provide the sorting key value.

                              -
                              Returns
                              +
                              Returns:

                              An integer signifying the sorting key value of the plugin

                              (sorting will be done ascending), or None if the implementation doesn’t care about calling order.

                              @@ -1557,7 +1557,7 @@

                              -
                              Return type
                              +
                              Return type:

                              int or None

                              @@ -1567,96 +1567,96 @@
                        -

                        octoprint.plugin.types

                        +

                        octoprint.plugin.types

                        This module bundles all of OctoPrint’s supported plugin implementation types as well as their common parent class, OctoPrintPlugin.

                        Please note that the plugin implementation types are documented in the section Available plugin mixins.

                        -class octoprint.plugin.types.OctoPrintPlugin
                        +class octoprint.plugin.types.OctoPrintPlugin

                        Bases: Plugin

                        The parent class of all OctoPrint plugin mixins.

                        -_plugin_manager
                        +_plugin_manager

                        The PluginManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_printer_profile_manager
                        +_printer_profile_manager

                        The PrinterProfileManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_event_bus
                        +_event_bus

                        The EventManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_analysis_queue
                        +_analysis_queue

                        The AnalysisQueue instance. Injected by the plugin core system upon initialization of the implementation.

                        -_slicing_manager
                        +_slicing_manager

                        The SlicingManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_file_manager
                        +_file_manager

                        The FileManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_printer
                        +_printer

                        The PrinterInterface instance. Injected by the plugin core system upon initialization of the implementation.

                        -_app_session_manager
                        +_app_session_manager

                        The SessionManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_plugin_lifecycle_manager
                        +_plugin_lifecycle_manager

                        The LifecycleManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_user_manager
                        +_user_manager

                        The UserManager instance. Injected by the plugin core system upon initialization of the implementation.

                        -_connectivity_checker
                        +_connectivity_checker

                        The ConnectivityChecker instance. Injected by the plugin core system upon initialization of the implementation.

                        -_data_folder
                        +_data_folder

                        Path to the data folder for the plugin to use for any data it might have to persist. Should always be accessed through get_plugin_data_folder() since that function will also ensure that the data folder actually exists and if not creating it before returning it. Injected by the plugin core system upon initialization of the @@ -1665,7 +1665,7 @@

                        -get_plugin_data_folder()
                        +get_plugin_data_folder()

                        Retrieves the path to a data folder specifically for the plugin, ensuring it exists and if not creating it before returning it.

                        Plugins may use this folder for storing additional data they need for their operation.

                        @@ -1673,7 +1673,7 @@
                        -on_plugin_pending_uninstall()
                        +on_plugin_pending_uninstall()

                        Called by the plugin manager when the plugin is pending uninstall. Override this to react to the event.

                        NOT called during plugin uninstalls triggered outside of OctoPrint!

                        @@ -1682,7 +1682,7 @@
                        -class octoprint.plugin.types.ReloadNeedingPlugin
                        +class octoprint.plugin.types.ReloadNeedingPlugin

                        Bases: Plugin

                        Mixin for plugin types that need a reload of the UI after enabling/disabling them.

                        diff --git a/maintenance/modules/printer.html b/maintenance/modules/printer.html index 163f545bd..ca7159081 100644 --- a/maintenance/modules/printer.html +++ b/maintenance/modules/printer.html @@ -1,26 +1,26 @@ - + - + octoprint.printer — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -236,14 +236,14 @@
                        -

                        octoprint.printer

                        +

                        octoprint.printer

                        This module defines the interface for communicating with a connected printer.

                        The communication is in fact divided in two components, the PrinterInterface and a deeper lying communication layer. However, plugins should only ever need to use the PrinterInterface as the abstracted version of the actual printer communication.

                        -octoprint.printer.get_connection_options()
                        +octoprint.printer.get_connection_options()

                        Deprecated since version 1.3.0: Replaced by PrinterInterface.get_connection_options()

                        @@ -251,18 +251,18 @@
                        -class octoprint.printer.PrinterInterface
                        +class octoprint.printer.PrinterInterface

                        The PrinterInterface represents the developer interface to the Printer instance.

                        -can_modify_file(path, sd, *args, **kwargs)
                        +can_modify_file(path, sd, *args, **kwargs)

                        Determines whether the path (on the printer’s SD if sd is True) may be modified (updated or deleted) or not.

                        A file that is currently being printed is not allowed to be modified. Any other file or the current file when it is not being printed is fine though.

                        -
                        Since
                        +
                        Since:

                        1.3.2

                        @@ -274,13 +274,13 @@ versions!

                        -
                        Parameters
                        +
                        Parameters:
                        • path (str) – path in storage of the file to check

                        • sd (bool) – True if to check against SD storage, False otherwise

                        -
                        Returns
                        +
                        Returns:

                        (bool) True if the file may be modified, False otherwise

                        @@ -288,10 +288,10 @@
                        -cancel_print(tags=None, *args, **kwargs)
                        +cancel_print(tags=None, *args, **kwargs)

                        Cancels the current print job.

                        -
                        Parameters
                        +
                        Parameters:

                        tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                        @@ -299,10 +299,10 @@
                        -change_tool(tool, tags=None, *args, **kwargs)
                        +change_tool(tool, tags=None, *args, **kwargs)

                        Switch the currently active tool (for which extrude commands will apply).

                        -
                        Parameters
                        +
                        Parameters:
                        • tool (str) – The tool to switch to, matching the regex “tool[0-9]+” (e.g. “tool0”, “tool1”, …)

                        • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                        • @@ -313,10 +313,10 @@
                          -commands(commands, tags=None, force=False, *args, **kwargs)
                          +commands(commands, tags=None, force=False, *args, **kwargs)

                          Sends the provided commands to the printer.

                          -
                          Parameters
                          +
                          Parameters:
                          • commands (str, list) – The commands to send. Might be a single command provided just as a string or a list of multiple commands to send in order.

                          • @@ -329,12 +329,12 @@
                            -connect(port=None, baudrate=None, profile=None, *args, **kwargs)
                            +connect(port=None, baudrate=None, profile=None, *args, **kwargs)

                            Connects to the printer, using the specified serial port, baudrate and printer profile. If a connection is already established, that connection will be closed prior to connecting anew with the provided parameters.

                            -
                            Parameters
                            +
                            Parameters:
                            • port (str) – Name of the serial port to connect to. If not provided, an auto detection will be attempted.

                            • baudrate (int) – Baudrate to connect with. If not provided, an auto detection will be attempted.

                            • @@ -347,20 +347,20 @@
                              -disconnect(*args, **kwargs)
                              +disconnect(*args, **kwargs)

                              Disconnects from the printer. Does nothing if no connection is currently established.

                              -extrude(amount, speed=None, tags=None, *args, **kwargs)
                              +extrude(amount, speed=None, tags=None, *args, **kwargs)

                              Extrude amount millimeters of material from the tool.

                              -
                              Parameters
                              +
                              Parameters:
                              • amount (int, float) – The amount of material to extrude in mm

                              • speed (int, None) – Speed at which to extrude (F parameter). If set to None (or left out)

                              • -
                              • used. (the maximum speed of E axis from the printer profile will be) –

                              • +
                              • used. (the maximum speed of E axis from the printer profile will be)

                              • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                              @@ -369,7 +369,7 @@
                              -fake_ack(*args, **kwargs)
                              +fake_ack(*args, **kwargs)

                              Fakes an acknowledgment for the communication layer. If the communication between OctoPrint and the printer gets stuck due to lost “ok” responses from the server due to communication issues, this can be used to get things going again.

                              @@ -377,10 +377,10 @@
                              -feed_rate(factor, tags=None, *args, **kwargs)
                              +feed_rate(factor, tags=None, *args, **kwargs)

                              Sets the factor for the printer’s feed rate.

                              -
                              Parameters
                              +
                              Parameters:
                              • factor (int, float) – The factor for the feed rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                              • @@ -392,10 +392,10 @@
                                -flow_rate(factor, tags=None, *args, **kwargs)
                                +flow_rate(factor, tags=None, *args, **kwargs)

                                Sets the factor for the printer’s flow rate.

                                -
                                Parameters
                                +
                                Parameters:
                                • factor (int, float) – The factor for the flow rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                                • @@ -407,7 +407,7 @@
                                  -classmethod get_connection_options(*args, **kwargs)
                                  +classmethod get_connection_options(*args, **kwargs)

                                  Retrieves the available ports, baudrates, preferred port and baudrate for connecting to the printer.

                                  Returned dict has the following structure:

                                  ports: <list of available serial ports>
                                  @@ -418,10 +418,10 @@
                                   
                                  -
                                  Returns
                                  +
                                  Returns:

                                  A dictionary holding the connection options in the structure specified above

                                  -
                                  Return type
                                  +
                                  Return type:

                                  (dict)

                                  @@ -429,9 +429,9 @@
                                  -get_current_connection(*args, **kwargs)
                                  +get_current_connection(*args, **kwargs)
                                  -
                                  Returns
                                  +
                                  Returns:

                                  (tuple) The current connection information as a 4-tuple (connection_string, port, baudrate, printer_profile).

                                  If the printer is currently not connected, the tuple will be ("Closed", None, None, None).

                                  @@ -443,9 +443,9 @@
                                  -get_current_data(*args, **kwargs)
                                  +get_current_data(*args, **kwargs)
                                  -
                                  Returns
                                  +
                                  Returns:

                                  (dict) The current state data.

                                  @@ -453,9 +453,9 @@
                                  -get_current_job(*args, **kwargs)
                                  +get_current_job(*args, **kwargs)
                                  -
                                  Returns
                                  +
                                  Returns:

                                  (dict) The data of the current job.

                                  @@ -463,9 +463,9 @@
                                  -get_current_temperatures(*args, **kwargs)
                                  +get_current_temperatures(*args, **kwargs)
                                  -
                                  Returns
                                  +
                                  Returns:

                                  (dict) The current temperatures.

                                  @@ -473,7 +473,7 @@
                                  -get_state_id(*args, **kwargs)
                                  +get_state_id(*args, **kwargs)

                                  Identifier of the current communication state.

                                  Possible values are:

                                  @@ -495,7 +495,7 @@
                        -
                        Returns
                        +
                        Returns:

                        (str) A unique identifier corresponding to the current communication state.

                        @@ -503,9 +503,9 @@
                        -get_state_string(*args, **kwargs)
                        +get_state_string(*args, **kwargs)
                        -
                        Returns
                        +
                        Returns:

                        (str) A human readable string corresponding to the current communication state.

                        @@ -513,9 +513,9 @@
                        -get_temperature_history(*args, **kwargs)
                        +get_temperature_history(*args, **kwargs)
                        -
                        Returns
                        +
                        Returns:

                        (list) The temperature history.

                        @@ -523,15 +523,15 @@
                        -get_transport(*args, **kwargs)
                        +get_transport(*args, **kwargs)

                        Returns the communication layer’s transport object, if a connection is currently established.

                        Note that this doesn’t have to necessarily be a serial.Serial instance, it might also be something different, so take care to do instance checks before attempting to access any properties or methods.

                        -
                        Returns
                        +
                        Returns:

                        The communication layer’s transport object

                        -
                        Return type
                        +
                        Return type:

                        object

                        @@ -539,10 +539,10 @@
                        -home(axes, tags=None, *args, **kwargs)
                        +home(axes, tags=None, *args, **kwargs)

                        Homes the specified printer axes.

                        -
                        Parameters
                        +
                        Parameters:
                        • axes (str, list) – The axis or axes to home, each of which must converted to lower case must match one of “x”, “y”, “z” and “e”

                        • @@ -554,9 +554,9 @@
                          -is_cancelling(*args, **kwargs)
                          +is_cancelling(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently cancelling a print.

                          @@ -564,9 +564,9 @@
                          -is_closed_or_error(*args, **kwargs)
                          +is_closed_or_error(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently disconnected and/or in an error state.

                          @@ -574,11 +574,11 @@
                          -is_current_file(path, sd, *args, **kwargs)
                          +is_current_file(path, sd, *args, **kwargs)

                          Returns whether the provided path (on the printer’s SD if sd is True) is the currently selected file for printing.

                          -
                          Since
                          +
                          Since:

                          1.3.2

                          @@ -590,13 +590,13 @@ versions!

                          -
                          Parameters
                          +
                          Parameters:
                          • path (str) – path in storage of the file to check

                          • sd (bool) – True if to check against SD storage, False otherwise

                          -
                          Returns
                          +
                          Returns:

                          (bool) True if the file is currently selected, False otherwise

                          @@ -604,9 +604,9 @@
                          -is_error(*args, **kwargs)
                          +is_error(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently in an error state.

                          @@ -614,9 +614,9 @@
                          -is_operational(*args, **kwargs)
                          +is_operational(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently connected and available.

                          @@ -624,9 +624,9 @@
                          -is_paused(*args, **kwargs)
                          +is_paused(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently paused.

                          @@ -634,9 +634,9 @@
                          -is_pausing(*args, **kwargs)
                          +is_pausing(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently pausing a print.

                          @@ -644,9 +644,9 @@
                          -is_printing(*args, **kwargs)
                          +is_printing(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently printing.

                          @@ -654,9 +654,9 @@
                          -is_ready(*args, **kwargs)
                          +is_ready(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (boolean) Whether the printer is currently operational and ready for new print jobs (not printing).

                          @@ -664,7 +664,7 @@
                          -job_on_hold(blocking=True, *args, **kwargs)
                          +job_on_hold(blocking=True, *args, **kwargs)

                          Contextmanager that allows executing code while printing while making sure that no commands from the file being printed are continued to be sent to the printer. Note that this will only work for local files, NOT SD files.

                          @@ -681,7 +681,7 @@ don’t want to block on acquire, be sure to set blocking to False and catch the RuntimeException thrown if the lock can’t be acquired.

                          -
                          Parameters
                          +
                          Parameters:

                          blocking (bool) – Whether to block while attempting to acquire the lock (default) or not

                          @@ -689,10 +689,10 @@
                          -jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)
                          +jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)

                          Jogs the specified printer axis by the specified amount in mm.

                          -
                          Parameters
                          +
                          Parameters:
                          • axes (dict) – Axes and distances to jog, keys are axes (“x”, “y”, “z”), values are distances in mm

                          • relative (bool) – Whether to interpret the distance values as relative (true, default) or absolute (false) @@ -708,17 +708,17 @@

                            -log_lines(*lines)
                            +log_lines(*lines)

                            Logs the provided lines to the printer log and serial.log :param *lines: the lines to log

                            -pause_print(tags=None, *args, **kwargs)
                            +pause_print(tags=None, *args, **kwargs)

                            Pauses the current print job if it is currently running, does nothing otherwise.

                            -
                            Parameters
                            +
                            Parameters:

                            tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                            @@ -726,10 +726,10 @@
                            -register_callback(callback, *args, **kwargs)
                            +register_callback(callback, *args, **kwargs)

                            Registers a PrinterCallback with the instance.

                            -
                            Parameters
                            +
                            Parameters:

                            callback (PrinterCallback) – The callback object to register.

                            @@ -737,10 +737,10 @@
                            -resume_print(tags=None, *args, **kwargs)
                            +resume_print(tags=None, *args, **kwargs)

                            Resumes the current print job if it is currently paused, does nothing otherwise.

                            -
                            Parameters
                            +
                            Parameters:

                            tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                            @@ -748,20 +748,20 @@
                            -script(name, context=None, tags=None, *args, **kwargs)
                            +script(name, context=None, tags=None, *args, **kwargs)

                            Sends the GCODE script name to the printer.

                            The script will be run through the template engine, the rendering context can be extended by providing a context with additional template variables to use.

                            If the script is unknown, an UnknownScriptException will be raised.

                            -
                            Parameters
                            +
                            Parameters:
                            • name (str) – The name of the GCODE script to render.

                            • context (dict) – An optional context of additional template variables to provide to the renderer.

                            • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                            -
                            Raises
                            +
                            Raises:

                            UnknownScriptException – There is no GCODE script with name name

                            @@ -769,11 +769,11 @@
                            -select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)
                            +select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)

                            Selects the specified path for printing, specifying if the file is to be found on the sd or not. Optionally can also directly start the print after selecting the file.

                            -
                            Parameters
                            +
                            Parameters:
                            • path (str) – The path to select for printing. Either an absolute path or relative path to a local file in the uploads folder or a filename on the printer’s SD card.

                            • @@ -783,7 +783,7 @@
                            • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                            -
                            Raises
                            +
                            Raises:
                            • InvalidFileType – if the file is not a machinecode file and hence cannot be printed

                            • InvalidFileLocation – if an absolute path was provided and not contained within local storage or @@ -795,10 +795,10 @@

                              -send_initial_callback(callback)
                              +send_initial_callback(callback)

                              Sends the initial printer update to PrinterCallback.

                              -
                              Parameters
                              +
                              Parameters:

                              callback (PrinterCallback) – The callback object to send initial data to.

                              @@ -806,7 +806,7 @@
                              -set_job_on_hold(value, blocking=True, *args, **kwargs)
                              +set_job_on_hold(value, blocking=True, *args, **kwargs)

                              Setter for finer control over putting jobs on hold. Set to True to ensure that no commands from the file being printed are continued to be sent to the printer. Set to False to resume. Note that this will only work for local files, NOT SD files.

                              @@ -825,13 +825,13 @@

                              Just like job_on_hold() this should be used sparingly and only for very specific situations. If you abuse this, you WILL cause print quality issues!

                              -
                              Parameters
                              +
                              Parameters:
                              • value (bool) – The value to set

                              • blocking (bool) – Whether to block while attempting to set the value (default) or not

                              -
                              Returns
                              +
                              Returns:

                              (bool) Whether the value could be set successfully (True) or a timeout was encountered (False)

                              @@ -839,10 +839,10 @@
                              -set_temperature(heater, value, tags=None, *args, **kwargs)
                              +set_temperature(heater, value, tags=None, *args, **kwargs)

                              Sets the target temperature on the specified heater to the given value in celsius.

                              -
                              Parameters
                              +
                              Parameters:
                              • heater (str) – The heater for which to set the target temperature. Either “bed” for setting the bed temperature, “chamber” for setting the temperature of the heated enclosure or something matching the @@ -858,10 +858,10 @@

                                -set_temperature_offset(offsets=None, tags=None, *args, **kwargs)
                                +set_temperature_offset(offsets=None, tags=None, *args, **kwargs)

                                Sets the temperature offsets to apply to target temperatures read from a GCODE file while printing.

                                -
                                Parameters
                                +
                                Parameters:
                                • offsets (dict) – A dictionary specifying the offsets to apply. Keys must match the format for the heater parameter to set_temperature(), so “bed” for the offset for the bed target temperature and @@ -874,10 +874,10 @@

                                  -start_print(tags=None, *args, **kwargs)
                                  +start_print(tags=None, *args, **kwargs)

                                  Starts printing the currently selected file. If no file is currently selected, does nothing.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                                  @@ -885,10 +885,10 @@
                                  -toggle_pause_print(tags=None, *args, **kwargs)
                                  +toggle_pause_print(tags=None, *args, **kwargs)

                                  Pauses the current print job if it is currently running or resumes it if it is currently paused.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                                  @@ -896,10 +896,10 @@
                                  -unregister_callback(callback, *args, **kwargs)
                                  +unregister_callback(callback, *args, **kwargs)

                                  Unregisters a PrinterCallback from the instance.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  callback (PrinterCallback) – The callback object to unregister.

                                  @@ -907,31 +907,31 @@
                                  -unselect_file(*args, **kwargs)
                                  +unselect_file(*args, **kwargs)

                                  Unselects and currently selected file.

                                  -valid_axes = ('x', 'y', 'z', 'e')
                                  +valid_axes = ('x', 'y', 'z', 'e')

                                  Valid axes identifiers.

                                  -valid_heater_regex = re.compile('^(tool\\d*|bed|chamber)$')
                                  +valid_heater_regex = re.compile('^(tool\\d*|bed|chamber)$')

                                  Regex for valid heater identifiers.

                                  -valid_heater_regex_no_current = re.compile('^(tool\\d+|bed|chamber)$')
                                  +valid_heater_regex_no_current = re.compile('^(tool\\d+|bed|chamber)$')

                                  Regex for valid heater identifiers without the current heater.

                                  -valid_tool_regex = re.compile('^(tool\\d+)$')
                                  +valid_tool_regex = re.compile('^(tool\\d+)$')

                                  Regex for valid tool identifiers.

                                  @@ -939,13 +939,13 @@
                                  -class octoprint.printer.PrinterCallback
                                  +class octoprint.printer.PrinterCallback
                                  -on_printer_add_log(data)
                                  +on_printer_add_log(data)

                                  Called when the PrinterInterface receives a new communication log entry from the communication layer.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  data (str) – The received log line.

                                  @@ -953,10 +953,10 @@
                                  -on_printer_add_message(data)
                                  +on_printer_add_message(data)

                                  Called when the PrinterInterface receives a new message from the communication layer.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  data (str) – The received message.

                                  @@ -964,7 +964,7 @@
                                  -on_printer_add_temperature(data)
                                  +on_printer_add_temperature(data)

                                  Called when the PrinterInterface receives a new temperature data set from the communication layer.

                                  data is a dict of the following structure:

                                  tool0:
                                  @@ -980,7 +980,7 @@
                                   
                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  data (dict) – A dict of all current temperatures in the format as specified above

                                  @@ -988,10 +988,10 @@
                                  -on_printer_received_registered_message(name, output)
                                  +on_printer_received_registered_message(name, output)

                                  Called when the PrinterInterface received a registered message, e.g. from a feedback command.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • name (str) – Name of the registered message (e.g. the feedback command)

                                  • output (str) – Output for the registered message

                                  • @@ -1002,7 +1002,7 @@
                                    -on_printer_send_current_data(data)
                                    +on_printer_send_current_data(data)

                                    Called when the internal state of the PrinterInterface changes, due to changes in the printer state, temperatures, log lines, job progress etc. Updates via this method are guaranteed to be throttled to a maximum of 2 calls per second.

                                    @@ -1038,7 +1038,7 @@
                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    data (dict) – The current data in the format as specified above.

                                    @@ -1046,7 +1046,7 @@
                                    -on_printer_send_initial_data(data)
                                    +on_printer_send_initial_data(data)

                                    Called when registering as a callback with the PrinterInterface to receive the initial data (state, log and temperature history etc) from the printer.

                                    data is a dict of the following structure:

                                    @@ -1065,7 +1065,7 @@
                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    data (dict) – The initial data in the format as specified above.

                                    @@ -1075,14 +1075,14 @@
                    -

                    octoprint.printer.profile

                    +

                    octoprint.printer.profile

                    This module contains printer profile related code.

                    A printer profile is a dict of the following structure:

                    -

                  Key

                  +
                  ---+++ @@ -1248,24 +1248,24 @@

                  Name

                  -class octoprint.printer.profile.PrinterProfileManager
                  +class octoprint.printer.profile.PrinterProfileManager

                  Manager for printer profiles. Offers methods to select the globally used printer profile and to list, add, remove, load and save printer profiles.

                  -class octoprint.printer.profile.BedFormFactor
                  +class octoprint.printer.profile.BedFormFactor

                  Valid values for bed form factor

                  -CIRCULAR = 'circular'
                  +CIRCULAR = 'circular'

                  Circular bed

                  -RECTANGULAR = 'rectangular'
                  +RECTANGULAR = 'rectangular'

                  Rectangular bed

                  @@ -1273,17 +1273,17 @@
                  -class octoprint.printer.profile.BedOrigin
                  +class octoprint.printer.profile.BedOrigin

                  Valid values for bed origin

                  -CENTER = 'center'
                  +CENTER = 'center'

                  Origin at the center of the bed when looking from top

                  -LOWERLEFT = 'lowerleft'
                  +LOWERLEFT = 'lowerleft'

                  Origin at lower left corner of the bed when looking from the top

                  @@ -1291,19 +1291,19 @@
                  -class octoprint.printer.profile.SaveError
                  +class octoprint.printer.profile.SaveError

                  Saving a profile failed

                  -class octoprint.printer.profile.CouldNotOverwriteError
                  +class octoprint.printer.profile.CouldNotOverwriteError

                  Overwriting of a profile not allowed

                  -class octoprint.printer.profile.InvalidProfileError
                  +class octoprint.printer.profile.InvalidProfileError

                  Profile invalid

                  diff --git a/maintenance/modules/schema.html b/maintenance/modules/schema.html index e4fdf710f..9367b1584 100644 --- a/maintenance/modules/schema.html +++ b/maintenance/modules/schema.html @@ -1,26 +1,26 @@ - + - + octoprint.schema — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -77,8 +77,9 @@
                • octoprint.printer.profile
                • octoprint.schema @@ -95,6 +96,9 @@
                • Config.feature
                • Config.folder
                • Config.gcodeAnalysis
                • +
                • Config.model_computed_fields
                • +
                • Config.model_config
                • +
                • Config.model_fields
                • Config.plugins
                • Config.printerParameters
                • Config.printerProfiles
                • @@ -118,6 +122,9 @@
                • AccessControlConfig.groupManager
                • AccessControlConfig.groupfile
                • AccessControlConfig.localNetworks
                • +
                • AccessControlConfig.model_computed_fields
                • +
                • AccessControlConfig.model_config
                • +
                • AccessControlConfig.model_fields
                • AccessControlConfig.permissionManager
                • AccessControlConfig.remoteGroupsHeader
                • AccessControlConfig.remoteGroupsMapping
                • @@ -134,6 +141,9 @@
                • ApiConfig.allowCrossOrigin
                • ApiConfig.apps
                • ApiConfig.key
                • +
                • ApiConfig.model_computed_fields
                • +
                • ApiConfig.model_config
                • +
                • ApiConfig.model_fields
              • AppearanceConfig
                  @@ -144,6 +154,9 @@
                • AppearanceConfig.components
                • AppearanceConfig.defaultLanguage
                • AppearanceConfig.fuzzyTimes
                • +
                • AppearanceConfig.model_computed_fields
                • +
                • AppearanceConfig.model_config
                • +
                • AppearanceConfig.model_fields
                • AppearanceConfig.name
                • AppearanceConfig.showFahrenheitAlso
                • AppearanceConfig.showInternalFilename
                • @@ -161,12 +174,18 @@
                • ComponentConfig
                • ComponentDisabledConfig
                  • ComponentDisabledConfig.about
                  • ComponentDisabledConfig.generic
                  • +
                  • ComponentDisabledConfig.model_computed_fields
                  • +
                  • ComponentDisabledConfig.model_config
                  • +
                  • ComponentDisabledConfig.model_fields
                  • ComponentDisabledConfig.navbar
                  • ComponentDisabledConfig.settings
                  • ComponentDisabledConfig.sidebar
                  • @@ -178,6 +197,9 @@
                  • ComponentOrderConfig
                    • ComponentOrderConfig.about
                    • ComponentOrderConfig.generic
                    • +
                    • ComponentOrderConfig.model_computed_fields
                    • +
                    • ComponentOrderConfig.model_config
                    • +
                    • ComponentOrderConfig.model_fields
                    • ComponentOrderConfig.navbar
                    • ComponentOrderConfig.settings
                    • ComponentOrderConfig.sidebar
                    • @@ -189,6 +211,9 @@
                    • ContainerConfig
                    • @@ -200,6 +225,9 @@
                    • ControlConfig.enabled
                    • ControlConfig.input
                    • ControlConfig.javascript
                    • +
                    • ControlConfig.model_computed_fields
                    • +
                    • ControlConfig.model_config
                    • +
                    • ControlConfig.model_fields
                    • ControlConfig.name
                    • ControlConfig.regex
                    • ControlConfig.script
                    • @@ -208,6 +236,9 @@
                    • ControlInputConfig
                    • StylesheetEnum
                        @@ -254,12 +297,18 @@
                    • EstimationConfig
                    • PrintTimeEstimationConfig
                    • EventsConfig
                    • @@ -291,6 +346,9 @@
                    • FeatureConfig.g90InfluencesExtruder
                    • FeatureConfig.keyboardControl
                    • FeatureConfig.modelSizeDetection
                    • +
                    • FeatureConfig.model_computed_fields
                    • +
                    • FeatureConfig.model_config
                    • +
                    • FeatureConfig.model_fields
                    • FeatureConfig.pollWatched
                    • FeatureConfig.printCancelConfirmation
                    • FeatureConfig.printStartConfirmation
                    • @@ -304,6 +362,9 @@
                    • FolderConfig.data
                    • FolderConfig.generated
                    • FolderConfig.logs
                    • +
                    • FolderConfig.model_computed_fields
                    • +
                    • FolderConfig.model_config
                    • +
                    • FolderConfig.model_fields
                    • FolderConfig.plugins
                    • FolderConfig.printerProfiles
                    • FolderConfig.scripts
                    • @@ -319,6 +380,9 @@
                    • GcodeAnalysisConfig
                    • PrinterParametersConfig
                    • PrinterProfilesConfig
                    • GcodeScriptsConfig
                    • ScriptsConfig
                    • AlwaysDetectNeverEnum
                    • SerialConfig
                    • PluginBlacklistConfig
                      • PluginBlacklistConfig.enabled
                      • +
                      • PluginBlacklistConfig.model_computed_fields
                      • +
                      • PluginBlacklistConfig.model_config
                      • +
                      • PluginBlacklistConfig.model_fields
                      • PluginBlacklistConfig.timeout
                      • PluginBlacklistConfig.ttl
                      • PluginBlacklistConfig.url
                      • @@ -516,12 +625,18 @@
                      • PreemptiveCacheConfig
                      • PythonEolCheckConfig @@ -529,11 +644,17 @@
                      • PythonEolEntry
                      • ReverseProxyConfig
                      • ActionConfig
                      • SystemConfig
                      • TemperatureConfig
                        • TemperatureConfig.cutoff
                        • +
                        • TemperatureConfig.model_computed_fields
                        • +
                        • TemperatureConfig.model_config
                        • +
                        • TemperatureConfig.model_fields
                        • TemperatureConfig.profiles
                        • TemperatureConfig.sendAutomatically
                        • TemperatureConfig.sendAutomaticallyAfter
                        • @@ -610,10 +749,16 @@
                        • TemperatureProfile
                        • TerminalFilterEntry @@ -627,6 +772,9 @@
                        • TimelapseConfig
                          • TimelapseConfig.fps
                          • +
                          • TimelapseConfig.model_computed_fields
                          • +
                          • TimelapseConfig.model_config
                          • +
                          • TimelapseConfig.model_fields
                          • TimelapseConfig.options
                          • TimelapseConfig.postRoll
                          • TimelapseConfig.renderAfterPrint
                          • @@ -636,6 +784,9 @@
                          • TimelapseOptions
                          • @@ -654,6 +805,9 @@
                          • WebcamConfig.ffmpegThreads
                          • WebcamConfig.ffmpegThumbnailCommandline
                          • WebcamConfig.ffmpegVideoCodec
                          • +
                          • WebcamConfig.model_computed_fields
                          • +
                          • WebcamConfig.model_config
                          • +
                          • WebcamConfig.model_fields
                          • WebcamConfig.snapshotWebcam
                          • WebcamConfig.timelapse
                          • WebcamConfig.timelapseEnabled
                          • @@ -676,6 +830,9 @@
                          • Webcam.extras
                          • Webcam.flipH
                          • Webcam.flipV
                          • +
                          • Webcam.model_computed_fields
                          • +
                          • Webcam.model_config
                          • +
                          • Webcam.model_fields
                          • Webcam.name
                          • Webcam.rotate90
                          • Webcam.snapshotDisplay
                          • @@ -683,6 +840,9 @@
                          • WebcamCompatibility
                            • WebcamCompatibility.cacheBuster
                            • +
                            • WebcamCompatibility.model_computed_fields
                            • +
                            • WebcamCompatibility.model_config
                            • +
                            • WebcamCompatibility.model_fields
                            • WebcamCompatibility.snapshot
                            • WebcamCompatibility.snapshotSslValidation
                            • WebcamCompatibility.snapshotTimeout
                            • @@ -772,185 +932,210 @@
                              -

                              octoprint.schema

                              +

                              octoprint.schema

                              -class octoprint.schema.BaseModel
                              -
                              -
                              -class Config
                              +class octoprint.schema.BaseModel
                              -
                              -use_enum_values = True
                              -
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              -
                              -
                              -model_dump(*args, **kwargs)
                              -
                              +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              -

                              octoprint.schema.config

                              +

                              octoprint.schema.config

                              -class octoprint.schema.config.Config(*, accessControl: ~octoprint.schema.config.access_control.AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', trustRemoteGroups=False, remoteGroupsHeader='REMOTE_GROUPS', remoteGroupsMapping={}, addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ~octoprint.schema.config.api.ApiConfig = ApiConfig(key=None, apps={}, allowCrossOrigin=False), appearance: ~octoprint.schema.config.appearance.AppearanceConfig = AppearanceConfig(name='', color=<ColorEnum.default: 'default'>, colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: ~typing.List[~typing.Union[~octoprint.schema.config.controls.ControlConfig, ~octoprint.schema.config.controls.ContainerConfig]] = [], devel: ~octoprint.schema.config.devel.DevelConfig = DevelConfig(stylesheet=<StylesheetEnum.css: 'css'>, cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: ~octoprint.schema.config.estimation.EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: ~octoprint.schema.config.events.EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: ~octoprint.schema.config.feature.FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: ~octoprint.schema.config.folder.FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: ~octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt=<RunAtEnum.idle: 'idle'>, bedZ=0.0), plugins: ~octoprint.schema.config.plugins.PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}, flags={}), printerParameters: ~octoprint.schema.config.printer_parameters.PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: ~octoprint.schema.config.printer_profiles.PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ~octoprint.schema.config.scripts.ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: ~octoprint.schema.config.serial.SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', suppressSecondHello=False, disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ~octoprint.schema.config.server.ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}}), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths=[]), slicing: ~octoprint.schema.config.slicing.SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: ~octoprint.schema.config.system.SystemConfig = SystemConfig(actions=[]), temperature: ~octoprint.schema.config.temperature.TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: ~typing.List[~octoprint.schema.config.terminalfilters.TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: ~octoprint.schema.config.webcam.WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, renderAfterPrint=<RenderAfterPrintEnum.always: 'always'>, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
                              +class octoprint.schema.config.Config(*, accessControl: AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', trustRemoteGroups=False, remoteGroupsHeader='REMOTE_GROUPS', remoteGroupsMapping={}, addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ApiConfig = ApiConfig(key=None, apps={}, allowCrossOrigin=False), appearance: AppearanceConfig = AppearanceConfig(name='', color='default', colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: List[ControlConfig | ContainerConfig] = [], devel: DevelConfig = DevelConfig(stylesheet='css', cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30.0, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt='idle', bedZ=0.0), plugins: PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}, flags={}), printerParameters: PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', suppressSecondHello=False, disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite='Lax'), allowedLoginRedirectPaths=[]), slicing: SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: SystemConfig = SystemConfig(actions=[]), temperature: TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: List[TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
                              -accessControl: AccessControlConfig
                              +accessControl: AccessControlConfig
                              -api: ApiConfig
                              +api: ApiConfig
                              -appearance: AppearanceConfig
                              +appearance: AppearanceConfig
                              -controls: List[Union[ControlConfig, ContainerConfig]]
                              +controls: List[ControlConfig | ContainerConfig]
                              -devel: DevelConfig
                              +devel: DevelConfig
                              -estimation: EstimationConfig
                              +estimation: EstimationConfig
                              -events: EventsConfig
                              +events: EventsConfig
                              -feature: FeatureConfig
                              +feature: FeatureConfig
                              -folder: FolderConfig
                              +folder: FolderConfig
                              -gcodeAnalysis: GcodeAnalysisConfig
                              +gcodeAnalysis: GcodeAnalysisConfig
                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'accessControl': FieldInfo(annotation=AccessControlConfig, required=False, default=AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', trustRemoteGroups=False, remoteGroupsHeader='REMOTE_GROUPS', remoteGroupsMapping={}, addRemoteUsers=False, defaultReauthenticationTimeout=5)), 'api': FieldInfo(annotation=ApiConfig, required=False, default=ApiConfig(key=None, apps={}, allowCrossOrigin=False)), 'appearance': FieldInfo(annotation=AppearanceConfig, required=False, default=AppearanceConfig(name='', color='default', colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))), 'controls': FieldInfo(annotation=List[Union[ControlConfig, ContainerConfig]], required=False, default=[]), 'devel': FieldInfo(annotation=DevelConfig, required=False, default=DevelConfig(stylesheet='css', cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30.0, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True)), 'estimation': FieldInfo(annotation=EstimationConfig, required=False, default=EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))), 'events': FieldInfo(annotation=EventsConfig, required=False, default=EventsConfig(enabled=True, subscriptions=[])), 'feature': FieldInfo(annotation=FeatureConfig, required=False, default=FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True)), 'folder': FieldInfo(annotation=FolderConfig, required=False, default=FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None)), 'gcodeAnalysis': FieldInfo(annotation=GcodeAnalysisConfig, required=False, default=GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt='idle', bedZ=0.0)), 'plugins': FieldInfo(annotation=PluginsConfig, required=False, default=PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}, flags={})), 'printerParameters': FieldInfo(annotation=PrinterParametersConfig, required=False, default=PrinterParametersConfig(pauseTriggers=[])), 'printerProfiles': FieldInfo(annotation=PrinterProfilesConfig, required=False, default=PrinterProfilesConfig(default=None)), 'scripts': FieldInfo(annotation=ScriptsConfig, required=False, default=ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))), 'serial': FieldInfo(annotation=SerialConfig, required=False, default=SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', suppressSecondHello=False, disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True)), 'server': FieldInfo(annotation=ServerConfig, required=False, default=ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite='Lax'), allowedLoginRedirectPaths=[])), 'slicing': FieldInfo(annotation=SlicingConfig, required=False, default=SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={})), 'system': FieldInfo(annotation=SystemConfig, required=False, default=SystemConfig(actions=[])), 'temperature': FieldInfo(annotation=TemperatureConfig, required=False, default=TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1)), 'terminalFilters': FieldInfo(annotation=List[TerminalFilterEntry], required=False, default=[TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')]), 'webcam': FieldInfo(annotation=WebcamConfig, required=False, default=WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -plugins: PluginsConfig
                              +plugins: PluginsConfig
                              -printerParameters: PrinterParametersConfig
                              +printerParameters: PrinterParametersConfig
                              -printerProfiles: PrinterProfilesConfig
                              +printerProfiles: PrinterProfilesConfig
                              -scripts: ScriptsConfig
                              +scripts: ScriptsConfig
                              -serial: SerialConfig
                              +serial: SerialConfig
                              -server: ServerConfig
                              +server: ServerConfig
                              -slicing: SlicingConfig
                              +slicing: SlicingConfig
                              -system: SystemConfig
                              +system: SystemConfig
                              -temperature: TemperatureConfig
                              +temperature: TemperatureConfig
                              -terminalFilters: List[TerminalFilterEntry]
                              +terminalFilters: List[TerminalFilterEntry]
                              -webcam: WebcamConfig
                              +webcam: WebcamConfig
                              -
                              +
                              -class octoprint.schema.config.access_control.AccessControlConfig(*, salt: Optional[str] = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: Optional[str] = None, groupfile: Optional[str] = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: Optional[str] = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', trustRemoteGroups: bool = False, remoteGroupsHeader: str = 'REMOTE_GROUPS', remoteGroupsMapping: Dict[str, str] = {}, addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
                              +class octoprint.schema.config.access_control.AccessControlConfig(*, salt: str | None = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: str | None = None, groupfile: str | None = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: str | None = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', trustRemoteGroups: bool = False, remoteGroupsHeader: str = 'REMOTE_GROUPS', remoteGroupsMapping: Dict[str, str] = {}, addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
                              -addRemoteUsers: bool
                              +addRemoteUsers: bool

                              If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.

                              -autologinAs: Optional[str]
                              +autologinAs: str | None

                              The name of the user to automatically log on clients originating from localNetworks as. Must be the name of one of your configured users.

                              -autologinHeadsupAcknowledged: bool
                              +autologinHeadsupAcknowledged: bool

                              Whether the user has acknowledged the heads-up about the importance of a correct reverse proxy configuration in the presence of autologin.

                              -autologinLocal: bool
                              +autologinLocal: bool

                              If set to true, will automatically log on clients originating from any of the networks defined in localNetworks as the user defined in autologinAs.

                              -checkBasicAuthenticationPassword: bool
                              +checkBasicAuthenticationPassword: bool

                              Whether to also check the password provided through Basic Authentication, if the Basic Authentication header is to be trusted. Disabling this will only match the user name in the Basic Authentication header and login the user without further checks, thus disable with caution.

                              -defaultReauthenticationTimeout: int
                              +defaultReauthenticationTimeout: int

                              Default timeout after which to require reauthentication by a user for dangerous changes, in minutes. Defaults to 5 minutes. Set to 0 to disable reauthentication requirements (SECURITY IMPACT!).

                              -groupManager: str
                              +groupManager: str

                              groups.yaml in the default configuration folder).

                              -
                              Type
                              +
                              Type:

                              The group manager implementation to use for accessing group information. Currently only a filebased user manager is implemented which stores configured groups in a YAML file (Default

                              @@ -958,70 +1143,90 @@
                              -groupfile: Optional[str]
                              +groupfile: str | None

                              The YAML group file to use. If left out defaults to groups.yaml in the default configuration folder.

                              -localNetworks: List[str]
                              +localNetworks: List[str]

                              A list of networks or IPs for which an automatic logon as the user defined in autologinAs will take place. If available OctoPrint will evaluate the X-Forwarded-For HTTP header for determining the client’s IP address. Defaults to anything originating from localhost.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'addRemoteUsers': FieldInfo(annotation=bool, required=False, default=False, description='If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.'), 'autologinAs': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The name of the user to automatically log on clients originating from `localNetworks` as. Must be the name of one of your configured users.'), 'autologinHeadsupAcknowledged': FieldInfo(annotation=bool, required=False, default=False, description='Whether the user has acknowledged the heads-up about the importance of a correct reverse proxy configuration in the presence of autologin.'), 'autologinLocal': FieldInfo(annotation=bool, required=False, default=False, description='If set to true, will automatically log on clients originating from any of the networks defined in `localNetworks` as the user defined in `autologinAs`.'), 'checkBasicAuthenticationPassword': FieldInfo(annotation=bool, required=False, default=True, description='Whether to also check the password provided through Basic Authentication, if the Basic Authentication header is to be trusted. Disabling this will only match the user name in the Basic Authentication header and login the user without further checks, thus disable with caution.'), 'defaultReauthenticationTimeout': FieldInfo(annotation=int, required=False, default=5, description='Default timeout after which to require reauthentication by a user for dangerous changes, in minutes. Defaults to 5 minutes. Set to 0 to disable reauthentication requirements (SECURITY IMPACT!).'), 'groupManager': FieldInfo(annotation=str, required=False, default='octoprint.access.groups.FilebasedGroupManager', description='The group manager implementation to use for accessing group information. Currently only a filebased user manager is implemented which stores configured groups in a YAML file (Default: `groups.yaml` in the default configuration folder).'), 'groupfile': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The YAML group file to use. If left out defaults to `groups.yaml` in the default configuration folder.'), 'localNetworks': FieldInfo(annotation=List[str], required=False, default=['127.0.0.0/8', '::1/128'], description="A list of networks or IPs for which an automatic logon as the user defined in `autologinAs` will take place. If available OctoPrint will evaluate the `X-Forwarded-For` HTTP header for determining the client's IP address. Defaults to anything originating from localhost."), 'permissionManager': FieldInfo(annotation=str, required=False, default='octoprint.access.permissions.PermissionManager', description='The permission manager implementation to use.'), 'remoteGroupsHeader': FieldInfo(annotation=str, required=False, default='REMOTE_GROUPS', description="Header used by the reverse proxy to convey the authenticated user's groups."), 'remoteGroupsMapping': FieldInfo(annotation=Dict[str, str], required=False, default={}, description='Mapping from groups in the header to groups in OctoPrint.'), 'remoteUserHeader': FieldInfo(annotation=str, required=False, default='REMOTE_USER', description='Header used by the reverse proxy to convey the authenticated user.'), 'salt': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Secret salt used for password hashing. **DO NOT TOUCH!** If changed you will no longer be able to log in with your existing accounts. Default unset, generated on first run.'), 'trustBasicAuthentication': FieldInfo(annotation=bool, required=False, default=False, description='Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user during Basic Authentication. **ONLY ENABLE THIS** if your OctoPrint instance is only accessible through a connection locked down through Basic Authentication!'), 'trustRemoteGroups': FieldInfo(annotation=bool, required=False, default=False, description="Whether to trust remote groups headers. If you have setup authentication in front of OctoPrint and the groups names you use there match OctoPrint accounts, by setting this to true the user's groups will be set to the groups provided in the header. **ONLY ENABLE THIS** if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!"), 'trustRemoteUser': FieldInfo(annotation=bool, required=False, default=False, description='Whether to trust remote user headers. If you have setup authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user provided in the header. **ONLY ENABLE THIS** if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!'), 'userManager': FieldInfo(annotation=str, required=False, default='octoprint.access.users.FilebasedUserManager', description='The user manager implementation to use for accessing user information. Currently only a filebased user manager is implemented which stores configured accounts in a YAML file (Default: `users.yaml` in the default configuration folder).'), 'userfile': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The YAML user file to use. If left out defaults to `users.yaml` in the default configuration folder.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -permissionManager: str
                              +permissionManager: str

                              The permission manager implementation to use.

                              -remoteGroupsHeader: str
                              +remoteGroupsHeader: str

                              Header used by the reverse proxy to convey the authenticated user’s groups.

                              -remoteGroupsMapping: Dict[str, str]
                              +remoteGroupsMapping: Dict[str, str]

                              Mapping from groups in the header to groups in OctoPrint.

                              -remoteUserHeader: str
                              +remoteUserHeader: str

                              Header used by the reverse proxy to convey the authenticated user.

                              -salt: Optional[str]
                              +salt: str | None

                              Secret salt used for password hashing. DO NOT TOUCH! If changed you will no longer be able to log in with your existing accounts. Default unset, generated on first run.

                              -trustBasicAuthentication: bool
                              +trustBasicAuthentication: bool

                              Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user during Basic Authentication. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through Basic Authentication!

                              -trustRemoteGroups: bool
                              +trustRemoteGroups: bool

                              Whether to trust remote groups headers. If you have setup authentication in front of OctoPrint and the groups names you use there match OctoPrint accounts, by setting this to true the user’s groups will be set to the groups provided in the header. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!

                              -trustRemoteUser: bool
                              +trustRemoteUser: bool

                              Whether to trust remote user headers. If you have setup authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user provided in the header. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!

                              -userManager: str
                              +userManager: str

                              users.yaml in the default configuration folder).

                              -
                              Type
                              +
                              Type:

                              The user manager implementation to use for accessing user information. Currently only a filebased user manager is implemented which stores configured accounts in a YAML file (Default

                              @@ -1029,82 +1234,122 @@
                              -userfile: Optional[str]
                              +userfile: str | None

                              The YAML user file to use. If left out defaults to users.yaml in the default configuration folder.

                              -
                              +
                              -class octoprint.schema.config.api.ApiConfig(*, key: Optional[str] = None, apps: Dict[str, str] = {}, allowCrossOrigin: bool = False)
                              +class octoprint.schema.config.api.ApiConfig(*, key: str | None = None, apps: Dict[str, str] = {}, allowCrossOrigin: bool = False)
                              -allowCrossOrigin: bool
                              +allowCrossOrigin: bool

                              Whether to allow cross origin access to the API or not.

                              -apps: Dict[str, str]
                              +apps: Dict[str, str]
                              -key: Optional[str]
                              +key: str | None

                              Global API key, deprecated, use User API keys instead. Unset by default, will be generated on first run.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'allowCrossOrigin': FieldInfo(annotation=bool, required=False, default=False, description='Whether to allow cross origin access to the API or not.'), 'apps': FieldInfo(annotation=Dict[str, str], required=False, default={}), 'key': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Global API key, deprecated, use User API keys instead. Unset by default, will be generated on first run.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              -
                              +
                              + +
                              -class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
                              +class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
                              -closeModalsWithClick: bool
                              +closeModalsWithClick: bool
                              -color: ColorEnum
                              +color: ColorEnum

                              Use this to color the navigation bar.

                              -colorIcon: bool
                              +colorIcon: bool
                              -colorTransparent: bool
                              +colorTransparent: bool

                              Makes the color of the navigation bar “transparent”. In case your printer uses acrylic for its frame 😉.

                              -components: ComponentConfig
                              +components: ComponentConfig

                              Configures the order and availability of the UI components.

                              -defaultLanguage: str
                              +defaultLanguage: str

                              Default language of OctoPrint. If left unset OctoPrint will try to match up available languages with the user’s browser settings.

                              -fuzzyTimes: bool
                              +fuzzyTimes: bool
                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'closeModalsWithClick': FieldInfo(annotation=bool, required=False, default=True), 'color': FieldInfo(annotation=ColorEnum, required=False, default=<ColorEnum.default: 'default'>, description='Use this to color the navigation bar.'), 'colorIcon': FieldInfo(annotation=bool, required=False, default=True), 'colorTransparent': FieldInfo(annotation=bool, required=False, default=False, description='Makes the color of the navigation bar "transparent". In case your printer uses acrylic for its frame 😉.'), 'components': FieldInfo(annotation=ComponentConfig, required=False, default=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])), description='Configures the order and availability of the UI components.'), 'defaultLanguage': FieldInfo(annotation=str, required=False, default='_default', description="Default language of OctoPrint. If left unset OctoPrint will try to match up available languages with the user's browser settings."), 'fuzzyTimes': FieldInfo(annotation=bool, required=False, default=True), 'name': FieldInfo(annotation=str, required=False, default='', description='Use this to give your OctoPrint instance a name. It will be displayed in the title bar (as "<Name> [OctoPrint]") and in the navigation bar (as "OctoPrint: <>")'), 'showFahrenheitAlso': FieldInfo(annotation=bool, required=False, default=False), 'showInternalFilename': FieldInfo(annotation=bool, required=False, default=True, description='Show the internal filename in the files sidebar, if necessary.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: str
                              +name: str

                              <>”)

                              -
                              Type
                              +
                              Type:

                              Use this to give your OctoPrint instance a name. It will be displayed in the title bar (as “<Name> [OctoPrint]”) and in the navigation bar (as “OctoPrint

                              @@ -1112,12 +1357,12 @@
                              -showFahrenheitAlso: bool
                              +showFahrenheitAlso: bool
                              -showInternalFilename: bool
                              +showInternalFilename: bool

                              Show the internal filename in the files sidebar, if necessary.

                              @@ -1125,57 +1370,77 @@
                              -class octoprint.schema.config.appearance.ColorEnum(value)
                              +class octoprint.schema.config.appearance.ColorEnum(value)

                              An enumeration.

                              -blue = 'blue'
                              +blue = 'blue'
                              -default = 'default'
                              +default = 'default'
                              -green = 'green'
                              +green = 'green'
                              -orange = 'orange'
                              +orange = 'orange'
                              -red = 'red'
                              +red = 'red'
                              -violet = 'violet'
                              +violet = 'violet'
                              -yellow = 'yellow'
                              +yellow = 'yellow'
                              -class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
                              +class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
                              -disabled: ComponentDisabledConfig
                              +disabled: ComponentDisabledConfig

                              Disabled components per container. If a component is included here it will not be included in OctoPrint’s UI at all. Note that this might mean that critical functionality will not be available if no replacement is registered.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'disabled': FieldInfo(annotation=ComponentDisabledConfig, required=False, default=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]), description="Disabled components per container. If a component is included here it will not be included in OctoPrint's UI at all. Note that this might mean that critical functionality will not be available if no replacement is registered."), 'order': FieldInfo(annotation=ComponentOrderConfig, required=False, default=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), description='Defines the order of the components within their respective containers.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -order: ComponentOrderConfig
                              +order: ComponentOrderConfig

                              Defines the order of the components within their respective containers.

                              @@ -1183,52 +1448,72 @@
                              -class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
                              +class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
                              -about: List[str]
                              +about: List[str]

                              Disabled about dialog items.

                              -generic: List[str]
                              +generic: List[str]

                              Disabled generic items.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'about': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled about dialog items.'), 'generic': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled generic items.'), 'navbar': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled navbar items.'), 'settings': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled settings.'), 'sidebar': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled sidebar items.'), 'tab': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled tabs.'), 'usersettings': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled user settings.'), 'wizard': FieldInfo(annotation=List[str], required=False, default=[], description='Disabled wizards.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -navbar: List[str]
                              +navbar: List[str]

                              Disabled navbar items.

                              -settings: List[str]
                              +settings: List[str]

                              Disabled settings.

                              -sidebar: List[str]
                              +sidebar: List[str]

                              Disabled sidebar items.

                              -tab: List[str]
                              +tab: List[str]

                              Disabled tabs.

                              -usersettings: List[str]
                              +usersettings: List[str]

                              Disabled user settings.

                              -wizard: List[str]
                              +wizard: List[str]

                              Disabled wizards.

                              @@ -1236,75 +1521,115 @@
                              -class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
                              +class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
                              -about: List[str]
                              +about: List[str]

                              Order of about dialog items.

                              -generic: List[str]
                              +generic: List[str]

                              Order of generic items.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'about': FieldInfo(annotation=List[str], required=False, default=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], description='Order of about dialog items.'), 'generic': FieldInfo(annotation=List[str], required=False, default=[], description='Order of generic items.'), 'navbar': FieldInfo(annotation=List[str], required=False, default=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'plugin_health_check', 'login'], description='Order of navbar items.'), 'settings': FieldInfo(annotation=List[str], required=False, default=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], description='Order of settings.'), 'sidebar': FieldInfo(annotation=List[str], required=False, default=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], description='Order of sidebar items.'), 'tab': FieldInfo(annotation=List[str], required=False, default=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], description='Order of tabs.'), 'usersettings': FieldInfo(annotation=List[str], required=False, default=['access', 'interface'], description='Order of user settings.'), 'wizard': FieldInfo(annotation=List[str], required=False, default=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], description='Order of wizards.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -navbar: List[str]
                              +navbar: List[str]

                              Order of navbar items.

                              -settings: List[str]
                              +settings: List[str]

                              Order of settings.

                              -sidebar: List[str]
                              +sidebar: List[str]

                              Order of sidebar items.

                              -tab: List[str]
                              +tab: List[str]

                              Order of tabs.

                              -usersettings: List[str]
                              +usersettings: List[str]

                              Order of user settings.

                              -wizard: List[str]
                              +wizard: List[str]

                              Order of wizards.

                              -
                              +
                              -class octoprint.schema.config.controls.ContainerConfig(*, children: List[Union[ContainerConfig, ControlConfig]] = [], name: Optional[str] = None, layout: LayoutEnum = LayoutEnum.vertical)
                              +class octoprint.schema.config.controls.ContainerConfig
                              -children: List[Union[ContainerConfig, ControlConfig]]
                              +children: List[ContainerConfig | ControlConfig]

                              A list of children controls or containers contained within this container.

                              -layout: LayoutEnum
                              +layout: LayoutEnum

                              The layout to use for laying out the contained children, either from top to bottom (vertical) or from left to right (horizontal).

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'children': FieldInfo(annotation=List[Union[ControlConfig, ContainerConfig]], required=False, default=[], description='A list of children controls or containers contained within this container.'), 'layout': FieldInfo(annotation=LayoutEnum, required=False, default=<LayoutEnum.vertical: 'vertical'>, description='The layout to use for laying out the contained children, either from top to bottom (`vertical`) or from left to right (`horizontal`).'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A name to display above the container, basically a section header.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: Optional[str]
                              +name: str | None

                              A name to display above the container, basically a section header.

                              @@ -1312,61 +1637,81 @@
                              -class octoprint.schema.config.controls.ControlConfig(*, name: str, command: Optional[str] = None, commands: Optional[List[str]] = None, script: Optional[str] = None, javascript: Optional[str] = None, additionalClasses: Optional[str] = None, enabled: Optional[str] = None, input: Optional[List[ControlInputConfig]] = [], regex: Optional[str] = None, template: Optional[str] = None, confirm: Optional[str] = None)
                              +class octoprint.schema.config.controls.ControlConfig(*, name: str, command: str | None = None, commands: List[str] | None = None, script: str | None = None, javascript: str | None = None, additionalClasses: str | None = None, enabled: str | None = None, input: List[ControlInputConfig] | None = [], regex: str | None = None, template: str | None = None, confirm: str | None = None)
                              -additionalClasses: Optional[str]
                              +additionalClasses: str | None

                              Additional classes to apply to the button of a command, commands, script or javascript control, other than the default btn. Can be used to visually style the button, e.g. set to btn-danger to turn the button red.

                              -command: Optional[str]
                              +command: str | None

                              A single GCODE command to send to the printer. Will be rendered as a button which sends the command to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with commands and script. The rendered button be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

                              -commands: Optional[List[str]]
                              +commands: List[str] | None

                              A list of GCODE commands to send to the printer. Will be rendered as a button which sends the commands to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and script. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

                              -confirm: Optional[str]
                              +confirm: str | None

                              A text to display to the user to confirm his button press. Can be used with sensitive custom controls like changing EEPROM values in order to prevent accidental clicks. The text will be displayed in a confirmation dialog.

                              -enabled: Optional[str]
                              +enabled: str | None

                              A JavaScript snippet returning either true or false determining whether the control should be enabled or not. This allows to override the default logic for the enable state of the control (disabled if printer is offline). The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

                              -input: Optional[List[ControlInputConfig]]
                              +input: List[ControlInputConfig] | None

                              A list of definitions of input parameters for a command or commands, to be rendered as additional input fields. command/commands may contain placeholders to be replaced by the values obtained from the user for the defined input fields.

                              -javascript: Optional[str]
                              +javascript: str | None

                              A JavaScript snippet to be executed when the button rendered for command or commands is clicked. This allows to override the direct sending of the command or commands to the printer with more sophisticated behaviour. The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'additionalClasses': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Additional classes to apply to the button of a `command`, `commands`, `script` or `javascript` control, other than the default `btn`. Can be used to visually style the button, e.g. set to `btn-danger` to turn the button red.'), 'command': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A single GCODE command to send to the printer. Will be rendered as a button which sends the command to the printer upon click. The button text will be the value of the `name` attribute. Mutually exclusive with `commands` and `script`. The rendered button be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the `enabled` attribute are not met.'), 'commands': FieldInfo(annotation=Union[List[str], NoneType], required=False, default=None, description='A list of GCODE commands to send to the printer. Will be rendered as a button which sends the commands to the printer upon click. The button text will be the value of the `name` attribute. Mutually exclusive with `command` and `script`. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the `enabled` attribute are not met.'), 'confirm': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A text to display to the user to confirm his button press. Can be used with sensitive custom controls like changing EEPROM values in order to prevent accidental clicks. The text will be displayed in a confirmation dialog.'), 'enabled': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="A JavaScript snippet returning either `true` or `false` determining whether the control should be enabled or not. This allows to override the default logic for the enable state of the control (disabled if printer is offline). The JavaScript snippet is `eval`'d and processed in a context where the control it is part of is provided as local variable `data` and the `ControlViewModel` is available as `self`."), 'input': FieldInfo(annotation=Union[List[ControlInputConfig], NoneType], required=False, default=[], description='A list of definitions of input parameters for a `command` or `commands`, to be rendered as additional input fields. `command`/`commands` may contain placeholders to be replaced by the values obtained from the user for the defined input fields.'), 'javascript': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="A JavaScript snippet to be executed when the button rendered for `command` or `commands` is clicked. This allows to override the direct sending of the command or commands to the printer with more sophisticated behaviour. The JavaScript snippet is `eval`'d and processed in a context where the control it is part of is provided as local variable `data` and the `ControlViewModel` is available as `self`."), 'name': FieldInfo(annotation=str, required=True, description="The name of the control, will be displayed either on the button if it's a control sending a command or as a label for controls which only display output."), 'regex': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A [regular expression <re-syntax>](https://docs.python.org/3/library/re.html#regular-expression-syntax) to match against lines received from the printer to retrieve information from it (e.g. specific output). Together with `template` this allows rendition of received data from the printer within the UI.'), 'script': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The name of a full blown [GCODE script]() to send to the printer. Will be rendered as a button which sends the script to the printer upon click. The button text will be the value of the `name` attribute. Mutually exclusive with `command` and `commands`. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the `enabled` attribute are not met. Values of input parameters will be available in the template context under the `parameter` variable (e.g. an input parameter `speed` will be available in the script template as `parameter.speed`). On top of that all other variables defined in the [GCODE template context]() will be available.'), 'template': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A template to use for rendering the match of `regex`. May contain placeholders in [Python Format String Syntax](https://docs.python.org/3/library/string.html#formatstrings) for either named groups within the regex (e.g. `Temperature: {temperature}` for a regex `T:\\s*(?P<temperature>\\d+(\\.\\d*)`) or positional groups within the regex (e.g. `Position: X={0}, Y={1}, Z={2}, E={3}` for a regex `X:([0-9.]+) Y:([0-9.]+) Z:([0-9.]+) E:([0-9.]+)`).')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: str
                              +name: str

                              The name of the control, will be displayed either on the button if it’s a control sending a command or as a label for controls which only display output.

                              -regex: Optional[str]
                              +regex: str | None

                              //docs.python.org/3/library/re.html#regular-expression-syntax) to match against lines received from the printer to retrieve information from it (e.g. specific output). Together with template this allows rendition of received data from the printer within the UI.

                              -
                              Type
                              +
                              Type:

                              A [regular expression <re-syntax>](https

                              @@ -1374,19 +1719,19 @@
                              -script: Optional[str]
                              +script: str | None

                              The name of a full blown [GCODE script]() to send to the printer. Will be rendered as a button which sends the script to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and commands. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met. Values of input parameters will be available in the template context under the parameter variable (e.g. an input parameter speed will be available in the script template as parameter.speed). On top of that all other variables defined in the [GCODE template context]() will be available.

                              -template: Optional[str]
                              +template: str | None

                              {temperature}` for a regex T:s*(?P<temperature>d+(.d*)) or positional groups within the regex (e.g. Position: X={0}, Y={1}, Z={2}, E={3} for a regex X:([0-9.]+) Y:([0-9.]+) Z:([0-9.]+) E:([0-9.]+)).

                              -
                              Type
                              +
                              Type:

                              A template to use for rendering the match of regex. May contain placeholders in [Python Format String Syntax](https

                              -
                              Type
                              +
                              Type:

                              //docs.python.org/3/library/string.html#formatstrings) for either named groups within the regex (e.g. `Temperature

                              @@ -1396,28 +1741,48 @@
                              -class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: Union[str, int, float, bool], slider: Optional[ControlSliderInputConfig] = None)
                              +class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: str | int | float | bool, slider: ControlSliderInputConfig | None = None)
                              -default: Union[str, int, float, bool]
                              +default: str | int | float | bool

                              Default value for the input field.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'default': FieldInfo(annotation=Union[str, int, float, bool], required=True), 'name': FieldInfo(annotation=str, required=True), 'parameter': FieldInfo(annotation=str, required=True), 'slider': FieldInfo(annotation=Union[ControlSliderInputConfig, NoneType], required=False, default=None)}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: str
                              +name: str

                              Name to display for the input field.

                              -parameter: str
                              +parameter: str

                              Internal parameter name for the input field, used as a placeholder in command/commands.

                              -slider: Optional[ControlSliderInputConfig]
                              +slider: ControlSliderInputConfig | None

                              If this attribute is included, instead of an input field a slider control will be rendered.

                              @@ -1425,22 +1790,42 @@
                              -class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
                              +class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
                              -max: int
                              +max: int

                              Maximum value of the slider.

                              -min: int
                              +min: int

                              Minimum value of the slider.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'max': FieldInfo(annotation=int, required=False, default=255), 'min': FieldInfo(annotation=int, required=False, default=0), 'step': FieldInfo(annotation=int, required=False, default=1)}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -step: int
                              +step: int

                              Step size per slider tick.

                              @@ -1448,32 +1833,52 @@
                              -class octoprint.schema.config.controls.LayoutEnum(value)
                              +class octoprint.schema.config.controls.LayoutEnum(value)

                              An enumeration.

                              -horizontal = 'horizontal'
                              +horizontal = 'horizontal'
                              -vertical = 'vertical'
                              +vertical = 'vertical'
                              -
                              +
                              -class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
                              +class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
                              -enabled: bool
                              +enabled: bool

                              Whether to enable caching. Defaults to true. Setting it to false will cause the UI to always be fully rerendered on request to / on the server.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True), 'preemptive': FieldInfo(annotation=bool, required=False, default=True)}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -preemptive: bool
                              +preemptive: bool

                              Whether to enable the preemptive cache.

                              @@ -1481,55 +1886,75 @@
                              -class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
                              +class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
                              -cache: DevelCacheConfig
                              +cache: DevelCacheConfig

                              Settings for OctoPrint’s internal caching.

                              -enableCsrfProtection: bool
                              +enableCsrfProtection: bool

                              Enable or disable the CSRF protection. Careful, disabling this reduces security.

                              -enableRateLimiter: bool
                              +enableRateLimiter: bool

                              Enable or disable the rate limiter. Careful, disabling this reduces security.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'cache': FieldInfo(annotation=DevelCacheConfig, required=False, default=DevelCacheConfig(enabled=True, preemptive=True), description="Settings for OctoPrint's internal caching."), 'enableCsrfProtection': FieldInfo(annotation=bool, required=False, default=True, description='Enable or disable the CSRF protection. Careful, disabling this reduces security.'), 'enableRateLimiter': FieldInfo(annotation=bool, required=False, default=True, description='Enable or disable the rate limiter. Careful, disabling this reduces security.'), 'pluginTimings': FieldInfo(annotation=bool, required=False, default=False), 'showLoadingAnimation': FieldInfo(annotation=bool, required=False, default=True, description='Enable or disable the loading animation.'), 'sockJsConnectTimeout': FieldInfo(annotation=float, required=False, default=30), 'stylesheet': FieldInfo(annotation=StylesheetEnum, required=False, default=<StylesheetEnum.css: 'css'>, description='Settings for stylesheet preference. OctoPrint will prefer to use the stylesheet type specified here. Usually (on a production install) that will be the compiled css (default). Developers may specify less here too.'), 'useFrozenDictForPrinterState': FieldInfo(annotation=bool, required=False, default=True), 'webassets': FieldInfo(annotation=DevelWebassetsConfig, required=False, default=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), description="Settings for OctoPrint's web asset merging and minifying.")}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -pluginTimings: bool
                              +pluginTimings: bool
                              -showLoadingAnimation: bool
                              +showLoadingAnimation: bool

                              Enable or disable the loading animation.

                              -sockJsConnectTimeout: float
                              +sockJsConnectTimeout: float
                              -stylesheet: StylesheetEnum
                              +stylesheet: StylesheetEnum

                              Settings for stylesheet preference. OctoPrint will prefer to use the stylesheet type specified here. Usually (on a production install) that will be the compiled css (default). Developers may specify less here too.

                              -useFrozenDictForPrinterState: bool
                              +useFrozenDictForPrinterState: bool
                              -webassets: DevelWebassetsConfig
                              +webassets: DevelWebassetsConfig

                              Settings for OctoPrint’s web asset merging and minifying.

                              @@ -1537,13 +1962,13 @@
                              -class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
                              +class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
                              -bundle: bool
                              +bundle: bool

                              if this is set to false, no minification will take place regardless of the minify setting.

                              -
                              Type
                              +
                              Type:

                              If set to true, OctoPrint will merge all JS, all CSS and all Less files into one file per type to reduce request count. Setting it to false will load all assets individually. Note

                              @@ -1551,16 +1976,16 @@
                              -clean_on_startup: bool
                              +clean_on_startup: bool

                              Whether to delete generated web assets on server startup (forcing a regeneration).

                              -minify: bool
                              +minify: bool

                              if bundle is set to false, no minification will take place either.

                              -
                              Type
                              +
                              Type:

                              If set to true, OctoPrint will the core and library javascript assets. Note

                              @@ -1568,39 +1993,79 @@
                              -minify_plugins: bool
                              +minify_plugins: bool

                              if bundle or minify are set to false, no minification of the plugin assets will take place either.

                              -
                              Type
                              +
                              Type:

                              If set to true, OctoPrint will also minify the third party plugin javascript assets. Note

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bundle': FieldInfo(annotation=bool, required=False, default=True, description='If set to true, OctoPrint will merge all JS, all CSS and all Less files into one file per type to reduce request count. Setting it to false will load all assets individually. Note: if this is set to false, no minification will take place regardless of the `minify` setting.'), 'clean_on_startup': FieldInfo(annotation=bool, required=False, default=True, description='Whether to delete generated web assets on server startup (forcing a regeneration).'), 'minify': FieldInfo(annotation=bool, required=False, default=True, description='If set to true, OctoPrint will the core and library javascript assets. Note: if `bundle` is set to false, no minification will take place either.'), 'minify_plugins': FieldInfo(annotation=bool, required=False, default=False, description='If set to true, OctoPrint will also minify the third party plugin javascript assets. Note: if `bundle` or `minify` are set to false, no minification of the plugin assets will take place either.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -class octoprint.schema.config.devel.StylesheetEnum(value)
                              +class octoprint.schema.config.devel.StylesheetEnum(value)

                              An enumeration.

                              -css = 'css'
                              +css = 'css'
                              -less = 'less'
                              +less = 'less'
                              -
                              +
                              -class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
                              +class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'printTime': FieldInfo(annotation=PrintTimeEstimationConfig, required=False, default=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60), description='Parameters for the print time estimation during an ongoing print job.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              -printTime: PrintTimeEstimationConfig
                              +printTime: PrintTimeEstimationConfig

                              Parameters for the print time estimation during an ongoing print job.

                              @@ -1608,75 +2073,115 @@
                              -class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
                              +class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
                              -forceDumbAfterMin: float
                              +forceDumbAfterMin: float

                              If no estimate could be calculated until this many minutes into the print and no statistical data is available, use dumb linear estimate.

                              -forceDumbFromPercent: float
                              +forceDumbFromPercent: float

                              If no estimate could be calculated until this percentage and no statistical data is available, use dumb linear estimate. Value between 0 and 1.0.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'forceDumbAfterMin': FieldInfo(annotation=float, required=False, default=30.0, description='If no estimate could be calculated until this many minutes into the print and no statistical data is available, use dumb linear estimate.'), 'forceDumbFromPercent': FieldInfo(annotation=float, required=False, default=0.3, description='If no estimate could be calculated until this percentage and no statistical data is available, use dumb linear estimate. Value between 0 and 1.0.'), 'stableThreshold': FieldInfo(annotation=int, required=False, default=60, description='Average fluctuation between individual calculated estimates to consider in stable range. Seconds of difference.'), 'statsWeighingUntil': FieldInfo(annotation=float, required=False, default=0.5, description="Until which percentage to do a weighted mixture of statistical duration (analysis or past prints) with the result from the calculated estimate if that's already available. Utilized to compensate for the fact that the earlier in a print job, the least accuracy even a stable calculated estimate provides."), 'validityRange': FieldInfo(annotation=float, required=False, default=0.15, description='Range the assumed percentage (based on current estimated statistical, calculated or mixed total vs elapsed print time so far) needs to be around the actual percentage for the result to be used.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -stableThreshold: int
                              +stableThreshold: int

                              Average fluctuation between individual calculated estimates to consider in stable range. Seconds of difference.

                              -statsWeighingUntil: float
                              +statsWeighingUntil: float

                              Until which percentage to do a weighted mixture of statistical duration (analysis or past prints) with the result from the calculated estimate if that’s already available. Utilized to compensate for the fact that the earlier in a print job, the least accuracy even a stable calculated estimate provides.

                              -validityRange: float
                              +validityRange: float

                              Range the assumed percentage (based on current estimated statistical, calculated or mixed total vs elapsed print time so far) needs to be around the actual percentage for the result to be used.

                              -
                              +
                              -class octoprint.schema.config.events.EventSubscription(*, event: str, name: Optional[str] = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
                              +class octoprint.schema.config.events.EventSubscription(*, event: str, name: str | None = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
                              -command: str
                              +command: str

                              The command to execute when the event is triggered, either a GCODE or a system command.

                              -debug: bool
                              +debug: bool

                              If set to true, OctoPrint will log the command after performing all placeholder replacements.

                              -enabled: bool
                              +enabled: bool

                              Whether the event subscription should be enabled.

                              -event: str
                              +event: str

                              The event to subscribe to.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'command': FieldInfo(annotation=str, required=True, description='The command to execute when the event is triggered, either a GCODE or a system command.'), 'debug': FieldInfo(annotation=bool, required=False, default=False, description='If set to `true`, OctoPrint will log the command after performing all placeholder replacements.'), 'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether the event subscription should be enabled.'), 'event': FieldInfo(annotation=str, required=True, description='The event to subscribe to.'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The event name to show on the UI'), 'type': FieldInfo(annotation=SubscriptionTypeEnum, required=True, description='The type of the command.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: Optional[str]
                              +name: str | None

                              The event name to show on the UI

                              -type: SubscriptionTypeEnum
                              +type: SubscriptionTypeEnum

                              The type of the command.

                              @@ -1684,16 +2189,36 @@
                              -class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
                              +class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
                              -enabled: bool
                              +enabled: bool

                              Whether event subscriptions should be enabled or not.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether event subscriptions should be enabled or not.'), 'subscriptions': FieldInfo(annotation=List[EventSubscription], required=False, default=[], description='A list of event subscriptions.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -subscriptions: List[EventSubscription]
                              +subscriptions: List[EventSubscription]

                              A list of event subscriptions.

                              @@ -1701,221 +2226,281 @@
                              -class octoprint.schema.config.events.SubscriptionTypeEnum(value)
                              +class octoprint.schema.config.events.SubscriptionTypeEnum(value)

                              An enumeration.

                              -gcode = 'gcode'
                              +gcode = 'gcode'
                              -system = 'system'
                              +system = 'system'
                              -
                              +
                              -class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
                              +class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118', 'M707', 'M708'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
                              -autoUppercaseBlacklist: List[str]
                              +autoUppercaseBlacklist: List[str]

                              Commands that should never be auto-uppercased when sent to the printer through the Terminal tab.

                              -enableDragDropUpload: bool
                              +enableDragDropUpload: bool

                              Enable drag and drop upload overlay

                              -enforceReallyUniversalFilenames: bool
                              +enforceReallyUniversalFilenames: bool

                              Replace all special characters and spaces with text equivalent to make them universally compatible. Most OS filesystems work fine with unicode characters, but just in case you can revert to the older behaviour by setting this to true.

                              -g90InfluencesExtruder: bool
                              +g90InfluencesExtruder: bool

                              Whether G90/G91 also influence absolute/relative mode of extruders.

                              -keyboardControl: bool
                              +keyboardControl: bool

                              Whether to enable the keyboard control feature in the control tab.

                              -modelSizeDetection: bool
                              +modelSizeDetection: bool

                              Whether to enable model size detection and warning (true) or not (false).

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'autoUppercaseBlacklist': FieldInfo(annotation=List[str], required=False, default=['M117', 'M118', 'M707', 'M708'], description='Commands that should never be auto-uppercased when sent to the printer through the Terminal tab.'), 'enableDragDropUpload': FieldInfo(annotation=bool, required=False, default=True, description='Enable drag and drop upload overlay'), 'enforceReallyUniversalFilenames': FieldInfo(annotation=bool, required=False, default=False, description='Replace all special characters and spaces with text equivalent to make them universally compatible. Most OS filesystems work fine with unicode characters, but just in case you can revert to the older behaviour by setting this to true.'), 'g90InfluencesExtruder': FieldInfo(annotation=bool, required=False, default=False, description='Whether `G90`/`G91` also influence absolute/relative mode of extruders.'), 'keyboardControl': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the keyboard control feature in the control tab.'), 'modelSizeDetection': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable model size detection and warning (true) or not (false).'), 'pollWatched': FieldInfo(annotation=bool, required=False, default=False, description="Whether to actively poll the watched folder (true) or to rely on the OS's file system notifications instead (false)."), 'printCancelConfirmation': FieldInfo(annotation=bool, required=False, default=True, description='Whether to show a confirmation on print cancelling (true) or not (false)'), 'printStartConfirmation': FieldInfo(annotation=bool, required=False, default=False, description='Whether to show a confirmation on print start (true) or not (false)'), 'rememberFileFolder': FieldInfo(annotation=bool, required=False, default=False, description='Whether to remember the selected folder on the file manager.'), 'sdSupport': FieldInfo(annotation=bool, required=False, default=True, description='Specifies whether support for SD printing and file management should be enabled.'), 'temperatureGraph': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the temperature graph in the UI or not.'), 'uploadOverwriteConfirmation': FieldInfo(annotation=bool, required=False, default=True)}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -pollWatched: bool
                              +pollWatched: bool

                              Whether to actively poll the watched folder (true) or to rely on the OS’s file system notifications instead (false).

                              -printCancelConfirmation: bool
                              +printCancelConfirmation: bool

                              Whether to show a confirmation on print cancelling (true) or not (false)

                              -printStartConfirmation: bool
                              +printStartConfirmation: bool

                              Whether to show a confirmation on print start (true) or not (false)

                              -rememberFileFolder: bool
                              +rememberFileFolder: bool

                              Whether to remember the selected folder on the file manager.

                              -sdSupport: bool
                              +sdSupport: bool

                              Specifies whether support for SD printing and file management should be enabled.

                              -temperatureGraph: bool
                              +temperatureGraph: bool

                              Whether to enable the temperature graph in the UI or not.

                              -uploadOverwriteConfirmation: bool
                              +uploadOverwriteConfirmation: bool
                              -
                              +
                              -class octoprint.schema.config.folder.FolderConfig(*, uploads: Optional[str] = None, timelapse: Optional[str] = None, timelapse_tmp: Optional[str] = None, logs: Optional[str] = None, virtualSd: Optional[str] = None, watched: Optional[str] = None, plugins: Optional[str] = None, slicingProfiles: Optional[str] = None, printerProfiles: Optional[str] = None, scripts: Optional[str] = None, translations: Optional[str] = None, generated: Optional[str] = None, data: Optional[str] = None)
                              +class octoprint.schema.config.folder.FolderConfig(*, uploads: str | None = None, timelapse: str | None = None, timelapse_tmp: str | None = None, logs: str | None = None, virtualSd: str | None = None, watched: str | None = None, plugins: str | None = None, slicingProfiles: str | None = None, printerProfiles: str | None = None, scripts: str | None = None, translations: str | None = None, generated: str | None = None, data: str | None = None)
                              -data: Optional[str]
                              +data: str | None

                              Absolute path where to store additional data. Defaults to the data folder in OctoPrint’s base folder.

                              -generated: Optional[str]
                              +generated: str | None

                              Absolute path where to store generated files. Defaults to the generated folder in OctoPrint’s base folder.

                              -logs: Optional[str]
                              +logs: str | None

                              Absolute path where to store logs. Defaults to the logs folder in OctoPrint’s base folder.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'data': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store additional data. Defaults to the `data` folder in OctoPrint's base folder."), 'generated': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store generated files. Defaults to the `generated` folder in OctoPrint's base folder."), 'logs': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store logs. Defaults to the `logs` folder in OctoPrint's base folder."), 'plugins': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to locate and install single file plugins. Defaults to the `plugins` folder in OctoPrint's base folder."), 'printerProfiles': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store printer profiles. Defaults to the `printerProfiles` folder in OctoPrint's base folder."), 'scripts': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store (GCODE) scripts. Defaults to the `scripts` folder in OctoPrint's base folder."), 'slicingProfiles': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store slicing profiles. Defaults to the `slicingProfiles` folder in OctoPrint's base folder."), 'timelapse': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store finished timelase recordings. Defaults to the `timelapse` folder in OctoPrint's base folder."), 'timelapse_tmp': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store temporary timelapse snapshots. Defaults to the `timelapse/tmp` folder in OctoPrint's base folder."), 'translations': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store additional translations. Defaults to the `translations` folder in OctoPrint's base folder."), 'uploads': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store gcode uploads. Defaults to the `uploads` folder in OctoPrint's base folder."), 'virtualSd': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path where to store the virtual printer's SD card files. Defaults to the `virtualSd` folder in OctoPrint's base folder."), 'watched': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Absolute path to the watched folder. Defaults to the `watched` folder in OctoPrint's base folder.")}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -plugins: Optional[str]
                              +plugins: str | None

                              Absolute path where to locate and install single file plugins. Defaults to the plugins folder in OctoPrint’s base folder.

                              -printerProfiles: Optional[str]
                              +printerProfiles: str | None

                              Absolute path where to store printer profiles. Defaults to the printerProfiles folder in OctoPrint’s base folder.

                              -scripts: Optional[str]
                              +scripts: str | None

                              Absolute path where to store (GCODE) scripts. Defaults to the scripts folder in OctoPrint’s base folder.

                              -slicingProfiles: Optional[str]
                              +slicingProfiles: str | None

                              Absolute path where to store slicing profiles. Defaults to the slicingProfiles folder in OctoPrint’s base folder.

                              -timelapse: Optional[str]
                              +timelapse: str | None

                              Absolute path where to store finished timelase recordings. Defaults to the timelapse folder in OctoPrint’s base folder.

                              -timelapse_tmp: Optional[str]
                              +timelapse_tmp: str | None

                              Absolute path where to store temporary timelapse snapshots. Defaults to the timelapse/tmp folder in OctoPrint’s base folder.

                              -translations: Optional[str]
                              +translations: str | None

                              Absolute path where to store additional translations. Defaults to the translations folder in OctoPrint’s base folder.

                              -uploads: Optional[str]
                              +uploads: str | None

                              Absolute path where to store gcode uploads. Defaults to the uploads folder in OctoPrint’s base folder.

                              -virtualSd: Optional[str]
                              +virtualSd: str | None

                              Absolute path where to store the virtual printer’s SD card files. Defaults to the virtualSd folder in OctoPrint’s base folder.

                              -watched: Optional[str]
                              +watched: str | None

                              Absolute path to the watched folder. Defaults to the watched folder in OctoPrint’s base folder.

                              -
                              +
                              -class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
                              +class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
                              -bedZ: float
                              +bedZ: float

                              Z position considered the location of the bed.

                              -maxExtruders: int
                              +maxExtruders: int

                              Maximum number of extruders to support/to sanity check for.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bedZ': FieldInfo(annotation=float, required=False, default=0.0, description='Z position considered the location of the bed.'), 'maxExtruders': FieldInfo(annotation=int, required=False, default=10, description='Maximum number of extruders to support/to sanity check for.'), 'runAt': FieldInfo(annotation=RunAtEnum, required=False, default=<RunAtEnum.idle: 'idle'>, description='Whether to run the analysis only when idle (not printing), regardless of printing state or never.'), 'throttle_highprio': FieldInfo(annotation=float, required=False, default=0.0, description='Pause between each processed GCODE line batch in high priority mode (e.g. on fresh uploads), seconds.'), 'throttle_lines': FieldInfo(annotation=int, required=False, default=100, description='GCODE line batch size.'), 'throttle_normalprio': FieldInfo(annotation=float, required=False, default=0.01, description='Pause between each processed GCODE line batch in normal priority mode, seconds.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -runAt: RunAtEnum
                              +runAt: RunAtEnum

                              Whether to run the analysis only when idle (not printing), regardless of printing state or never.

                              -throttle_highprio: float
                              +throttle_highprio: float

                              Pause between each processed GCODE line batch in high priority mode (e.g. on fresh uploads), seconds.

                              -throttle_lines: int
                              +throttle_lines: int

                              GCODE line batch size.

                              -throttle_normalprio: float
                              +throttle_normalprio: float

                              Pause between each processed GCODE line batch in normal priority mode, seconds.

                              @@ -1923,254 +2508,374 @@
                              -class octoprint.schema.config.gcode_analysis.RunAtEnum(value)
                              +class octoprint.schema.config.gcode_analysis.RunAtEnum(value)

                              An enumeration.

                              -always = 'always'
                              +always = 'always'
                              -idle = 'idle'
                              +idle = 'idle'
                              -never = 'never'
                              +never = 'never'
                              -
                              +
                              -class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {}, _flags: Dict[str, List[str]] = {})
                              +class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {}, _flags: Dict[str, List[str]] = {})
                              -disabled: List[str]
                              +disabled: List[str]

                              Identifiers of installed but disabled plugins.

                              -flags: Dict[str, List[str]]
                              +flags: Dict[str, List[str]]

                              Configured flags for plugins by plugin identifier.

                              -forced_compatible: List[str]
                              +forced_compatible: List[str]

                              Identifiers of plugins for which python compatibility information will be ignored and the plugin considered compatible in any case. Only for development, do NOT use in production.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'disabled': FieldInfo(annotation=List[str], required=False, default=[], alias='_disabled', alias_priority=2, description='Identifiers of installed but disabled plugins.'), 'flags': FieldInfo(annotation=Dict[str, List[str]], required=False, default={}, alias='_flags', alias_priority=2, description='Configured flags for plugins by plugin identifier.'), 'forced_compatible': FieldInfo(annotation=List[str], required=False, default=[], alias='_forcedCompatible', alias_priority=2, description='Identifiers of plugins for which python compatibility information will be ignored and the plugin considered compatible in any case. Only for development, do **NOT** use in production.'), 'sorting_order': FieldInfo(annotation=Dict[str, Dict[str, int]], required=False, default={}, alias='_sortingOrder', alias_priority=2, description='Custom sorting of hooks and implementations provided by plugins. Two-tiered dictionary structure, plugin identifier mapping to a dictionary of order overrides mapped by sorting context/hook name.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -sorting_order: Dict[str, Dict[str, int]]
                              +sorting_order: Dict[str, Dict[str, int]]

                              Custom sorting of hooks and implementations provided by plugins. Two-tiered dictionary structure, plugin identifier mapping to a dictionary of order overrides mapped by sorting context/hook name.

                              -
                              +
                              -class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
                              +class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'pauseTriggers': FieldInfo(annotation=List[str], required=False, default=[])}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              -pauseTriggers: List[str]
                              +pauseTriggers: List[str]
                              -
                              +
                              -class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: Optional[str] = None)
                              +class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: str | None = None)
                              -default: Optional[str]
                              +default: str | None

                              Name of the printer profile to default to.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              -
                              +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'default': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Name of the printer profile to default to.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              + +
                              -class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: Optional[str] = None, beforePrinterDisconnected: Optional[str] = None, beforePrintStarted: Optional[str] = None, afterPrintCancelled: Optional[str] = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: Optional[str] = None, beforePrintPaused: Optional[str] = None, afterPrintResumed: Optional[str] = None, beforeToolChange: Optional[str] = None, afterToolChange: Optional[str] = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
                              +class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: str | None = None, beforePrinterDisconnected: str | None = None, beforePrintStarted: str | None = None, afterPrintCancelled: str | None = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: str | None = None, beforePrintPaused: str | None = None, afterPrintResumed: str | None = None, beforeToolChange: str | None = None, afterToolChange: str | None = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
                              -afterPrintCancelled: Optional[str]
                              +afterPrintCancelled: str | None
                              -afterPrintDone: Optional[str]
                              +afterPrintDone: str | None
                              -afterPrintResumed: Optional[str]
                              +afterPrintResumed: str | None
                              -afterPrinterConnected: Optional[str]
                              +afterPrinterConnected: str | None
                              -afterToolChange: Optional[str]
                              +afterToolChange: str | None
                              -beforePrintPaused: Optional[str]
                              +beforePrintPaused: str | None
                              -beforePrintStarted: Optional[str]
                              +beforePrintStarted: str | None
                              -beforePrinterDisconnected: Optional[str]
                              +beforePrinterDisconnected: str | None
                              -beforeToolChange: Optional[str]
                              +beforeToolChange: str | None
                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'afterPrintCancelled': FieldInfo(annotation=Union[str, NoneType], required=False, default="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0"), 'afterPrintDone': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'afterPrintResumed': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'afterPrinterConnected': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'afterToolChange': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforePrintPaused': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforePrintStarted': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforePrinterDisconnected': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'beforeToolChange': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'snippets': FieldInfo(annotation=Dict[str, str], required=False, default={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -snippets: Dict[str, str]
                              +snippets: Dict[str, str]
                              -class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
                              +class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
                              -gcode: GcodeScriptsConfig
                              +gcode: GcodeScriptsConfig
                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              -
                              +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'gcode': FieldInfo(annotation=GcodeScriptsConfig, required=False, default=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              + +
                              -class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)
                              +class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)

                              An enumeration.

                              -always = 'always'
                              +always = 'always'
                              -detect = 'detect'
                              +detect = 'detect'
                              -never = 'never'
                              +never = 'never'
                              -class octoprint.schema.config.serial.InfoWarnNeverEnum(value)
                              +class octoprint.schema.config.serial.InfoWarnNeverEnum(value)

                              An enumeration.

                              -info = 'info'
                              +info = 'info'
                              -never = 'never'
                              +never = 'never'
                              -warn = 'warn'
                              +warn = 'warn'
                              -class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
                              +class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
                              -autoreport_pos: bool
                              +autoreport_pos: bool

                              Whether to enable position autoreport in the firmware if its support is detected

                              -autoreport_sdstatus: bool
                              +autoreport_sdstatus: bool

                              Whether to enable SD printing autoreport in the firmware if its support is detected

                              -autoreport_temp: bool
                              +autoreport_temp: bool

                              Whether to enable temperature autoreport in the firmware if its support is detected

                              -busy_protocol: bool
                              +busy_protocol: bool

                              Whether to shorten the communication timeout if the firmware seems to support the busy protocol

                              -emergency_parser: bool
                              +emergency_parser: bool

                              Whether to send emergency commands out of band if the firmware seems to support the emergency parser

                              -extended_m20: bool
                              +extended_m20: bool

                              Whether to request extended M20 (file list) output from the firmware if its support is detected

                              -lfn_write: bool
                              +lfn_write: bool

                              Whether to enable long filename support for SD card writes if the firmware reports support for it

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'autoreport_pos': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable position autoreport in the firmware if its support is detected'), 'autoreport_sdstatus': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable SD printing autoreport in the firmware if its support is detected'), 'autoreport_temp': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable temperature autoreport in the firmware if its support is detected'), 'busy_protocol': FieldInfo(annotation=bool, required=False, default=True, description='Whether to shorten the communication timeout if the firmware seems to support the busy protocol'), 'emergency_parser': FieldInfo(annotation=bool, required=False, default=True, description='Whether to send emergency commands out of band if the firmware seems to support the emergency parser'), 'extended_m20': FieldInfo(annotation=bool, required=False, default=True, description='Whether to request extended M20 (file list) output from the firmware if its support is detected'), 'lfn_write': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable long filename support for SD card writes if the firmware reports support for it')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -class octoprint.schema.config.serial.SerialConfig(*, port: Optional[str] = None, baudrate: Optional[int] = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', suppressSecondHello: bool = False, disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
                              +class octoprint.schema.config.serial.SerialConfig(*, port: str | None = None, baudrate: int | None = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', suppressSecondHello: bool = False, disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
                              -abortHeatupOnCancel: bool
                              +abortHeatupOnCancel: bool
                              -ackMax: int
                              +ackMax: int
                              -additionalBaudrates: List[int]
                              +additionalBaudrates: List[int]

                              Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer

                              -additionalPorts: List[str]
                              +additionalPorts: List[str]

                              //docs.python.org/3/library/glob.html)

                              -
                              Type
                              +
                              Type:

                              Use this to define additional patterns to consider for serial port listing. Must be a valid [“glob” pattern](http

                              @@ -2178,95 +2883,95 @@
                              -alwaysSendChecksum: bool
                              +alwaysSendChecksum: bool

                              Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.

                              -autoconnect: bool
                              +autoconnect: bool

                              Whether to try to automatically connect to the printer on startup or not

                              -autorefresh: bool
                              +autorefresh: bool

                              Whether to automatically refresh the port list while no connection is established

                              -autorefreshInterval: int
                              +autorefreshInterval: int

                              Interval in seconds at which to refresh the port list while no connection is established

                              -baudrate: Optional[int]
                              +baudrate: int | None

                              The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.

                              -blacklistedBaudrates: List[int]
                              +blacklistedBaudrates: List[int]
                              -blacklistedPorts: List[str]
                              +blacklistedPorts: List[str]
                              -blockWhileDwelling: bool
                              +blockWhileDwelling: bool

                              Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).

                              -blockedCommands: List[str]
                              +blockedCommands: List[str]

                              Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.

                              -capabilities: SerialCapabilities
                              +capabilities: SerialCapabilities
                              -checksumRequiringCommands: List[str]
                              +checksumRequiringCommands: List[str]

                              Commands which need to always be send with a checksum.

                              -disableSdPrintingDetection: bool
                              +disableSdPrintingDetection: bool
                              -disconnectOnErrors: bool
                              +disconnectOnErrors: bool

                              Whether to disconnect from the printer on errors or not.

                              -emergencyCommands: List[str]
                              +emergencyCommands: List[str]
                              -enableShutdownActionCommand: bool
                              +enableShutdownActionCommand: bool

                              Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it’s running on.

                              -encoding: str
                              +encoding: str

                              //docs.python.org/3/library/codecs.html#standard-encodings).

                              -
                              Type
                              +
                              Type:

                              Encoding to use when talking to a machine. ascii limits access to characters 0-127, latin_1 enables access to the “extended” ascii characters 0-255. Other values can be used, see [Python’s standard encodings](https

                              @@ -2274,68 +2979,68 @@
                              -exclusive: bool
                              +exclusive: bool

                              Whether to request the serial port exclusively or not

                              -externalHeatupDetection: bool
                              +externalHeatupDetection: bool

                              Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer’s LCD panel or while printing from SD) or not. Causes issues with Repetier’s “first ok then response” approach to communication, so disable for printers running Repetier firmware.

                              -firmwareDetection: bool
                              +firmwareDetection: bool

                              Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).

                              -helloCommand: str
                              +helloCommand: str

                              Command to send in order to initiate a handshake with the printer.

                              -identicalResendsCountdown: int
                              +identicalResendsCountdown: int

                              If ignoreIdenticalResends is true, how many consecutive identical resends to ignore.

                              -ignoreEmptyPorts: bool
                              +ignoreEmptyPorts: bool
                              -ignoreErrorsFromFirmware: bool
                              +ignoreErrorsFromFirmware: bool

                              Whether to completely ignore errors from the firmware or not.

                              -ignoreIdenticalResends: bool
                              +ignoreIdenticalResends: bool

                              Whether to ignore identical resends from the printer (true, repetier) or not (false).

                              -ignoredCommands: List[str]
                              +ignoredCommands: List[str]

                              Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.

                              -lastLineBufferSize: int
                              +lastLineBufferSize: int
                              -log: bool
                              +log: bool

                              might decrease performance)

                              -
                              Type
                              +
                              Type:

                              Whether to log whole communication to serial.log (warning

                              @@ -2343,200 +3048,215 @@
                              -logPositionOnCancel: bool
                              +logPositionOnCancel: bool
                              -logPositionOnPause: bool
                              +logPositionOnPause: bool
                              -logResends: bool
                              +logResends: bool

                              Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.

                              -longRunningCommands: List[str]
                              +longRunningCommands: List[str]

                              Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.

                              -lowLatency: bool
                              +lowLatency: bool

                              Whether to request low latency mode on the serial port or not

                              -maxCommunicationTimeouts: SerialMaxTimeouts
                              +maxCommunicationTimeouts: SerialMaxTimeouts
                              -maxConsecutiveResends: int
                              +maxConsecutiveResends: int
                              -maxNotSdPrinting: int
                              +maxNotSdPrinting: int
                              -maxWritePasses: int
                              +maxWritePasses: int

                              Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'abortHeatupOnCancel': FieldInfo(annotation=bool, required=False, default=True), 'ackMax': FieldInfo(annotation=int, required=False, default=1), 'additionalBaudrates': FieldInfo(annotation=List[int], required=False, default=[], description='Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer'), 'additionalPorts': FieldInfo(annotation=List[str], required=False, default=[], description='Use this to define additional patterns to consider for serial port listing. Must be a valid ["glob" pattern](http://docs.python.org/3/library/glob.html)'), 'alwaysSendChecksum': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.'), 'autoconnect': FieldInfo(annotation=bool, required=False, default=False, description='Whether to try to automatically connect to the printer on startup or not'), 'autorefresh': FieldInfo(annotation=bool, required=False, default=True, description='Whether to automatically refresh the port list while no connection is established'), 'autorefreshInterval': FieldInfo(annotation=int, required=False, default=1, description='Interval in seconds at which to refresh the port list while no connection is established'), 'baudrate': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.'), 'blacklistedBaudrates': FieldInfo(annotation=List[int], required=False, default=[]), 'blacklistedPorts': FieldInfo(annotation=List[str], required=False, default=[]), 'blockWhileDwelling': FieldInfo(annotation=bool, required=False, default=False, description='Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).'), 'blockedCommands': FieldInfo(annotation=List[str], required=False, default=['M0', 'M1'], description='Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.'), 'capabilities': FieldInfo(annotation=SerialCapabilities, required=False, default=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True)), 'checksumRequiringCommands': FieldInfo(annotation=List[str], required=False, default=['M110'], description='Commands which need to always be send with a checksum.'), 'disableSdPrintingDetection': FieldInfo(annotation=bool, required=False, default=False), 'disconnectOnErrors': FieldInfo(annotation=bool, required=False, default=True, description='Whether to disconnect from the printer on errors or not.'), 'emergencyCommands': FieldInfo(annotation=List[str], required=False, default=['M112', 'M108', 'M410']), 'enableShutdownActionCommand': FieldInfo(annotation=bool, required=False, default=False, description="Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it's running on."), 'encoding': FieldInfo(annotation=str, required=False, default='ascii', description='Encoding to use when talking to a machine. `ascii` limits access to characters 0-127, `latin_1` enables access to the "extended" ascii characters 0-255. Other values can be used, see [Python\'s standard encodings](https://docs.python.org/3/library/codecs.html#standard-encodings).'), 'exclusive': FieldInfo(annotation=bool, required=False, default=True, description='Whether to request the serial port exclusively or not'), 'externalHeatupDetection': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer\'s LCD panel or while printing from SD) or not. Causes issues with Repetier\'s "first ok then response" approach to communication, so disable for printers running Repetier firmware.'), 'firmwareDetection': FieldInfo(annotation=bool, required=False, default=True, description='Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).'), 'helloCommand': FieldInfo(annotation=str, required=False, default='M110 N0', description='Command to send in order to initiate a handshake with the printer.'), 'identicalResendsCountdown': FieldInfo(annotation=int, required=False, default=7, description='If `ignoreIdenticalResends` is true, how many consecutive identical resends to ignore.'), 'ignoreEmptyPorts': FieldInfo(annotation=bool, required=False, default=False), 'ignoreErrorsFromFirmware': FieldInfo(annotation=bool, required=False, default=False, description='Whether to completely ignore errors from the firmware or not.'), 'ignoreIdenticalResends': FieldInfo(annotation=bool, required=False, default=False, description='Whether to ignore identical resends from the printer (true, repetier) or not (false).'), 'ignoredCommands': FieldInfo(annotation=List[str], required=False, default=[], description='Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.'), 'lastLineBufferSize': FieldInfo(annotation=int, required=False, default=50), 'log': FieldInfo(annotation=bool, required=False, default=False, description='Whether to log whole communication to serial.log (warning: might decrease performance)'), 'logPositionOnCancel': FieldInfo(annotation=bool, required=False, default=False), 'logPositionOnPause': FieldInfo(annotation=bool, required=False, default=True), 'logResends': FieldInfo(annotation=bool, required=False, default=True, description='Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.'), 'longRunningCommands': FieldInfo(annotation=List[str], required=False, default=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], description='Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.'), 'lowLatency': FieldInfo(annotation=bool, required=False, default=False, description='Whether to request low latency mode on the serial port or not'), 'maxCommunicationTimeouts': FieldInfo(annotation=SerialMaxTimeouts, required=False, default=SerialMaxTimeouts(idle=2, printing=5, long=5)), 'maxConsecutiveResends': FieldInfo(annotation=int, required=False, default=10), 'maxNotSdPrinting': FieldInfo(annotation=int, required=False, default=2), 'maxWritePasses': FieldInfo(annotation=int, required=False, default=5, description='Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error'), 'neverSendChecksum': FieldInfo(annotation=bool, required=False, default=False), 'notifySuppressedCommands': FieldInfo(annotation=InfoWarnNeverEnum, required=False, default='warn'), 'pausingCommands': FieldInfo(annotation=List[str], required=False, default=['M0', 'M1', 'M25'], description='Commands which should cause OctoPrint to pause any ongoing prints.'), 'port': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The default port to use to connect to the printer. If unset or set to `AUTO`, the port will be auto-detected.'), 'repetierTargetTemp': FieldInfo(annotation=bool, required=False, default=False, description='Whether the printer sends repetier style target temperatures in the format `TargetExtr0:<temperature>` instead of attaching that information to the regular `M105` responses.'), 'resendRatioStart': FieldInfo(annotation=int, required=False, default=100), 'resendRatioThreshold': FieldInfo(annotation=int, required=False, default=10, description='Percentage of resend requests among all sent lines that should be considered critical.'), 'sanityCheckTools': FieldInfo(annotation=bool, required=False, default=True), 'sdAlwaysAvailable': FieldInfo(annotation=bool, required=False, default=False, description="Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don't report the SD card status properly."), 'sdCancelCommand': FieldInfo(annotation=str, required=False, default='M25'), 'sdLowerCase': FieldInfo(annotation=bool, required=False, default=False), 'sdRelativePath': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether firmware expects relative paths for selecting SD files.'), 'sendChecksumWithUnknownCommands': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether OctoPrint should also send linenumber + checksum with commands that are *not* detected as valid GCODE (as in, they do not match the regular expression `^\\s*([GM]\\d+|T)`).'), 'sendM112OnError': FieldInfo(annotation=bool, required=False, default=True), 'supportFAsCommand': FieldInfo(annotation=bool, required=False, default=False, description='Whether to support `F` on its own as a valid GCODE command (true) or not (false).'), 'supportResendsWithoutOk': FieldInfo(annotation=AlwaysDetectNeverEnum, required=False, default='detect', description='Whether to support resends without follow-up ok or not.'), 'supportWait': FieldInfo(annotation=bool, required=False, default=True), 'suppressSecondHello': FieldInfo(annotation=bool, required=False, default=False, description='Whether to suppress the second hello command. Might be required for some printer configurations with custom hello commands.'), 'swallowOkAfterResend': FieldInfo(annotation=bool, required=False, default=True), 'terminalLogSize': FieldInfo(annotation=int, required=False, default=20), 'timeout': FieldInfo(annotation=SerialTimeoutConfig, required=False, default=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), description='Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems'), 'triggerOkForM29': FieldInfo(annotation=bool, required=False, default=True, description='Whether to automatically trigger an ok for `M29` (a lot of versions of this command are buggy and the response skips on the ok).'), 'unknownCommandsNeedAck': FieldInfo(annotation=bool, required=False, default=False, description='Specifies whether OctoPrint should also use up acknowledgments (`ok`) for commands that are *not* detected as valid GCODE (as in, they do not match the regular expression `^\\s*([GM]\\d+|T)`).'), 'useParityWorkaround': FieldInfo(annotation=AlwaysDetectNeverEnum, required=False, default='detect'), 'waitForStartOnConnect': FieldInfo(annotation=bool, required=False, default=False, description='Whether OctoPrint should wait for the `start` response from the printer before trying to send commands during connect.'), 'waitToLoadSdFileList': FieldInfo(annotation=bool, required=False, default=True, description='Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -neverSendChecksum: bool
                              +neverSendChecksum: bool
                              -notifySuppressedCommands: InfoWarnNeverEnum
                              +notifySuppressedCommands: InfoWarnNeverEnum
                              -pausingCommands: List[str]
                              +pausingCommands: List[str]

                              Commands which should cause OctoPrint to pause any ongoing prints.

                              -port: Optional[str]
                              +port: str | None

                              The default port to use to connect to the printer. If unset or set to AUTO, the port will be auto-detected.

                              -repetierTargetTemp: bool
                              -

                              <temperature>` instead of attaching that information to the regular M105 responses.

                              -
                              -
                              Type
                              -

                              Whether the printer sends repetier style target temperatures in the format `TargetExtr0

                              -
                              -
                              +repetierTargetTemp: bool +

                              Whether the printer sends repetier style target temperatures in the format TargetExtr0:<temperature> instead of attaching that information to the regular M105 responses.

                              -resendRatioStart: int
                              +resendRatioStart: int
                              -resendRatioThreshold: int
                              +resendRatioThreshold: int

                              Percentage of resend requests among all sent lines that should be considered critical.

                              -sanityCheckTools: bool
                              +sanityCheckTools: bool
                              -sdAlwaysAvailable: bool
                              +sdAlwaysAvailable: bool

                              Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don’t report the SD card status properly.

                              -sdCancelCommand: str
                              +sdCancelCommand: str
                              -sdLowerCase: bool
                              +sdLowerCase: bool
                              -sdRelativePath: bool
                              +sdRelativePath: bool

                              Specifies whether firmware expects relative paths for selecting SD files.

                              -sendChecksumWithUnknownCommands: bool
                              +sendChecksumWithUnknownCommands: bool

                              Specifies whether OctoPrint should also send linenumber + checksum with commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

                              -sendM112OnError: bool
                              +sendM112OnError: bool
                              -supportFAsCommand: bool
                              +supportFAsCommand: bool

                              Whether to support F on its own as a valid GCODE command (true) or not (false).

                              -supportResendsWithoutOk: AlwaysDetectNeverEnum
                              +supportResendsWithoutOk: AlwaysDetectNeverEnum

                              Whether to support resends without follow-up ok or not.

                              -supportWait: bool
                              +supportWait: bool
                              -suppressSecondHello: bool
                              +suppressSecondHello: bool

                              Whether to suppress the second hello command. Might be required for some printer configurations with custom hello commands.

                              -swallowOkAfterResend: bool
                              +swallowOkAfterResend: bool
                              -terminalLogSize: int
                              +terminalLogSize: int
                              -timeout: SerialTimeoutConfig
                              +timeout: SerialTimeoutConfig

                              Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems

                              -triggerOkForM29: bool
                              +triggerOkForM29: bool

                              Whether to automatically trigger an ok for M29 (a lot of versions of this command are buggy and the response skips on the ok).

                              -unknownCommandsNeedAck: bool
                              +unknownCommandsNeedAck: bool

                              Specifies whether OctoPrint should also use up acknowledgments (ok) for commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

                              -useParityWorkaround: AlwaysDetectNeverEnum
                              +useParityWorkaround: AlwaysDetectNeverEnum
                              -waitForStartOnConnect: bool
                              +waitForStartOnConnect: bool

                              Whether OctoPrint should wait for the start response from the printer before trying to send commands during connect.

                              -waitToLoadSdFileList: bool
                              +waitToLoadSdFileList: bool

                              Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.

                              @@ -2544,22 +3264,42 @@
                              -class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
                              +class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
                              -idle: int
                              +idle: int

                              Max. timeouts when the printer is idle

                              -long: int
                              +long: int

                              Max. timeouts when a long running command is active

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'idle': FieldInfo(annotation=int, required=False, default=2, description='Max. timeouts when the printer is idle'), 'long': FieldInfo(annotation=int, required=False, default=5, description='Max. timeouts when a long running command is active'), 'printing': FieldInfo(annotation=int, required=False, default=5, description='Max. timeouts when the printer is printing')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -printing: int
                              +printing: int

                              Max. timeouts when the printer is printing

                              @@ -2567,109 +3307,149 @@
                              -class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
                              +class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
                              -baudrateDetectionPause: float
                              +baudrateDetectionPause: float
                              -communication: float
                              +communication: float

                              Timeout during serial communication, in seconds

                              -communicationBusy: float
                              +communicationBusy: float

                              Timeout during serial communication when busy protocol support is detected, in seconds

                              -connection: float
                              +connection: float

                              Timeout for waiting to establish a connection with the selected port, in seconds

                              -detectionConsecutive: float
                              +detectionConsecutive: float
                              -detectionFirst: float
                              +detectionFirst: float
                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'baudrateDetectionPause': FieldInfo(annotation=float, required=False, default=1.0), 'communication': FieldInfo(annotation=float, required=False, default=30.0, description='Timeout during serial communication, in seconds'), 'communicationBusy': FieldInfo(annotation=float, required=False, default=3.0, description='Timeout during serial communication when busy protocol support is detected, in seconds'), 'connection': FieldInfo(annotation=float, required=False, default=10.0, description='Timeout for waiting to establish a connection with the selected port, in seconds'), 'detectionConsecutive': FieldInfo(annotation=float, required=False, default=2.0), 'detectionFirst': FieldInfo(annotation=float, required=False, default=10.0), 'posAutoreport': FieldInfo(annotation=float, required=False, default=5.0), 'positionLogWait': FieldInfo(annotation=float, required=False, default=10.0), 'resendOk': FieldInfo(annotation=float, required=False, default=0.5), 'sdStatus': FieldInfo(annotation=float, required=False, default=1.0, description='Timeout after which to query the SD status while SD printing'), 'sdStatusAutoreport': FieldInfo(annotation=float, required=False, default=1.0), 'temperature': FieldInfo(annotation=float, required=False, default=5.0, description='Timeout after which to query temperature when no target is set'), 'temperatureAutoreport': FieldInfo(annotation=float, required=False, default=2.0), 'temperatureTargetSet': FieldInfo(annotation=float, required=False, default=2.0, description='Timeout after which to query temperature when a target is set')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -posAutoreport: float
                              +posAutoreport: float
                              -positionLogWait: float
                              +positionLogWait: float
                              -resendOk: float
                              +resendOk: float
                              -sdStatus: float
                              +sdStatus: float

                              Timeout after which to query the SD status while SD printing

                              -sdStatusAutoreport: float
                              +sdStatusAutoreport: float
                              -temperature: float
                              +temperature: float

                              Timeout after which to query temperature when no target is set

                              -temperatureAutoreport: float
                              +temperatureAutoreport: float
                              -temperatureTargetSet: float
                              +temperatureTargetSet: float

                              Timeout after which to query temperature when a target is set

                              -
                              +
                              -class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: Optional[str] = None, systemRestartCommand: Optional[str] = None, serverRestartCommand: Optional[str] = None, localPipCommand: Optional[str] = None)
                              +class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: str | None = None, systemRestartCommand: str | None = None, serverRestartCommand: str | None = None, localPipCommand: str | None = None)
                              -localPipCommand: Optional[str]
                              +localPipCommand: str | None

                              pip command associated with OctoPrint, used for installing plugins and updates, if unset (default) the command will be autodetected based on the current python executable - unless you have a really special setup this is the right way to do it and there should be no need to ever touch this setting.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'localPipCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='pip command associated with OctoPrint, used for installing plugins and updates, if unset (default) the command will be autodetected based on the current python executable - unless you have a really special setup this is the right way to do it and there should be no need to ever touch this setting.'), 'serverRestartCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Command to restart OctoPrint.'), 'systemRestartCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Command to restart the system OctoPrint is running on.'), 'systemShutdownCommand': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Command to shut down the system OctoPrint is running on.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -serverRestartCommand: Optional[str]
                              +serverRestartCommand: str | None

                              Command to restart OctoPrint.

                              -systemRestartCommand: Optional[str]
                              +systemRestartCommand: str | None

                              Command to restart the system OctoPrint is running on.

                              -systemShutdownCommand: Optional[str]
                              +systemShutdownCommand: str | None

                              Command to shut down the system OctoPrint is running on.

                              @@ -2677,16 +3457,36 @@
                              -class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: Optional[SameSiteEnum] = SameSiteEnum.lax)
                              +class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: SameSiteEnum | None = SameSiteEnum.lax)
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'samesite': FieldInfo(annotation=Union[SameSiteEnum, NoneType], required=False, default=<SameSiteEnum.lax: 'Lax'>, description='`SameSite` setting to use on the cookies. Possible values are `None`, `Lax` and `Strict`. Defaults to `Lax`. Be advised that if forced unset, this has security implications as many browsers now default to `Lax` unless you configure cookies to be set with `Secure` flag set, explicitly set `SameSite` setting here and also serve OctoPrint over https. The `Lax` setting is known to cause with embedding OctoPrint in frames. See also ["Feature: Cookies default to SameSite=Lax"](https://www.chromestatus.com/feature/5088147346030592), ["Feature: Reject insecure SameSite=None cookies"](https://www.chromestatus.com/feature/5633521622188032) and [issue #3482](https://github.com/OctoPrint/OctoPrint/issues/3482).'), 'secure': FieldInfo(annotation=bool, required=False, default=False, description='Whether to set the `Secure` flag to true on cookies. Only set to true if you are running OctoPrint behind a reverse proxy taking care of SSL termination.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              -samesite: Optional[SameSiteEnum]
                              +samesite: SameSiteEnum | None

                              //www.chromestatus.com/feature/5088147346030592), [“Feature: Reject insecure SameSite=None cookies”](https://www.chromestatus.com/feature/5633521622188032) and [issue #3482](https://github.com/OctoPrint/OctoPrint/issues/3482).

                              -
                              Type
                              +
                              Type:

                              SameSite setting to use on the cookies. Possible values are None, Lax and Strict. Defaults to Lax. Be advised that if forced unset, this has security implications as many browsers now default to Lax unless you configure cookies to be set with Secure flag set, explicitly set SameSite setting here and also serve OctoPrint over https. The Lax setting is known to cause with embedding OctoPrint in frames. See also [“Feature

                              -
                              Type
                              +
                              Type:

                              Cookies default to SameSite=Lax”](https

                              @@ -2694,7 +3494,7 @@
                              -secure: bool
                              +secure: bool

                              Whether to set the Secure flag to true on cookies. Only set to true if you are running OctoPrint behind a reverse proxy taking care of SSL termination.

                              @@ -2702,16 +3502,36 @@
                              -class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
                              +class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
                              -critical: int
                              +critical: int

                              Threshold (bytes) after which to consider disk space becoming critical, defaults to 200MB.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'critical': FieldInfo(annotation=int, required=False, default=209715200, description='Threshold (bytes) after which to consider disk space becoming critical, defaults to 200MB.'), 'warning': FieldInfo(annotation=int, required=False, default=524288000, description='Threshold (bytes) after which to consider disk space becoming sparse, defaults to 500MB.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -warning: int
                              +warning: int

                              Threshold (bytes) after which to consider disk space becoming sparse, defaults to 500MB.

                              @@ -2719,16 +3539,36 @@
                              -class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
                              +class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
                              -enabled: bool
                              +enabled: bool

                              Whether to enable the check.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the check.'), 'trustedSubnets': FieldInfo(annotation=List[str], required=False, default=[], description='Additional non-local subnets to consider trusted, in CIDR notation, e.g. `192.168.1.0/24`.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -trustedSubnets: List[str]
                              +trustedSubnets: List[str]

                              Additional non-local subnets to consider trusted, in CIDR notation, e.g. 192.168.1.0/24.

                              @@ -2736,34 +3576,54 @@
                              -class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: Optional[bool] = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
                              +class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: bool | None = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
                              -enabled: Optional[bool]
                              +enabled: bool | None

                              Whether the online check is enabled. Ships unset, the user will be asked to make a decision as part of the setup wizard.

                              -host: str
                              +host: str

                              DNS host against which to check, defaults to Cloudflare’s DNS.

                              -interval: int
                              +interval: int

                              Interval in which to check for online connectivity (in seconds), defaults to 15 minutes.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, description='Whether the online check is enabled. Ships unset, the user will be asked to make a decision as part of the setup wizard.'), 'host': FieldInfo(annotation=str, required=False, default='1.1.1.1', description="DNS host against which to check, defaults to Cloudflare's DNS."), 'interval': FieldInfo(annotation=int, required=False, default=900, description='Interval in which to check for online connectivity (in seconds), defaults to 15 minutes.'), 'name': FieldInfo(annotation=str, required=False, default='octoprint.org', description="Host name for which to check name resolution, defaults to OctoPrint's main domain."), 'port': FieldInfo(annotation=int, required=False, default=53, description='DNS port against which to check, defaults to the standard DNS port.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: str
                              +name: str

                              Host name for which to check name resolution, defaults to OctoPrint’s main domain.

                              -port: int
                              +port: int

                              DNS port against which to check, defaults to the standard DNS port.

                              @@ -2771,19 +3631,39 @@
                              -class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: Optional[bool] = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
                              +class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: bool | None = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
                              -enabled: Optional[bool]
                              +enabled: bool | None

                              Whether use of the blacklist is enabled. If unset, the user will be asked to make a decision as part of the setup wizard.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, description='Whether use of the blacklist is enabled. If unset, the user will be asked to make a decision as part of the setup wizard.'), 'timeout': FieldInfo(annotation=float, required=False, default=3.05, description='Timeout for fetching the blacklist, in seconds (default: 3.05 seconds).'), 'ttl': FieldInfo(annotation=int, required=False, default=900, description='Time to live of the cached blacklist, in seconds (default: 15 minutes).'), 'url': FieldInfo(annotation=str, required=False, default='https://plugins.octoprint.org/blacklist.json', description='The URL from which to fetch the blacklist.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -timeout: float
                              +timeout: float

                              3.05 seconds).

                              -
                              Type
                              +
                              Type:

                              Timeout for fetching the blacklist, in seconds (default

                              @@ -2791,10 +3671,10 @@
                              -ttl: int
                              +ttl: int

                              15 minutes).

                              -
                              Type
                              +
                              Type:

                              Time to live of the cached blacklist, in seconds (default

                              @@ -2802,7 +3682,7 @@
                              -url: str
                              +url: str

                              The URL from which to fetch the blacklist.

                              @@ -2810,16 +3690,36 @@
                              -class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
                              +class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
                              -exceptions: List[str]
                              +exceptions: List[str]

                              Which server paths to exclude from the preemptive cache, e.g. /some/path.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'exceptions': FieldInfo(annotation=List[str], required=False, default=[], description='Which server paths to exclude from the preemptive cache, e.g. `/some/path`.'), 'until': FieldInfo(annotation=int, required=False, default=7, description='How many days to leave unused entries in the preemptive cache config.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -until: int
                              +until: int

                              How many days to leave unused entries in the preemptive cache config.

                              @@ -2827,25 +3727,45 @@
                              -class octoprint.schema.config.server.PythonEolCheckConfig(*, enabled: bool = True, url: str = 'https://get.octoprint.org/python-eol', ttl: int = 1440, fallback: Dict[str, PythonEolEntry] = {'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}})
                              +class octoprint.schema.config.server.PythonEolCheckConfig(*, enabled: bool = True, url: str = 'https://get.octoprint.org/python-eol', ttl: int = 1440, fallback: Dict[str, PythonEolEntry] = {'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}})
                              -enabled: bool
                              +enabled: bool

                              Whether to enable the Python EOL warning.

                              -fallback: Dict[str, PythonEolEntry]
                              +fallback: Dict[str, PythonEolEntry]

                              Fallback data for Python EOL data, in case the online check fails.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable the Python EOL warning.'), 'fallback': FieldInfo(annotation=Dict[str, PythonEolEntry], required=False, default={'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}}, description='Fallback data for Python EOL data, in case the online check fails.'), 'ttl': FieldInfo(annotation=int, required=False, default=1440, description='Time to live of the cached Python EOL data, in minutes (default: 24 hours).'), 'url': FieldInfo(annotation=str, required=False, default='https://get.octoprint.org/python-eol', description='URL to fetch the Python EOL data from.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -ttl: int
                              +ttl: int

                              24 hours).

                              -
                              Type
                              +
                              Type:

                              Time to live of the cached Python EOL data, in minutes (default

                              @@ -2853,7 +3773,7 @@
                              -url: str
                              +url: str

                              URL to fetch the Python EOL data from.

                              @@ -2861,89 +3781,129 @@
                              -class octoprint.schema.config.server.PythonEolEntry(*, date: str, last_octoprint: Optional[str] = None)
                              +class octoprint.schema.config.server.PythonEolEntry(*, date: str, last_octoprint: str | None = None)
                              -date: str
                              +date: str

                              The date when the Python version will reach EOL, in format YYYY-MM-DD.

                              -last_octoprint: Optional[str]
                              +last_octoprint: str | None

                              The last OctoPrint version that will support this Python version, optional.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'date': FieldInfo(annotation=str, required=True, description='The date when the Python version will reach EOL, in format YYYY-MM-DD.'), 'last_octoprint': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The last OctoPrint version that will support this Python version, optional.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: Optional[str] = None, schemeHeader: Optional[str] = None, hostHeader: Optional[str] = None, serverHeader: Optional[str] = None, portHeader: Optional[str] = None, prefixFallback: Optional[str] = None, schemeFallback: Optional[str] = None, hostFallback: Optional[str] = None, serverFallback: Optional[str] = None, portFallback: Optional[str] = None, trustedProxies: List[str] = [], trustLocalhostProxies: bool = True)
                              +class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: str | None = None, schemeHeader: str | None = None, hostHeader: str | None = None, serverHeader: str | None = None, portHeader: str | None = None, prefixFallback: str | None = None, schemeFallback: str | None = None, hostFallback: str | None = None, serverFallback: str | None = None, portFallback: str | None = None, trustedProxies: List[str] = [], trustLocalhostProxies: bool = True)
                              -hostFallback: Optional[str]
                              +hostFallback: str | None

                              Use this option to define an optional forced host under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname than OctoPrint itself but can’t configure said reverse proxy to send a host HTTP header (X-Forwarded-Host by default, see above) with forwarded requests.

                              -hostHeader: Optional[str]
                              +hostHeader: str | None

                              The request header from which to determine the host under which OctoPrint is served by the reverse proxy.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'hostFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Use this option to define an optional forced host under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname than OctoPrint itself but can't configure said reverse proxy to send a host HTTP header (X-Forwarded-Host by default, see above) with forwarded requests."), 'hostHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The request header from which to determine the host under which OctoPrint is served by the reverse proxy.'), 'portFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'portHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'prefixFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Use this option to define an optional URL prefix (with a leading /, so absolute to your server's root) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy under a different root endpoint than `/` and can't configure said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with forwarded requests."), 'prefixHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The request header from which to determine the URL prefix under which OctoPrint is served by the reverse proxy.'), 'schemeFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="Use this option to define an optional forced scheme (http or https) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy that also does HTTPS determination but can't configure said reverse proxy to send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests."), 'schemeHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The request header from which to determine the scheme (http or https) under which a specific request to OctoPrint was made to the reverse proxy.'), 'serverFallback': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'serverHeader': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'trustLocalhostProxies': FieldInfo(annotation=bool, required=False, default=True, description='Whether to trust the local machine to act as a reverse proxy. Defaults to true, will ensure that `127.0.0.0/8` and `::1` will always be considered to be included in `trustedProxies`. If you want to explicitly disable trusting the local machine, set this to false and don\'t include the local machine in trustedProxies (as in, don\'t include "127.0.0.1", "127.0.0.0/8" or "::1").'), 'trustedProxies': FieldInfo(annotation=List[str], required=False, default=[], description="List of trusted proxy servers for which to ignore the IP address when trying to determine the connecting client's IP address. A reverse proxy on the same machine as OctoPrint (e.g. as found on OctoPi) will be handled correctly by default through `trustLocalhostProxies`, further proxies in front of that you'll have to add yourself here.")}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -portFallback: Optional[str]
                              +portFallback: str | None
                              -portHeader: Optional[str]
                              +portHeader: str | None
                              -prefixFallback: Optional[str]
                              +prefixFallback: str | None

                              Use this option to define an optional URL prefix (with a leading /, so absolute to your server’s root) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy under a different root endpoint than / and can’t configure said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with forwarded requests.

                              -prefixHeader: Optional[str]
                              +prefixHeader: str | None

                              The request header from which to determine the URL prefix under which OctoPrint is served by the reverse proxy.

                              -schemeFallback: Optional[str]
                              +schemeFallback: str | None

                              Use this option to define an optional forced scheme (http or https) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy that also does HTTPS determination but can’t configure said reverse proxy to send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests.

                              -schemeHeader: Optional[str]
                              +schemeHeader: str | None

                              The request header from which to determine the scheme (http or https) under which a specific request to OctoPrint was made to the reverse proxy.

                              -serverFallback: Optional[str]
                              +serverFallback: str | None
                              -serverHeader: Optional[str]
                              +serverHeader: str | None
                              -trustLocalhostProxies: bool
                              +trustLocalhostProxies: bool

                              Whether to trust the local machine to act as a reverse proxy. Defaults to true, will ensure that 127.0.0.0/8 and ::1 will always be considered to be included in trustedProxies. If you want to explicitly disable trusting the local machine, set this to false and don’t include the local machine in trustedProxies (as in, don’t include “127.0.0.1”, “127.0.0.0/8” or “::1”).

                              -trustedProxies: List[str]
                              +trustedProxies: List[str]

                              List of trusted proxy servers for which to ignore the IP address when trying to determine the connecting client’s IP address. A reverse proxy on the same machine as OctoPrint (e.g. as found on OctoPi) will be handled correctly by default through trustLocalhostProxies, further proxies in front of that you’ll have to add yourself here.

                              @@ -2951,129 +3911,149 @@
                              -class octoprint.schema.config.server.SameSiteEnum(value)
                              +class octoprint.schema.config.server.SameSiteEnum(value)

                              An enumeration.

                              -lax = 'Lax'
                              +lax = 'Lax'
                              -none = 'None'
                              +none = 'None'
                              -strict = 'Strict'
                              +strict = 'Strict'
                              -class octoprint.schema.config.server.ServerConfig(*, host: ~typing.Optional[str] = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: ~typing.Dict[str, str] = {}, secretKey: ~typing.Optional[str] = None, heartbeat: int = 900, reverseProxy: ~octoprint.schema.config.server.ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads: ~octoprint.schema.config.server.UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: ~octoprint.schema.config.server.CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: ~octoprint.schema.config.server.OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: ~octoprint.schema.config.server.PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck: ~octoprint.schema.config.server.PythonEolCheckConfig = PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': {'date': '2023-06-27', 'last_octoprint': '1.11.*'}, '3.8': {'date': '2024-10-31'}}), diskspace: ~octoprint.schema.config.server.DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: ~octoprint.schema.config.server.PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: ~octoprint.schema.config.server.IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: ~octoprint.schema.config.server.CookiesConfig = CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths: ~typing.List[str] = [])
                              +class octoprint.schema.config.server.ServerConfig(*, host: str | None = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: Dict[str, str] = {}, secretKey: str | None = None, heartbeat: int = 900, reverseProxy: ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), uploads: UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), pythonEolCheck: PythonEolCheckConfig = PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), diskspace: DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: CookiesConfig = CookiesConfig(secure=False, samesite='Lax'), allowedLoginRedirectPaths: List[str] = [])
                              -allowFraming: bool
                              +allowFraming: bool

                              Whether to allow OctoPrint to be embedded in a frame or not. Note that depending on your setup you might have to set SameSite to None, Secure to true and serve OctoPrint through a reverse proxy that enables https for cookies and thus logging in to work.

                              -allowedLoginRedirectPaths: List[str]
                              +allowedLoginRedirectPaths: List[str]

                              List of paths that are allowed to be used as redirect targets for the login page, in addition to the default ones (/, /recovery/ and /plugin/appkeys/auth/)

                              -commands: CommandsConfig
                              +commands: CommandsConfig

                              Commands to restart/shutdown octoprint or the system it’s running on.

                              -cookies: CookiesConfig
                              +cookies: CookiesConfig

                              Settings for further configuration of the cookies that OctoPrint sets (login, remember me, …).

                              -diskspace: DiskspaceConfig
                              +diskspace: DiskspaceConfig

                              Settings of when to display what disk space warning.

                              -firstRun: bool
                              +firstRun: bool

                              If this option is true, OctoPrint will show the First Run wizard and set the setting to false after that completes.

                              -heartbeat: int
                              +heartbeat: int
                              -host: Optional[str]
                              +host: str | None

                              Use this option to define the host to which to bind the server. If unset, OctoPrint will attempt to bind on all available interfaces, IPv4 and v6 unless either is disabled.

                              -ignoreIncompleteStartup: bool
                              +ignoreIncompleteStartup: bool

                              Set this to true to make OctoPrint ignore incomplete startups. Helpful for development.

                              -ipCheck: IpCheckConfig
                              +ipCheck: IpCheckConfig

                              Configuration of the client IP check to warn about connections from external networks.

                              -maxSize: int
                              +maxSize: int

                              Maximum size of requests other than file uploads in bytes, defaults to 100KB.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'allowFraming': FieldInfo(annotation=bool, required=False, default=False, description='Whether to allow OctoPrint to be embedded in a frame or not. Note that depending on your setup you might have to set SameSite to None, Secure to true and serve OctoPrint through a reverse proxy that enables https for cookies and thus logging in to work.'), 'allowedLoginRedirectPaths': FieldInfo(annotation=List[str], required=False, default=[], description='List of paths that are allowed to be used as redirect targets for the login page, in addition to the default ones (`/`, `/recovery/` and `/plugin/appkeys/auth/`)'), 'commands': FieldInfo(annotation=CommandsConfig, required=False, default=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), description="Commands to restart/shutdown octoprint or the system it's running on."), 'cookies': FieldInfo(annotation=CookiesConfig, required=False, default=CookiesConfig(secure=False, samesite='Lax'), description='Settings for further configuration of the cookies that OctoPrint sets (login, remember me, ...).'), 'diskspace': FieldInfo(annotation=DiskspaceConfig, required=False, default=DiskspaceConfig(warning=524288000, critical=209715200), description='Settings of when to display what disk space warning.'), 'firstRun': FieldInfo(annotation=bool, required=False, default=True, description='If this option is true, OctoPrint will show the First Run wizard and set the setting to false after that completes.'), 'heartbeat': FieldInfo(annotation=int, required=False, default=900), 'host': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Use this option to define the host to which to bind the server. If unset, OctoPrint will attempt to bind on all available interfaces, IPv4 and v6 unless either is disabled.'), 'ignoreIncompleteStartup': FieldInfo(annotation=bool, required=False, default=False, description='Set this to true to make OctoPrint ignore incomplete startups. Helpful for development.'), 'ipCheck': FieldInfo(annotation=IpCheckConfig, required=False, default=IpCheckConfig(enabled=True, trustedSubnets=[]), description='Configuration of the client IP check to warn about connections from external networks.'), 'maxSize': FieldInfo(annotation=int, required=False, default=102400, description='Maximum size of requests other than file uploads in bytes, defaults to 100KB.'), 'onlineCheck': FieldInfo(annotation=OnlineCheckConfig, required=False, default=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), description='Configuration of the regular online connectivity check.'), 'pluginBlacklist': FieldInfo(annotation=PluginBlacklistConfig, required=False, default=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), description='Configuration of the plugin blacklist.'), 'port': FieldInfo(annotation=int, required=False, default=5000, description='Use this option to define the port to which to bind the server.'), 'preemptiveCache': FieldInfo(annotation=PreemptiveCacheConfig, required=False, default=PreemptiveCacheConfig(exceptions=[], until=7), description='Configuration of the preemptive cache.'), 'pythonEolCheck': FieldInfo(annotation=PythonEolCheckConfig, required=False, default=PythonEolCheckConfig(enabled=True, url='https://get.octoprint.org/python-eol', ttl=1440, fallback={'3.7': PythonEolEntry(date='2023-06-27', last_octoprint='1.11.*'), '3.8': PythonEolEntry(date='2024-10-31', last_octoprint=None)}), description='Configuration of the Python EOL warning.'), 'reverseProxy': FieldInfo(annotation=ReverseProxyConfig, required=False, default=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedProxies=[], trustLocalhostProxies=True), description="Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, ...) that doesn't correctly set the [required headers](https://community.octoprint.org/t/reverse-proxy-configuration-examples/1107). These are necessary in order to make OctoPrint generate correct external URLs so that AJAX requests and download URLs work, and so that client IPs are read correctly."), 'secretKey': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Secret key for encrypting cookies and such, randomly generated on first run.'), 'seenWizards': FieldInfo(annotation=Dict[str, str], required=False, default={}), 'startOnceInSafeMode': FieldInfo(annotation=bool, required=False, default=False, description='If this option is true, OctoPrint will enable safe mode on the next server start and reset the setting to false'), 'uploads': FieldInfo(annotation=UploadsConfig, required=False, default=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), description='Settings for file uploads to OctoPrint, such as maximum allowed file size and header suffixes to use for streaming uploads. OctoPrint does some nifty things internally in order to allow streaming of large file uploads to the application rather than just storing them in memory. For that it needs to do some rewriting of the incoming upload HTTP requests, storing the uploaded file to a temporary location on disk and then sending an internal request to the application containing the original filename and the location of the temporary file.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -onlineCheck: OnlineCheckConfig
                              +onlineCheck: OnlineCheckConfig

                              Configuration of the regular online connectivity check.

                              -pluginBlacklist: PluginBlacklistConfig
                              +pluginBlacklist: PluginBlacklistConfig

                              Configuration of the plugin blacklist.

                              -port: int
                              +port: int

                              Use this option to define the port to which to bind the server.

                              -preemptiveCache: PreemptiveCacheConfig
                              +preemptiveCache: PreemptiveCacheConfig

                              Configuration of the preemptive cache.

                              -pythonEolCheck: PythonEolCheckConfig
                              +pythonEolCheck: PythonEolCheckConfig

                              Configuration of the Python EOL warning.

                              -reverseProxy: ReverseProxyConfig
                              +reverseProxy: ReverseProxyConfig

                              //community.octoprint.org/t/reverse-proxy-configuration-examples/1107). These are necessary in order to make OctoPrint generate correct external URLs so that AJAX requests and download URLs work, and so that client IPs are read correctly.

                              -
                              Type
                              +
                              Type:

                              Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, …) that doesn’t correctly set the [required headers](https

                              @@ -3081,24 +4061,24 @@
                              -secretKey: Optional[str]
                              +secretKey: str | None

                              Secret key for encrypting cookies and such, randomly generated on first run.

                              -seenWizards: Dict[str, str]
                              +seenWizards: Dict[str, str]
                              -startOnceInSafeMode: bool
                              +startOnceInSafeMode: bool

                              If this option is true, OctoPrint will enable safe mode on the next server start and reset the setting to false

                              -uploads: UploadsConfig
                              +uploads: UploadsConfig

                              Settings for file uploads to OctoPrint, such as maximum allowed file size and header suffixes to use for streaming uploads. OctoPrint does some nifty things internally in order to allow streaming of large file uploads to the application rather than just storing them in memory. For that it needs to do some rewriting of the incoming upload HTTP requests, storing the uploaded file to a temporary location on disk and then sending an internal request to the application containing the original filename and the location of the temporary file.

                              @@ -3106,80 +4086,140 @@
                              -class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
                              +class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
                              -maxSize: int
                              +maxSize: int

                              Maximum size of uploaded files in bytes, defaults to 1GB.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'maxSize': FieldInfo(annotation=int, required=False, default=1073741824, description='Maximum size of uploaded files in bytes, defaults to 1GB.'), 'nameSuffix': FieldInfo(annotation=str, required=False, default='name', description='Suffix used for storing the filename in the file upload headers when streaming uploads.'), 'pathSuffix': FieldInfo(annotation=str, required=False, default='path', description='Suffix used for storing the path to the temporary file in the file upload headers when streaming uploads.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -nameSuffix: str
                              +nameSuffix: str

                              Suffix used for storing the filename in the file upload headers when streaming uploads.

                              -pathSuffix: str
                              +pathSuffix: str

                              Suffix used for storing the path to the temporary file in the file upload headers when streaming uploads.

                              -
                              +
                              -class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: Optional[str] = None, defaultProfiles: Dict[str, str] = {})
                              +class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: str | None = None, defaultProfiles: Dict[str, str] = {})
                              -defaultProfiles: Dict[str, str]
                              +defaultProfiles: Dict[str, str]

                              Default slicing profiles per slicer, maps slicer identifier to profile identifier.

                              -defaultSlicer: Optional[str]
                              +defaultSlicer: str | None

                              Default slicer to use.

                              -enabled: bool
                              +enabled: bool

                              Whether to enable slicing support or not.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'defaultProfiles': FieldInfo(annotation=Dict[str, str], required=False, default={}, description='Default slicing profiles per slicer, maps slicer identifier to profile identifier.'), 'defaultSlicer': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Default slicer to use.'), 'enabled': FieldInfo(annotation=bool, required=False, default=True, description='Whether to enable slicing support or not.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -
                              +
                              -class octoprint.schema.config.system.ActionConfig(*, action: str, name: Optional[str] = None, command: Optional[str] = None, confirm: Optional[str] = None, **extra_data: Any)
                              +class octoprint.schema.config.system.ActionConfig(*, action: str, name: str | None = None, command: str | None = None, async_: bool = False, confirm: str | None = None)
                              -action: str
                              +action: str

                              The identifier used internally to identify the action. Set to divider to generate a divider in the menu.

                              -async_: bool
                              +async_: bool

                              Whether to run the command asynchronously.

                              -command: Optional[str]
                              +command: str | None

                              The command to execute when the action is selected. Must be set if the action is not a divider.

                              -confirm: Optional[str]
                              +confirm: str | None

                              An optional confirmation message to show before executing the command.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'action': FieldInfo(annotation=str, required=True, description='The identifier used internally to identify the action. Set to `divider` to generate a divider in the menu.'), 'async_': FieldInfo(annotation=bool, required=False, default=False, alias='async', alias_priority=2, description='Whether to run the command asynchronously.'), 'command': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The command to execute when the action is selected. Must be set if the action is not a divider.'), 'confirm': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='An optional confirmation message to show before executing the command.'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The name of the action that will be shown on the menu. Must be set if the action is not a divider.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: Optional[str]
                              +name: str | None

                              The name of the action that will be shown on the menu. Must be set if the action is not a divider.

                              @@ -3187,39 +4227,79 @@
                              -class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
                              +class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
                              -actions: List[ActionConfig]
                              +actions: List[ActionConfig]

                              A list of system actions to show in the UI.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'actions': FieldInfo(annotation=List[ActionConfig], required=False, default=[], description='A list of system actions to show in the UI.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -
                              +
                              -class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
                              +class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
                              -cutoff: int
                              +cutoff: int

                              Cut off time for the temperature data, in minutes.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'cutoff': FieldInfo(annotation=int, required=False, default=30, description='Cut off time for the temperature data, in minutes.'), 'profiles': FieldInfo(annotation=List[TemperatureProfile], required=False, default=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], description='Temperature profiles to offer in the UI for quick pre-heating.'), 'sendAutomatically': FieldInfo(annotation=bool, required=False, default=False, description='Whether to send new temperature settings made in the UI automatically.'), 'sendAutomaticallyAfter': FieldInfo(annotation=int, required=False, default=1, description='After what time to send the new temperature settings automatically, in seconds.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -profiles: List[TemperatureProfile]
                              +profiles: List[TemperatureProfile]

                              Temperature profiles to offer in the UI for quick pre-heating.

                              -sendAutomatically: bool
                              +sendAutomatically: bool

                              Whether to send new temperature settings made in the UI automatically.

                              -sendAutomaticallyAfter: int
                              +sendAutomaticallyAfter: int

                              After what time to send the new temperature settings automatically, in seconds.

                              @@ -3227,42 +4307,82 @@
                              -class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
                              +class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
                              -bed: int
                              +bed: int

                              Bed temperature to set with the profile.

                              -extruder: int
                              +extruder: int

                              Hotend temperature to set with the profile.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bed': FieldInfo(annotation=int, required=True, description='Bed temperature to set with the profile.'), 'extruder': FieldInfo(annotation=int, required=True, description='Hotend temperature to set with the profile.'), 'name': FieldInfo(annotation=str, required=True, description='Name of the profile.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: str
                              +name: str

                              Name of the profile.

                              -
                              +
                              -class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
                              +class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'name': FieldInfo(annotation=str, required=True, description='The name of the filter.'), 'regex': FieldInfo(annotation=str, required=True, description='The regular expression to match. Use [JavaScript regular expressions](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions).')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              + +
                              -name: str
                              +name: str

                              The name of the filter.

                              -regex: str
                              +regex: str

                              //developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions).

                              -
                              Type
                              +
                              Type:

                              The regular expression to match. Use [JavaScript regular expressions](https

                              @@ -3270,62 +4390,82 @@
                              -
                              +
                              -class octoprint.schema.config.webcam.RenderAfterPrintEnum(value)
                              +class octoprint.schema.config.webcam.RenderAfterPrintEnum(value)

                              An enumeration.

                              -always = 'always'
                              +always = 'always'
                              -failure = 'failure'
                              +failure = 'failure'
                              -off = 'off'
                              +off = 'off'
                              -success = 'success'
                              +success = 'success'
                              -class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, renderAfterPrint: RenderAfterPrintEnum = RenderAfterPrintEnum.always, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
                              +class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, renderAfterPrint: RenderAfterPrintEnum = RenderAfterPrintEnum.always, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
                              -fps: int
                              +fps: int

                              The framerate at which to render the movie.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'fps': FieldInfo(annotation=int, required=False, default=25, description='The framerate at which to render the movie.'), 'options': FieldInfo(annotation=TimelapseOptions, required=False, default=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None), description='Additional options depending on the timelapse type.'), 'postRoll': FieldInfo(annotation=int, required=False, default=0, description='The number of seconds in the rendered video to add after a finished print. The exact way how the additional images will be recorded depends on timelapse type. `zchange` timelapses will take one final picture and add it `fps * postRoll` times. `timed` timelapses continue to record just like at the beginning, so the recording will continue another `fps * postRoll * interval` seconds. This behaviour can be overridden by setting the `capturePostRoll` option to `false`, in which case the post roll will be created identically to `zchange` mode.'), 'renderAfterPrint': FieldInfo(annotation=RenderAfterPrintEnum, required=False, default=<RenderAfterPrintEnum.always: 'always'>, description='Determines whether rendering the timelapse should be done automatically after the print is finished. This can be done always, only after successful prints, only after failed prints, or never.'), 'type': FieldInfo(annotation=TimelapseTypeEnum, required=False, default=<TimelapseTypeEnum.off: 'off'>, description='The timelapse type.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -options: TimelapseOptions
                              +options: TimelapseOptions

                              Additional options depending on the timelapse type.

                              -postRoll: int
                              +postRoll: int

                              The number of seconds in the rendered video to add after a finished print. The exact way how the additional images will be recorded depends on timelapse type. zchange timelapses will take one final picture and add it fps * postRoll times. timed timelapses continue to record just like at the beginning, so the recording will continue another fps * postRoll * interval seconds. This behaviour can be overridden by setting the capturePostRoll option to false, in which case the post roll will be created identically to zchange mode.

                              -renderAfterPrint: RenderAfterPrintEnum
                              +renderAfterPrint: RenderAfterPrintEnum

                              Determines whether rendering the timelapse should be done automatically after the print is finished. This can be done always, only after successful prints, only after failed prints, or never.

                              -type: TimelapseTypeEnum
                              +type: TimelapseTypeEnum

                              The timelapse type.

                              @@ -3333,13 +4473,13 @@
                              -class octoprint.schema.config.webcam.TimelapseOptions(*, interval: Optional[int] = None, capturePostRoll: Optional[bool] = None, retractionZHop: Optional[float] = None)
                              +class octoprint.schema.config.webcam.TimelapseOptions(*, interval: int | None = None, capturePostRoll: bool | None = None, retractionZHop: float | None = None)
                              -capturePostRoll: Optional[bool]
                              +capturePostRoll: bool | None

                              Whether to capture the snapshots for the post roll (true) or just copy the last captured snapshot from the print over and over again (false).

                              -
                              Type
                              +
                              Type:

                              timed timelapses only

                              @@ -3347,21 +4487,41 @@
                              -interval: Optional[int]
                              +interval: int | None

                              The interval which to leave between images in seconds.

                              -
                              Type
                              +
                              Type:

                              timed timelapses only

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'capturePostRoll': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None, description='`timed` timelapses only: Whether to capture the snapshots for the post roll (true) or just copy the last captured snapshot from the print over and over again (false).'), 'interval': FieldInfo(annotation=Union[int, NoneType], required=False, default=None, description='`timed` timelapses only: The interval which to leave between images in seconds.'), 'retractionZHop': FieldInfo(annotation=Union[float, NoneType], required=False, default=None, description='`zchange` timelapses only: z-hop height during retractions to ignore for capturing snapshots.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -retractionZHop: Optional[float]
                              +retractionZHop: float | None

                              z-hop height during retractions to ignore for capturing snapshots.

                              -
                              Type
                              +
                              Type:

                              zchange timelapses only

                              @@ -3371,101 +4531,121 @@
                              -class octoprint.schema.config.webcam.TimelapseTypeEnum(value)
                              +class octoprint.schema.config.webcam.TimelapseTypeEnum(value)

                              An enumeration.

                              -off = 'off'
                              +off = 'off'
                              -timed = 'timed'
                              +timed = 'timed'
                              -zchange = 'zchange'
                              +zchange = 'zchange'
                              -class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: ~typing.Optional[str] = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: ~octoprint.schema.config.webcam.TimelapseConfig = TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, renderAfterPrint=<RenderAfterPrintEnum.always: 'always'>, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
                              +class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: str | None = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: TimelapseConfig = TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
                              -bitrate: str
                              +bitrate: str

                              The bitrate to use for rendering the timelapse video. This gets directly passed to ffmpeg.

                              -cleanTmpAfterDays: int
                              +cleanTmpAfterDays: int

                              After how many days unrendered timelapses will be deleted.

                              -defaultWebcam: str
                              +defaultWebcam: str

                              The name of the default webcam

                              -ffmpeg: Optional[str]
                              +ffmpeg: str | None

                              Path to ffmpeg binary to use for creating timelapse recordings. Timelapse support will be disabled if not set.

                              -ffmpegCommandline: str
                              +ffmpegCommandline: str
                              -ffmpegThreads: int
                              +ffmpegThreads: int

                              Number of how many threads to instruct ffmpeg to use for encoding.

                              -ffmpegThumbnailCommandline: str
                              +ffmpegThumbnailCommandline: str
                              -ffmpegVideoCodec: str
                              +ffmpegVideoCodec: str

                              Videocodec to be used for encoding.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'bitrate': FieldInfo(annotation=str, required=False, default='10000k', description='The bitrate to use for rendering the timelapse video. This gets directly passed to ffmpeg.'), 'cleanTmpAfterDays': FieldInfo(annotation=int, required=False, default=7, description='After how many days unrendered timelapses will be deleted.'), 'defaultWebcam': FieldInfo(annotation=str, required=False, default='classic', description='The name of the default webcam'), 'ffmpeg': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Path to ffmpeg binary to use for creating timelapse recordings. Timelapse support will be disabled if not set.'), 'ffmpegCommandline': FieldInfo(annotation=str, required=False, default='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"'), 'ffmpegThreads': FieldInfo(annotation=int, required=False, default=1, description='Number of how many threads to instruct ffmpeg to use for encoding.'), 'ffmpegThumbnailCommandline': FieldInfo(annotation=str, required=False, default='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"'), 'ffmpegVideoCodec': FieldInfo(annotation=str, required=False, default='libx264', description='Videocodec to be used for encoding.'), 'snapshotWebcam': FieldInfo(annotation=str, required=False, default='classic', description='The name of the default webcam to use for snapshots'), 'timelapse': FieldInfo(annotation=TimelapseConfig, required=False, default=TimelapseConfig(type='off', fps=25, postRoll=0, renderAfterPrint='always', options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), description='The default timelapse settings.'), 'timelapseEnabled': FieldInfo(annotation=bool, required=False, default=True, description='Use this option to enable timelapse support via snapshot, e.g. via MJPG-Streamer. Timelapse support will be disabled if not set.'), 'watermark': FieldInfo(annotation=bool, required=False, default=True, description='Whether to include a "created with OctoPrint" watermark in the generated timelapse recordings.'), 'webcamEnabled': FieldInfo(annotation=bool, required=False, default=True, description='Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer. Webcam support will be disabled if not set.')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -snapshotWebcam: str
                              +snapshotWebcam: str

                              The name of the default webcam to use for snapshots

                              -timelapse: TimelapseConfig
                              +timelapse: TimelapseConfig

                              The default timelapse settings.

                              -timelapseEnabled: bool
                              +timelapseEnabled: bool

                              Use this option to enable timelapse support via snapshot, e.g. via MJPG-Streamer. Timelapse support will be disabled if not set.

                              -watermark: bool
                              +watermark: bool

                              Whether to include a “created with OctoPrint” watermark in the generated timelapse recordings.

                              -webcamEnabled: bool
                              +webcamEnabled: bool

                              Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer. Webcam support will be disabled if not set.

                              @@ -3473,77 +4653,97 @@
                              -

                              octoprint.schema.webcam

                              +

                              octoprint.schema.webcam

                              -class octoprint.schema.webcam.RatioEnum(value)
                              +class octoprint.schema.webcam.RatioEnum(value)

                              An enumeration.

                              -four_three = '4:3'
                              +four_three = '4:3'
                              -sixteen_nine = '16:9'
                              +sixteen_nine = '16:9'
                              -class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: Optional[WebcamCompatibility] = None)
                              +class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: WebcamCompatibility | None = None)
                              -canSnapshot: bool
                              +canSnapshot: bool

                              Whether this webcam can take a snapshot.

                              -compat: Optional[WebcamCompatibility]
                              +compat: WebcamCompatibility | None

                              A compatibility configuration to allow older clients to make use of this webcam

                              -displayName: str
                              +displayName: str

                              Displayable name for this webcam

                              -extras: dict
                              +extras: dict

                              Unstructured data describing this webcam

                              -flipH: bool
                              +flipH: bool

                              Whether to flip the webcam horizontally.

                              -flipV: bool
                              +flipV: bool

                              Whether to flip the webcam vertically.

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'canSnapshot': FieldInfo(annotation=bool, required=False, default=False, description='Whether this webcam can take a snapshot.'), 'compat': FieldInfo(annotation=Union[WebcamCompatibility, NoneType], required=False, default=None, description='A compatibility configuration to allow older clients to make use of this webcam'), 'displayName': FieldInfo(annotation=str, required=True, description='Displayable name for this webcam'), 'extras': FieldInfo(annotation=dict, required=False, default={}, description='Unstructured data describing this webcam'), 'flipH': FieldInfo(annotation=bool, required=False, default=False, description='Whether to flip the webcam horizontally.'), 'flipV': FieldInfo(annotation=bool, required=False, default=False, description='Whether to flip the webcam vertically.'), 'name': FieldInfo(annotation=str, required=True, description='Identifier of this webcam'), 'rotate90': FieldInfo(annotation=bool, required=False, default=False, description='Whether to rotate the webcam 90° counter clockwise.'), 'snapshotDisplay': FieldInfo(annotation=str, required=False, default=None, description='Human readable information about how a snapshot is captured or a HTTP URL from which the snapshot is loaded (optional, only for user reference)')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -name: str
                              +name: str

                              Identifier of this webcam

                              -rotate90: bool
                              +rotate90: bool

                              Whether to rotate the webcam 90° counter clockwise.

                              -snapshotDisplay: str
                              +snapshotDisplay: str

                              Human readable information about how a snapshot is captured or a HTTP URL from which the snapshot is loaded (optional, only for user reference)

                              @@ -3551,52 +4751,72 @@
                              -class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
                              +class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
                              -cacheBuster: bool
                              +cacheBuster: bool

                              Whether the URL should be randomized to bust caches

                              +
                              +
                              +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                              +

                              A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                              +
                              + +
                              +
                              +model_config: ClassVar[ConfigDict] = {'use_enum_values': True, 'validate_default': True}
                              +

                              Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                              +
                              + +
                              +
                              +model_fields: ClassVar[Dict[str, FieldInfo]] = {'cacheBuster': FieldInfo(annotation=bool, required=False, default=False, description='Whether the URL should be randomized to bust caches'), 'snapshot': FieldInfo(annotation=str, required=False, default=None, description='The URL to get the snapshot from'), 'snapshotSslValidation': FieldInfo(annotation=bool, required=False, default=True, description='Whether to validate SSL certificates when retrieving a snapshot'), 'snapshotTimeout': FieldInfo(annotation=int, required=False, default=5, description='The timeout when retrieving snapshots'), 'stream': FieldInfo(annotation=str, required=True, description='The URL to get an MJPEG stream from'), 'streamRatio': FieldInfo(annotation=RatioEnum, required=False, default=<RatioEnum.sixteen_nine: '16:9'>, description="The stream's native aspect ratio"), 'streamTimeout': FieldInfo(annotation=int, required=False, default=5, description='The timeout of the stream in seconds'), 'streamWebrtcIceServers': FieldInfo(annotation=List[str], required=False, default=['stun:stun.l.google.com:19302'], description='The WebRTC STUN and TURN servers')}
                              +

                              Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                              +

                              This replaces Model.__fields__ from Pydantic V1.

                              +
                              +
                              -snapshot: str
                              +snapshot: str

                              The URL to get the snapshot from

                              -snapshotSslValidation: bool
                              +snapshotSslValidation: bool

                              Whether to validate SSL certificates when retrieving a snapshot

                              -snapshotTimeout: int
                              +snapshotTimeout: int

                              The timeout when retrieving snapshots

                              -stream: str
                              +stream: str

                              The URL to get an MJPEG stream from

                              -streamRatio: RatioEnum
                              +streamRatio: RatioEnum

                              The stream’s native aspect ratio

                              -streamTimeout: int
                              +streamTimeout: int

                              The timeout of the stream in seconds

                              -streamWebrtcIceServers: List[str]
                              +streamWebrtcIceServers: List[str]

                              The WebRTC STUN and TURN servers

                              diff --git a/maintenance/modules/server.html b/maintenance/modules/server.html index dbe5d2945..d2f123785 100644 --- a/maintenance/modules/server.html +++ b/maintenance/modules/server.html @@ -1,26 +1,26 @@ - + - + octoprint.server — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -118,7 +118,6 @@
                            • OctoPrintFlaskResponse
                            • @@ -141,6 +140,12 @@
                            • PrefixAwareJinjaEnvironment.join_path()
                          • +
                          • ReverseProxyInfo +
                          • SettingsCheckUpdater
                            • SettingsCheckUpdater.build_done()
                            • SettingsCheckUpdater.needs_rebuild()
                            • @@ -330,61 +335,61 @@
                              -

                              octoprint.server

                              +

                              octoprint.server

                              -exception octoprint.server.CannotStartServerException
                              +exception octoprint.server.CannotStartServerException
                              -class octoprint.server.OctoPrintAnonymousIdentity
                              +class octoprint.server.OctoPrintAnonymousIdentity
                              -

                              octoprint.server.util

                              +

                              octoprint.server.util

                              -octoprint.server.util.corsRequestHandler()
                              +octoprint.server.util.corsRequestHandler()

                              before_request handler for blueprints which sets CORS headers for OPTIONS requests if enabled

                              -octoprint.server.util.corsResponseHandler(resp)
                              +octoprint.server.util.corsResponseHandler(resp)

                              after_request handler for blueprints for which CORS is supported.

                              Sets Access-Control-Allow-Origin headers for Origin request header on response.

                              -octoprint.server.util.csrfRequestHandler()
                              +octoprint.server.util.csrfRequestHandler()

                              before_request handler for blueprints which checks for CRFS double token on relevant requests & methods.

                              -octoprint.server.util.csrfResponseHandler(resp)
                              +octoprint.server.util.csrfResponseHandler(resp)

                              after_request handler for updating the CSRF cookie on each response.

                              -octoprint.server.util.get_api_key(request: Union[Request, tornado.httputil.HTTPServerRequest]) Optional[str]
                              +octoprint.server.util.get_api_key(request: Request | tornado.httputil.HTTPServerRequest) str | None

                              Extracts the API key from the given request.

                              The request may be a Flask or Tornado request object. Attempts will be made to read the API key from the “apikey” request parameter, the “X-Api-Key” header, or the “Authorization” header in “Bearer” mode.

                              -
                              Parameters
                              +
                              Parameters:

                              request – the request object, either a Flask or a Tornado request

                              -
                              Returns
                              +
                              Returns:

                              the API key, or None if not found

                              -
                              Return type
                              +
                              Return type:

                              str

                              @@ -392,7 +397,7 @@
                              -octoprint.server.util.get_user_for_apikey(apikey: str) Optional[User]
                              +octoprint.server.util.get_user_for_apikey(apikey: str) User | None

                              Tries to find a user based on the given API key.

                              Will only perform any action if the API key is not None and not empty.

                              If the API key is the master key, the master user will be returned.

                              @@ -400,13 +405,13 @@

                              If the API key is neither, the key will be passed to all registered key validators and the first non-None result will be returned.

                              -
                              Parameters
                              +
                              Parameters:

                              apikey (str) – the API key to check

                              -
                              Returns
                              +
                              Returns:

                              the user found, or None if none was found

                              -
                              Return type
                              +
                              Return type:

                              octoprint.access.users.User

                              @@ -414,13 +419,13 @@
                              -octoprint.server.util.get_user_for_authorization_header(request: Request, header: str = 'Authorization') Optional[User]
                              +octoprint.server.util.get_user_for_authorization_header(request: Request, header: str = 'Authorization') User | None

                              Tries to find a user based on the Authorization request header.

                              Will only perform any action if the trustBasicAuthentication setting is enabled.

                              If configured accordingly, will also check if the password used for the Basic Authentication matches the one stored for the user.

                              -
                              Parameters
                              +
                              Parameters:
                              • request – the request object

                              • header (str) – the header to check for the authorization header, defaults to “Authorization”

                              • @@ -431,18 +436,18 @@
                                -octoprint.server.util.get_user_for_remote_user_header(request: Request) Optional[User]
                                +octoprint.server.util.get_user_for_remote_user_header(request: Request) User | None

                                Tries to find a user based on the configured remote user request header.

                                Will only perform any action if the trustRemoteUser setting is enabled.

                                -octoprint.server.util.has_permissions(*permissions)
                                +octoprint.server.util.has_permissions(*permissions)

                                Determines if the current user (either from the session, api key or authorization header) has all of the requested permissions.

                                -
                                Parameters
                                +
                                Parameters:

                                *permissions – list of all permissions required to pass the check

                                @@ -451,7 +456,7 @@
                                -octoprint.server.util.noCachingExceptGetResponseHandler(resp)
                                +octoprint.server.util.noCachingExceptGetResponseHandler(resp)

                                after_request handler for blueprints which shall set no caching headers on their responses to any requests that are not sent with method GET.

                                See noCachingResponseHandler().

                                @@ -459,7 +464,7 @@
                                -octoprint.server.util.noCachingResponseHandler(resp)
                                +octoprint.server.util.noCachingResponseHandler(resp)

                                after_request handler for blueprints which shall set no caching headers on their responses.

                                Sets Cache-Control, Pragma and Expires headers accordingly @@ -468,16 +473,16 @@

                                -octoprint.server.util.optionsAllowOrigin(request)
                                +octoprint.server.util.optionsAllowOrigin(request)

                                Shortcut for request handling for CORS OPTIONS requests to set CORS headers.

                                -octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)
                                +octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)

                                Requires a login with fresh credentials.

                                -
                                Parameters
                                +
                                Parameters:
                                • permissions – list of all permissions required to pass the check

                                • user_id – required user to pass the check

                                • @@ -489,11 +494,11 @@
                                  -octoprint.server.util.require_login(*permissions)
                                  +octoprint.server.util.require_login(*permissions)

                                  Returns a redirect response to the login view if the permission requirements are not met.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  *permissions – a list of permissions required to pass the check

                                  @@ -502,10 +507,10 @@
                                  -octoprint.server.util.require_login_with(permissions=None, user_id=None)
                                  +octoprint.server.util.require_login_with(permissions=None, user_id=None)

                                  Requires a login with the given permissions and/or user id.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • permissions – list of all permissions required to pass the check

                                  • user_id – required user to pass the check

                                  • @@ -517,22 +522,22 @@
                                    -octoprint.server.util.validate_local_redirect(url, allowed_paths)
                                    +octoprint.server.util.validate_local_redirect(url, allowed_paths)

                                    Validates the given local redirect URL against the given allowed paths.

                                    An url is valid for a local redirect if it has neither scheme nor netloc defined, and its path is one of the given allowed paths.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • url (str) – URL to validate

                                    • allowed_paths (List[str]) – List of allowed paths, only paths contained or prefixed (if allowed path ends with “*”) will be considered valid.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    Whether the url passed validation or not.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    bool

                                    @@ -540,19 +545,19 @@
                              -

                              octoprint.server.util.flask

                              +

                              octoprint.server.util.flask

                              -class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)
                              +class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)

                              Slightly improved version of SimpleCache.

                              Setting default_timeout or timeout to -1 will have no timeout be applied at all.

                              -add(key, value, timeout=None)
                              +add(key, value, timeout=None)

                              Works like set() but does not overwrite the values of already existing keys.

                              -
                              Parameters
                              +
                              Parameters:
                              • key – the key to set

                              • value – the value for the key

                              • @@ -561,11 +566,11 @@ 0 indicates that the cache never expires.

                              -
                              Returns
                              +
                              Returns:

                              Same as set(), but also False for already existing keys.

                              -
                              Return type
                              +
                              Return type:

                              boolean

                              @@ -573,16 +578,16 @@
                              -delete(key)
                              +delete(key)

                              Delete key from the cache.

                              -
                              Parameters
                              +
                              Parameters:

                              key – the key to delete.

                              -
                              Returns
                              +
                              Returns:

                              Whether the key existed and has been deleted.

                              -
                              Return type
                              +
                              Return type:

                              boolean

                              @@ -590,13 +595,13 @@
                              -get(key)
                              +get(key)

                              Look up key in the cache and return the value for it.

                              -
                              Parameters
                              +
                              Parameters:

                              key – the key to be looked up.

                              -
                              Returns
                              +
                              Returns:

                              The value if it exists and is readable, else None.

                              @@ -604,11 +609,11 @@
                              -set(key, value, timeout=None)
                              +set(key, value, timeout=None)

                              Add a new key/value to the cache (overwrites value, if key already exists in the cache).

                              -
                              Parameters
                              +
                              Parameters:
                              • key – the key to set

                              • value – the value for the key

                              • @@ -617,12 +622,12 @@ 0 indicates that the cache never expires.

                              -
                              Returns
                              +
                              Returns:

                              True if key has been updated, False for backend errors. Pickling errors, however, will raise a subclass of pickle.PickleError.

                              -
                              Return type
                              +
                              Return type:

                              boolean

                              @@ -632,23 +637,23 @@
                              -class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
                              +class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
                              -property cookies
                              +property cookies

                              A dict with the contents of all cookies transmitted with the request.

                              -property server_name
                              +property server_name

                              Short cut to the request’s server name header

                              -property server_port
                              +property server_port

                              Short cut to the request’s server port header

                              @@ -656,13 +661,13 @@
                              -class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Optional[Union[Iterable[bytes], bytes, Iterable[str], str]] = None, status: Optional[Union[int, str, HTTPStatus]] = None, headers: Optional[Union[Mapping[str, Union[str, int, Iterable[Union[str, int]]]], Iterable[Tuple[str, Union[str, int]]]]] = None, mimetype: Optional[str] = None, content_type: Optional[str] = None, direct_passthrough: bool = False)
                              +class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Iterable[bytes] | bytes | Iterable[str] | str | None = None, status: int | str | HTTPStatus | None = None, headers: Mapping[str, str | Iterable[str]] | Iterable[tuple[str, str]] | None = None, mimetype: str | None = None, content_type: str | None = None, direct_passthrough: bool = False)
                              +delete_cookie(key, path='/', domain=None)

                              Delete a cookie. Fails silently if key doesn’t exist.

                              -
                              Parameters
                              +
                              Parameters:
                              • key – the key (name) of the cookie to be deleted.

                              • path – if the cookie that should be deleted was limited to a @@ -679,25 +684,14 @@

                              -
                              -
                              -response: Union[Iterable[str], Iterable[bytes]]
                              -

                              The response body to send as the WSGI iterable. A list of strings -or bytes represents a fixed-length response, any other iterable -is a streaming response. Strings are encoded to bytes as UTF-8.

                              -

                              Do not set to a plain string or bytes, that will cause sending -the response to be very inefficient as it will iterate one byte -at a time.

                              -
                              -
                              +set_cookie(key, value='', *args, **kwargs)

                              Sets a cookie.

                              A warning is raised if the size of the cookie header exceeds max_cookie_size, but the header will still be set.

                              -
                              Parameters
                              +
                              Parameters:
                              • key – the key (name) of the cookie to be set.

                              • value – the value of the cookie.

                              • @@ -708,7 +702,7 @@
                              • path – limits the cookie to a given path, per default it will span the whole domain.

                              • domain – if you want to set a cross-domain cookie. For example, -domain=".example.com" will set a cookie that is +domain="example.com" will set a cookie that is readable by the domain www.example.com, foo.example.com etc. Otherwise, a cookie will only be readable by the domain that set it.

                              • @@ -726,21 +720,21 @@
                                -class octoprint.server.util.flask.OctoPrintJsonProvider(app: Flask)
                                +class octoprint.server.util.flask.OctoPrintJsonProvider(app: App)
                                -static default(object_)
                                +static default(object_)
                                -dumps(obj: Any, **kwargs: Any) str
                                +dumps(obj: Any, **kwargs: Any) str

                                Serialize data as JSON to a string.

                                Keyword arguments are passed to json.dumps(). Sets some parameter defaults from the default, ensure_ascii, and sort_keys attributes.

                                -
                                Parameters
                                +
                                Parameters:
                                • obj – The data to serialize.

                                • kwargs – Passed to json.dumps().

                                • @@ -753,10 +747,10 @@
                                  -class octoprint.server.util.flask.OctoPrintSessionInterface
                                  +class octoprint.server.util.flask.OctoPrintSessionInterface
                                  -save_session(app, session, response)
                                  +save_session(app, session, response)

                                  This is called at the end of each request, after generating a response, before removing the request context. It is skipped if is_null_session() returns True.

                                  @@ -764,7 +758,7 @@
                                  +should_set_cookie(app, session)

                                  Used by session backends to determine if a Set-Cookie header should be set for this session cookie for this response. If the session has been modified, the cookie is set. If the session is permanent and @@ -772,7 +766,7 @@ always set.

                                  This check is usually skipped if the session was deleted.

                                  -

                                  New in version 0.11.

                                  +

                                  Added in version 0.11.

                                  @@ -780,10 +774,10 @@
                                  -class octoprint.server.util.flask.PluginAssetResolver
                                  +class octoprint.server.util.flask.PluginAssetResolver
                                  -resolve_output_to_path(ctx, target, bundle)
                                  +resolve_output_to_path(ctx, target, bundle)

                                  Given target, this has to return the absolute filesystem path to which the output file of bundle should be written.

                                  @@ -795,7 +789,7 @@
                                  -split_prefix(ctx, item)
                                  +split_prefix(ctx, item)

                                  See if item has blueprint prefix, return (directory, rel_path).

                                  @@ -803,10 +797,10 @@
                                  -class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
                                  +class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
                                  -join_path(template, parent)
                                  +join_path(template, parent)

                                  Join a template with the parent. By default all the lookups are relative to the loader root so this method returns the template parameter unchanged, but if the paths should be relative to the @@ -818,18 +812,43 @@

                                  +
                                  +
                                  +class octoprint.server.util.flask.ReverseProxyInfo(*, client_ip: str, server_protocol: str, server_name: str, server_port: int, server_path: str, cookie_suffix: str, trusted_proxies: List[str] = [], headers: Dict[str, str] = {})
                                  +
                                  +
                                  +model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}
                                  +

                                  A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

                                  +
                                  + +
                                  +
                                  +model_config: ClassVar[ConfigDict] = {}
                                  +

                                  Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

                                  +
                                  + +
                                  +
                                  +model_fields: ClassVar[Dict[str, FieldInfo]] = {'client_ip': FieldInfo(annotation=str, required=True), 'cookie_suffix': FieldInfo(annotation=str, required=True), 'headers': FieldInfo(annotation=Dict[str, str], required=False, default={}), 'server_name': FieldInfo(annotation=str, required=True), 'server_path': FieldInfo(annotation=str, required=True), 'server_port': FieldInfo(annotation=int, required=True), 'server_protocol': FieldInfo(annotation=str, required=True), 'trusted_proxies': FieldInfo(annotation=List[str], required=False, default=[])}
                                  +

                                  Metadata about the fields defined on the model, +mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

                                  +

                                  This replaces Model.__fields__ from Pydantic V1.

                                  +
                                  + +
                                  +
                                  -class octoprint.server.util.flask.SettingsCheckUpdater
                                  +class octoprint.server.util.flask.SettingsCheckUpdater
                                  -build_done(bundle, ctx)
                                  +build_done(bundle, ctx)

                                  This will be called once a bundle has been successfully built.

                                  -needs_rebuild(bundle, ctx)
                                  +needs_rebuild(bundle, ctx)

                                  Returns True if the given bundle needs to be rebuilt, False otherwise.

                                  @@ -838,23 +857,23 @@
                                  -octoprint.server.util.flask.check_lastmodified(lastmodified: Union[int, float, datetime]) bool
                                  +octoprint.server.util.flask.check_lastmodified(lastmodified: int | float | datetime) bool

                                  Compares the provided lastmodified value with the value of the If-Modified-Since header.

                                  If lastmodified is an int or float, it’s assumed to be a Unix timestamp and converted to a timezone aware datetime instance in UTC.

                                  If lastmodified is a datetime instance, it needs to be timezone aware or the result will always be False.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  lastmodified (Union[int, float, datetime]) – The last modified value to compare against

                                  -
                                  Raises
                                  +
                                  Raises:

                                  ValueError – If anything but an int, float or datetime instance is passed

                                  -
                                  Returns
                                  +
                                  Returns:

                                  true if the values indicate that the document is still up to date

                                  -
                                  Return type
                                  +
                                  Return type:

                                  bool

                                  @@ -862,7 +881,7 @@
                                  -octoprint.server.util.flask.firstrun_only_access(func)
                                  +octoprint.server.util.flask.firstrun_only_access(func)

                                  If you decorate a view with this, it will ensure that first setup has _not_ been done for OctoPrint’s Access Control. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                                  @@ -870,7 +889,7 @@
                                  +octoprint.server.util.flask.get_cookie_suffix(request)

                                  Request specific suffix for set and read cookies

                                  We need this because cookies are not port-specific and we don’t want to overwrite our session and other cookies from one OctoPrint instance on our machine with those of another @@ -879,14 +898,14 @@

                                  -octoprint.server.util.flask.get_flask_user_from_request(request)
                                  +octoprint.server.util.flask.get_flask_user_from_request(request)

                                  Retrieves the current flask user from the request context. Uses API key if available, otherwise the current user session if available.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  request – flask request from which to retrieve the current user

                                  -
                                  Returns
                                  +
                                  Returns:

                                  the user (might be an anonymous user)

                                  @@ -894,12 +913,12 @@
                                  -octoprint.server.util.flask.make_api_error(message, status)
                                  +octoprint.server.util.flask.make_api_error(message, status)

                                  Helper to generate API error responses in JSON format.

                                  Turns something like make_api_error("Not Found", 404) into a JSON response with body {"error": "Not Found"}.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • message – The error message to put into the response

                                  • status – The HTTP status code

                                  • @@ -911,12 +930,12 @@
                                    -octoprint.server.util.flask.make_text_response(message, status)
                                    +octoprint.server.util.flask.make_text_response(message, status)

                                    Helper to generate basic text responses.

                                    Response will have the provided message as body, the provided status code, and a content type of “text/plain”.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • message – The message in the response body

                                    • status – The HTTP status code

                                    • @@ -928,7 +947,7 @@
                                      -octoprint.server.util.flask.no_firstrun_access(func)
                                      +octoprint.server.util.flask.no_firstrun_access(func)

                                      If you decorate a view with this, it will ensure that first setup has been done for OctoPrint’s Access Control.

                                      If OctoPrint’s Access Control has not been setup yet (indicated by the userManager @@ -938,12 +957,12 @@

                                      -octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)
                                      +octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)

                                      Validates that the given request is made by an authorized user, identified either by API key or existing Flask session, and that the credentials have been checked recently if it’s a Flask session.

                                      Must be executed in an existing Flask request context!

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • request – The Flask request object

                                      • request – The required permission

                                      • @@ -954,12 +973,12 @@
                                        -octoprint.server.util.flask.permission_validator(request, permission)
                                        +octoprint.server.util.flask.permission_validator(request, permission)

                                        Validates that the given request is made by an authorized user, identified either by API key or existing Flask session.

                                        Must be executed in an existing Flask request context!

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • request – The Flask request object

                                        • request – The required permission

                                        • @@ -970,17 +989,17 @@
                                          -octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)
                                          +octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)

                                          Redirects from flask to tornado, flask request context must exist.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                            -
                                          • request

                                          • -
                                          • target

                                          • -
                                          • code

                                          • +
                                          • request

                                          • +
                                          • target

                                          • +
                                          • code

                                          -
                                          Returns
                                          +
                                          Returns:

                                          @@ -988,7 +1007,7 @@
                                          -octoprint.server.util.flask.require_credentials_checked_recently(func)
                                          +octoprint.server.util.flask.require_credentials_checked_recently(func)

                                          If you decorate a view with this, it will ensure that only users who entered their password recently in this login session are allowed to proceed. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                                          @@ -996,19 +1015,19 @@
                                          -octoprint.server.util.flask.restricted_access(func)
                                          +octoprint.server.util.flask.restricted_access(func)

                                          This combines no_firstrun_access() and login_required.

                              -

                              octoprint.server.util.sockjs

                              +

                              octoprint.server.util.sockjs

                              -class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
                              +class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
                              -remove_handler(handler)
                              +remove_handler(handler)

                              Detach active handler from the session

                              handler

                              Handler to remove

                              @@ -1018,7 +1037,7 @@
                              -set_handler(handler, start_heartbeat=True)
                              +set_handler(handler, start_heartbeat=True)

                              Set active handler for the session

                              handler

                              Associate active Tornado handler with the session

                              @@ -1032,15 +1051,15 @@
                              -

                              octoprint.server.util.tornado

                              +

                              octoprint.server.util.tornado

                              -class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              tornado.web.RequestHandler mixin that makes sure to set CORS headers similarly to the Flask backed API endpoints.

                              -set_default_headers()
                              +set_default_headers()

                              Override this to set HTTP headers at the beginning of the request.

                              For example, this is the place to set a custom Server header. Note that setting such headers in the normal flow of request @@ -1052,14 +1071,14 @@

                              -class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)
                              +class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)

                              A custom implementation of tornado.http1connection.HTTP1Connection which upon checking the Content-Length of the request against the configured maximum utilizes max_body_sizes and default_max_body_size as a fallback.

                              -class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)
                              +class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)

                              An implementation of tornado.http1connection.HTTP1ConnectionParameters that adds two new parameters max_body_sizes and default_max_body_size.

                              For a description of these please see the documentation of CustomHTTPServer above.

                              @@ -1067,7 +1086,7 @@
                              -class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: Optional[HTTP1ConnectionParameters] = None, context: Optional[object] = None)
                              +class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: HTTP1ConnectionParameters | None = None, context: object | None = None)

                              A custom implementation of tornado.http1connection.HTTP1ServerConnection which utilizes a CustomHTTP1Connection instead of a tornado.http1connection.HTTP1Connection in _server_request_loop. The implementation logic is otherwise the same as tornado.http1connection.HTTP1ServerConnection.

                              @@ -1075,7 +1094,7 @@
                              -class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)
                              +class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)

                              Custom implementation of tornado.httpserver.HTTPServer that allows defining max body sizes depending on path and method.

                              The implementation is mostly taken from tornado.httpserver.HTTPServer, the only difference is the creation @@ -1088,7 +1107,7 @@

                              default_max_body_size is the default maximum body size to apply if no specific one from max_body_sizes matches.

                              -handle_stream(stream, address)
                              +handle_stream(stream, address)

                              Override to handle a new .IOStream from an incoming connection.

                              This method may be a coroutine; if so any exceptions it raises asynchronously will be logged. Accepting of incoming connections @@ -1104,44 +1123,44 @@

                              -initialize(*args, **kwargs)
                              +initialize(*args, **kwargs)
                              -class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              tornado.web.RequestHandler that redirects to another url and logs a deprecation warning.

                              -
                              Parameters
                              +
                              Parameters:

                              url (str) – URL to which to redirect

                              -initialize(url)
                              +initialize(url)
                              -class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              -initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                              +initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                              -class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              A RequestHandler that generates data from a generator function and returns it to the client.

                              -
                              Parameters
                              +
                              Parameters:
                              • generator (function) – A generator function that returns the data to be written to the client. The function will be called without any parameters.

                              • @@ -1157,24 +1176,24 @@
                              -initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
                              +initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
                              -class octoprint.server.util.tornado.GlobalHeaderTransform(request)
                              +class octoprint.server.util.tornado.GlobalHeaderTransform(request)
                              -class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              Customized tornado.web.StaticFileHandler that allows delivery of the requested resource as attachment and access and request path validation through optional callbacks. Note that access validation takes place before path validation.

                              -
                              Parameters
                              +
                              Parameters:
                              • path (str) – The system path from which to serve files (this will be forwarded to the initialize method of :class:~tornado.web.StaticFileHandler)

                              • @@ -1208,7 +1227,7 @@
                              -compute_etag()
                              +compute_etag()

                              Computes the etag header to be used for this request.

                              By default uses a hash of the content written so far.

                              May be overridden to provide custom etag implementations, @@ -1217,44 +1236,44 @@

                              -get_content_type()
                              +get_content_type()

                              Returns the Content-Type header to be used for this request.

                              -

                              New in version 3.1.

                              +

                              Added in version 3.1.

                              -classmethod get_content_version(abspath)
                              +classmethod get_content_version(abspath)

                              Returns a version string for the resource at the given path.

                              This class method may be overridden by subclasses. The default implementation is a SHA-512 hash of the file’s contents.

                              -

                              New in version 3.1.

                              +

                              Added in version 3.1.

                              -initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
                              +initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
                              -property original_absolute_path
                              +property original_absolute_path

                              The path of the uncompressed file corresponding to the compressed file

                              -set_extra_headers(path)
                              +set_extra_headers(path)

                              For subclass to add extra headers to the response

                              -streamed_get(path, include_body=True)
                              +streamed_get(path, include_body=True)

                              Version of StaticFileHandler.get that doesn’t support ranges or ETag but streams the content. Helpful for files that might still change while being transmitted (e.g. log files)

                              @@ -1263,17 +1282,17 @@
                              -class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              -log_exception(typ, value, tb, *args, **kwargs)
                              +log_exception(typ, value, tb, *args, **kwargs)

                              Override to customize logging of uncaught exceptions.

                              By default logs instances of HTTPError as warnings without stack traces (on the tornado.general logger), and all other exceptions as errors with stack traces (on the tornado.application logger).

                              -

                              New in version 3.1.

                              +

                              Added in version 3.1.

                              @@ -1281,11 +1300,11 @@
                              -class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              tornado.web.RequestHandler that returns static data of a configured content_type.

                              -
                              Parameters
                              +
                              Parameters:
                              • data (str) – The data with which to respond

                              • content_type (str) – The content type with which to respond. Defaults to text/plain

                              • @@ -1294,34 +1313,34 @@
                              -initialize(data='', content_type='text/plain')
                              +initialize(data='', content_type='text/plain')
                              -class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              -initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                              +initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                              -class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              -initialize(access_validation=None)
                              +initialize(access_validation=None)
                              -class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              A RequestHandler similar to tornado.web.FallbackHandler which fetches any files contained in the request bodies of content type multipart, stores them in temporary files and supplies the fallback with the file’s name, content_type, path and size instead via a rewritten body.

                              @@ -1379,18 +1398,18 @@ where necessary.

                              -BODY_METHODS = ('POST', 'PATCH', 'PUT')
                              +BODY_METHODS = ('POST', 'PATCH', 'PUT')

                              The request methods that may contain a request body.

                              -data_received(chunk)
                              +data_received(chunk)

                              Called by Tornado on receiving a chunk of the request body. If request is a multipart request, takes care of processing the multipart data structure via _process_multipart_data(). If not, just adds the chunk to internal in-memory buffer.

                              -
                              Parameters
                              +
                              Parameters:

                              chunk – chunk of data received from Tornado

                              @@ -1398,39 +1417,39 @@
                              -async delete(*args, **kwargs)
                              +async delete(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              -async get(*args, **kwargs)
                              +async get(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              -async head(*args, **kwargs)
                              +async head(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              -initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
                              +initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
                              -is_multipart()
                              +is_multipart()

                              Checks whether this request is a multipart request

                              -on_finish()
                              +on_finish()

                              Called after the end of a request.

                              Override this method to perform cleanup, logging, etc. This method is a counterpart to prepare. on_finish may @@ -1440,28 +1459,28 @@

                              -async options(*args, **kwargs)
                              +async options(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              -async patch(*args, **kwargs)
                              +async patch(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              -async post(*args, **kwargs)
                              +async post(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              -prepare()
                              +prepare()

                              Prepares the processing of the request. If it’s a request that may contain a request body (as defined in UploadStorageFallbackHandler.BODY_METHODS) prepares the multipart parsing if content type fits. If it’s a body-less request, just calls the fallback with an empty body and finishes the request.

                              @@ -1469,7 +1488,7 @@
                              -async put(*args, **kwargs)
                              +async put(*args, **kwargs)

                              Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                              @@ -1478,7 +1497,7 @@
                              -class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                              +class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                              tornado.web.RequestHandler that proxies requests to a preconfigured url and returns the response. Allows delivery of the requested content as attachment and access validation through an optional callback.

                              @@ -1495,7 +1514,7 @@
              • -
                Parameters
                +
                Parameters:
                • url (str) – URL to forward any requests to. A 404 response will be returned if this is not set. Defaults to None.

                • as_attachment (bool) – Whether to serve files with Content-Disposition: attachment header (True) @@ -1510,17 +1529,17 @@

                -initialize(url=None, as_attachment=False, basename=None, access_validation=None)
                +initialize(url=None, as_attachment=False, basename=None, access_validation=None)
                -class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                +class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                GeneratingDataHandler that returns a snapshot from the configured webcam.

                -
                Parameters
                +
                Parameters:
                • as_attachment (bool | str) – Whether to serve files with Content-Disposition: attachment header (True) or not. Defaults to False. If a string is given it will be used as the filename of the attachment.

                • @@ -1533,14 +1552,14 @@
                -initialize(as_attachment=False, access_validation=None)
                +initialize(as_attachment=False, access_validation=None)
                -class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)
                +class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)

                A WSGI container for use with Tornado that allows supplying the request body to be used for wsgi.input in the generated WSGI environment upon call.

                A RequestHandler can thus provide the WSGI application with a stream for the request body, or a modified body.

                @@ -1557,12 +1576,12 @@ removed_headers arguments. forced_headers will be added to the response, removed_headers will be removed.

                -static environ(request, body=None)
                +static environ(request, body=None)

                Converts a tornado.httputil.HTTPServerRequest to a WSGI environment.

                An optional body to be used for populating wsgi.input can be supplied (either a string or a stream). If not supplied, request.body will be wrapped into a io.BytesIO stream and used instead.

                -
                Parameters
                +
                Parameters:
                • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

                • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

                • @@ -1573,10 +1592,10 @@
                  -async handle_request(request, body=None, future=None)
                  +async handle_request(request, body=None, future=None)

                  Wraps the call against the WSGI app, deriving the WSGI environment from the supplied Tornado HTTPServerRequest.

                  -
                  Parameters
                  +
                  Parameters:
                  • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

                  • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

                  • @@ -1590,13 +1609,13 @@
                    -octoprint.server.util.tornado.access_validation_factory(app, validator, *args)
                    +octoprint.server.util.tornado.access_validation_factory(app, validator, *args)

                    Creates an access validation wrapper using the supplied validator.

                    -
                    Parameters
                    +
                    Parameters:

                    validator – the access validator to use inside the validation wrapper

                    -
                    Returns
                    +
                    Returns:

                    an access validator taking a request as parameter and performing the request validation

                    @@ -1604,21 +1623,21 @@
                    -octoprint.server.util.tornado.enable_per_message_deflate_extension()
                    +octoprint.server.util.tornado.enable_per_message_deflate_extension()

                    This configures tornado.websocket.WebSocketHandler.get_compression_options to support the permessage-deflate extension to the websocket protocol, minimizing data bandwidth if clients support the extension as well

                    -octoprint.server.util.tornado.fix_json_encode()
                    +octoprint.server.util.tornado.fix_json_encode()

                    This makes tornado.escape.json_encode use octoprint.util.JsonEncoding.encode as fallback in order to allow serialization of globally registered types like frozendict and others.

                    -octoprint.server.util.tornado.fix_tornado_xheader_handling()
                    +octoprint.server.util.tornado.fix_tornado_xheader_handling()

                    This fixes tornado.httpserver._HTTPRequestContext._apply_xheaders to only use “X-Forwarded-For” header for rewriting the remote_ip field, utilizing the set of trusted downstreams, instead of blindly trusting X-Real-Ip, and to also fetch the scheme from “X-Forwarded-Proto” if available.

                    @@ -1626,21 +1645,21 @@
                    -octoprint.server.util.tornado.fix_websocket_check_origin()
                    +octoprint.server.util.tornado.fix_websocket_check_origin()

                    This fixes tornado.websocket.WebSocketHandler.check_origin to do the same origin check against the Host header case-insensitively, as defined in RFC6454, Section 4, item 5.

                    -octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)
                    +octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)

                    Creates a request path validation wrapper returning the defined status code if the supplied path_filter returns False.

                    -
                    Parameters
                    +
                    Parameters:

                    path_filter – the path filter to use on the requested path, should return False for requests that should be responded with the provided error code.

                    -
                    Returns
                    +
                    Returns:

                    a request path validator taking a request path as parameter and performing the request validation

                    diff --git a/maintenance/modules/settings.html b/maintenance/modules/settings.html index a5a9f695d..59c560537 100644 --- a/maintenance/modules/settings.html +++ b/maintenance/modules/settings.html @@ -1,26 +1,26 @@ - + - + octoprint.settings — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -202,30 +202,30 @@
                    -

                    octoprint.settings

                    +

                    octoprint.settings

                    This module represents OctoPrint’s settings management. Within this module the default settings for the core application are defined and the instance of the Settings is held, which offers getter and setter methods for the raw configuration values as well as various convenience methods to access the paths to base folders of various types and the configuration file itself.

                    -octoprint.settings.default_settings = dict(...)
                    +octoprint.settings.default_settings = dict(...)

                    The default settings of the core application.

                    -octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>
                    +octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>

                    Values that are considered to be equivalent to the boolean True value, used for type conversion in various places.

                    -octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)
                    +octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)

                    Factory method for initially constructing and consecutively retrieving the Settings singleton.

                    -
                    Parameters
                    +
                    Parameters:
                    • init (boolean) – A flag indicating whether this is the initial call to construct the singleton (True) or not (False, default). If this is set to True and the plugin manager has already been initialized, a ValueError @@ -239,13 +239,13 @@

                    • overlays (list) – List of paths to config overlays to put between default settings and config.yaml

                    -
                    Returns
                    +
                    Returns:

                    The fully initialized Settings instance.

                    -
                    Return type
                    +
                    Return type:

                    Settings

                    -
                    Raises
                    +
                    Raises:

                    ValueErrorinit is True but settings are already initialized or vice versa.

                    @@ -253,7 +253,7 @@
                    -class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)
                    +class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)

                    The Settings class allows managing all of OctoPrint’s settings. It takes care of initializing the settings directory, loading the configuration from config.yaml, persisting changes to disk etc and provides access methods for getting and setting specific values from the overall settings structure via paths.

                    @@ -276,10 +276,6 @@

                    the following paths could be used:

                    ---- @@ -318,32 +314,32 @@

                    However, these would be invalid paths: ["key"], ["serial", "port", "value"], ["server", "host", 3].

                    -OVERLAY_KEY = '__overlay__'
                    +OVERLAY_KEY = '__overlay__'
                    -add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
                    +add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
                    -add_path_update_callback(path, callback)
                    +add_path_update_callback(path, callback)
                    -backup(suffix=None, path=None, ext=None, hidden=False)
                    +backup(suffix=None, path=None, ext=None, hidden=False)
                    -checkBaseFolder(type)
                    +checkBaseFolder(type)
                    -property config
                    +property config

                    A view of the local config as stored in config.yaml

                    Does not support modifications, they will be thrown away silently. If you need to modify anything in the settings, utilize the provided set and remove methods.

                    @@ -351,164 +347,164 @@
                    -property config_hash
                    +property config_hash
                    -property config_yaml
                    +property config_yaml
                    -deleteApiKey()
                    +deleteApiKey()
                    -property effective
                    +property effective
                    -property effective_hash
                    +property effective_hash
                    -property effective_yaml
                    +property effective_yaml
                    -generateApiKey()
                    +generateApiKey()
                    -get(path, **kwargs)
                    +get(path, **kwargs)
                    -getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
                    +getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
                    -getBoolean(path, **kwargs)
                    +getBoolean(path, **kwargs)
                    -getFloat(path, **kwargs)
                    +getFloat(path, **kwargs)
                    -getInt(path, **kwargs)
                    +getInt(path, **kwargs)
                    -has(path, **kwargs)
                    +has(path, **kwargs)
                    -property last_modified
                    +property last_modified

                    Returns: (int) The last modification time of the configuration file.

                    -property last_modified_or_made_dirty
                    +property last_modified_or_made_dirty
                    -listScripts(script_type)
                    +listScripts(script_type)
                    -load(migrate=False)
                    +load(migrate=False)
                    -loadScript(script_type, name, context=None, source=False)
                    +loadScript(script_type, name, context=None, source=False)
                    -load_overlay(overlay, migrate=True)
                    +load_overlay(overlay, migrate=True)
                    -load_overlays(overlays, migrate=True)
                    +load_overlays(overlays, migrate=True)
                    -remove(path, config=None, error_on_path=False, defaults=None)
                    +remove(path, config=None, error_on_path=False, defaults=None)
                    -remove_overlay(key)
                    +remove_overlay(key)
                    -remove_path_update_callback(path, callback)
                    +remove_path_update_callback(path, callback)
                    -sanity_check_folders(folders=None)
                    +sanity_check_folders(folders=None)
                    -save(force=False, trigger_event=False)
                    +save(force=False, trigger_event=False)
                    -saveScript(script_type, name, script)
                    +saveScript(script_type, name, script)
                    -set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
                    +set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
                    -setBaseFolder(type, path, force=False, validate=True)
                    +setBaseFolder(type, path, force=False, validate=True)
                    -setBoolean(path, value, **kwargs)
                    +setBoolean(path, value, **kwargs)
                    -setFloat(path, value, **kwargs)
                    +setFloat(path, value, **kwargs)
                    -setInt(path, value, **kwargs)
                    +setInt(path, value, **kwargs)
                    -warn_about_risky_settings()
                    +warn_about_risky_settings()
                    diff --git a/maintenance/modules/slicing.html b/maintenance/modules/slicing.html index a9feae734..1105a5e4e 100644 --- a/maintenance/modules/slicing.html +++ b/maintenance/modules/slicing.html @@ -1,26 +1,26 @@ - + - + octoprint.slicing — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -197,14 +197,14 @@
                    -

                    octoprint.slicing

                    +

                    octoprint.slicing

                    In this module the slicing support of OctoPrint is encapsulated.

                    -class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)
                    +class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)

                    A wrapper for slicing profiles, both meta data and actual profile data.

                    -
                    Parameters
                    +
                    Parameters:
                    • slicer (str) – Identifier of the slicer this profile belongs to.

                    • name (str) – Identifier of this slicing profile.

                    • @@ -219,7 +219,7 @@
                      -class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)
                      +class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)

                      A wrapper for a temporary slicing profile to be used for a slicing job, based on a SlicingProfile with optional overrides applied through the supplied save_profile method.

                      Usage example:

                      @@ -230,7 +230,7 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • save_profile (callable) – Method to use for saving the temporary profile, also responsible for applying the supplied overrides. This will be called according to the method signature of @@ -244,10 +244,10 @@

                      -class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)
                      +class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)

                      The SlicingManager is responsible for managing available slicers and slicing profiles.

                      -
                      Parameters
                      +
                      Parameters:
                      -all_profiles(slicer, require_configured=False)
                      +all_profiles(slicer, require_configured=False)

                      Retrieves all profiles for slicer slicer.

                      If require_configured is set to True (default is False), only will return the profiles if the slicer is already configured, otherwise a SlicerNotConfigured exception will be raised.

                      -
                      Parameters
                      +
                      Parameters:
                      • slicer (str) – Identifier of the slicer for which to retrieve all slicer profiles

                      • require_configured (boolean) – Whether to require the slicer slicer to be already configured (True) @@ -270,13 +270,13 @@ exception will be raised.

                      -
                      Returns
                      +
                      Returns:

                      A dict of all SlicingProfile instances available for the slicer slicer, mapped by the identifier.

                      -
                      Return type
                      +
                      Return type:

                      dict of SlicingProfile

                      -
                      Raises
                      +
                      Raises:
                      • UnknownSlicer – The slicer slicer is unknown.

                      • SlicerNotConfigured – The slicer slicer is not configured and require_configured was True.

                      • @@ -287,17 +287,17 @@
                        -cancel_slicing(slicer_name, source_path, dest_path)
                        +cancel_slicing(slicer_name, source_path, dest_path)

                        Cancels the slicing job on slicer slicer_name from source_path to dest_path.

                        -
                        Parameters
                        +
                        Parameters:
                        • slicer_name (str) – Identifier of the slicer on which to cancel the job.

                        • source_path (str) – The absolute path to the source file being sliced.

                        • dest_path (str) – The absolute path to the destination file being sliced to.

                        -
                        Raises
                        +
                        Raises:

                        UnknownSlicer – The slicer specified via slicer_name is unknown.

                        @@ -305,17 +305,17 @@
                        -property configured_slicers
                        +property configured_slicers

                        Returns: (list of str) Identifiers of all available configured slicers.

                        -property default_slicer
                        +property default_slicer

                        Retrieves the default slicer.

                        -
                        Returns
                        +
                        Returns:

                        (str) The identifier of the default slicer or None if the default slicer is not registered in the

                        system.

                        @@ -327,17 +327,17 @@
                        -delete_profile(slicer, name)
                        +delete_profile(slicer, name)

                        Deletes the profile name for the specified slicer.

                        If the profile does not exist, nothing will happen.

                        -
                        Parameters
                        +
                        Parameters:
                        • slicer (str) – Identifier of the slicer for which to delete the profile.

                        • name (str) – Identifier of the profile to delete.

                        -
                        Raises
                        +
                        Raises:
                        • UnknownSlicer – The slicer slicer is unknown.

                        • CouldNotDeleteProfile – There was an error while deleting the profile.

                        • @@ -348,25 +348,25 @@
                          -get_profile_path(slicer, name, must_exist=False)
                          +get_profile_path(slicer, name, must_exist=False)

                          Retrieves the path to the profile named name for slicer slicer.

                          If must_exist is set to True (defaults to False) a UnknownProfile exception will be raised if the profile doesn’t exist yet.

                          -
                          Parameters
                          +
                          Parameters:
                          • slicer (str) – Identifier of the slicer to which the profile belongs to.

                          • name (str) – Identifier of the profile for which to retrieve the path.

                          • must_exist (boolean) – Whether the path must exist (True) or not (False, default).

                          -
                          Returns
                          +
                          Returns:

                          The absolute path to the profile identified by name for slicer slicer.

                          -
                          Return type
                          +
                          Return type:

                          str

                          -
                          Raises
                          +
                          Raises:
                          • UnknownSlicer – The slicer slicer is unknown.

                          • UnknownProfile – The profile named name doesn’t exist and must_exist was True.

                          • @@ -377,18 +377,18 @@
                            -get_slicer(slicer, require_configured=True)
                            +get_slicer(slicer, require_configured=True)

                            Retrieves the slicer named slicer. If require_configured is set to True (the default) an exception will be raised if the slicer is not yet configured.

                            -
                            Parameters
                            +
                            Parameters:
                            • slicer (str) – Identifier of the slicer to return

                            • require_configured (boolean) – Whether to raise an exception if the slicer has not been configured yet (True, the default), or also return an unconfigured slicer (False).

                            -
                            Raises
                            +
                            Raises:
                            • UnknownSlicer – The slicer is unknown.

                            • SlicerNotConfigured – The slicer is not yet configured and require_configured was set to True.

                            • @@ -399,19 +399,19 @@
                              -get_slicer_profile_path(slicer)
                              +get_slicer_profile_path(slicer)

                              Retrieves the path where the profiles for slicer slicer are stored.

                              -
                              Parameters
                              +
                              Parameters:

                              slicer (str) – Identifier of the slicer for which to retrieve the path.

                              -
                              Returns
                              +
                              Returns:

                              The absolute path to the folder where the slicer’s profiles are stored.

                              -
                              Return type
                              +
                              Return type:

                              str

                              -
                              Raises
                              +
                              Raises:

                              UnknownSlicer – The slicer slicer is unknown.

                              @@ -419,26 +419,26 @@
                              -initialize()
                              +initialize()

                              Initializes the slicing manager by loading and initializing all available SlicerPlugin implementations.

                              -load_profile(slicer, name, require_configured=True)
                              +load_profile(slicer, name, require_configured=True)

                              Loads the slicing profile for slicer with the given profile name and returns it. If it can’t be loaded due to an IOError None will be returned instead.

                              If require_configured is True (the default) a SlicerNotConfigured exception will be raised if the indicated slicer has not yet been configured.

                              -
                              Returns
                              +
                              Returns:

                              The requested slicing profile or None if it could not be loaded.

                              -
                              Return type
                              +
                              Return type:

                              SlicingProfile

                              -
                              Raises
                              +
                              Raises:
                              • UnknownSlicer – The slicer specified via slicer is unknown.

                              • SlicerNotConfigured – The slicer specified via slicer has not yet been configured and @@ -451,13 +451,13 @@

                                -profiles_last_modified(slicer)
                                +profiles_last_modified(slicer)

                                Retrieves the last modification date of slicer’s profiles.

                                -
                                Parameters
                                +
                                Parameters:

                                slicer (str) – the slicer for which to retrieve the last modification date

                                -
                                Returns
                                +
                                Returns:

                                (float) the time stamp of the last modification of the slicer’s profiles

                                @@ -465,21 +465,21 @@
                                -property registered_slicers
                                +property registered_slicers

                                Returns: (list of str) Identifiers of all available slicers.

                                -reload_slicers()
                                +reload_slicers()

                                Retrieves all registered SlicerPlugin implementations and registers them as available slicers.

                                -save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)
                                +save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)

                                Saves the slicer profile profile for slicer slicer under name name.

                                profile may be either a SlicingProfile or a dict.

                                If it’s a SlicingProfile, its slicer`, name and - if @@ -492,7 +492,7 @@

                                If the profile is the first profile to be saved for the slicer, it will automatically be marked as default.

                                -
                                Parameters
                                +
                                Parameters:
                                • slicer (str) – Identifier of the slicer for which to save the profile.

                                • name (str) – Identifier under which to save the profile.

                                • @@ -505,13 +505,13 @@
                                • description (str) – A description of the profile.

                                -
                                Returns
                                +
                                Returns:

                                The saved profile (including the applied overrides).

                                -
                                Return type
                                +
                                Return type:

                                SlicingProfile

                                -
                                Raises
                                +
                                Raises:
                                • ValueError – The supplied profile is neither a SlicingProfile nor a dict.

                                • UnknownSlicer – The slicer slicer is unknown.

                                • @@ -524,10 +524,10 @@
                                  -set_default_profile(slicer, name, require_configured=False, require_exists=True)
                                  +set_default_profile(slicer, name, require_configured=False, require_exists=True)

                                  Sets the given profile as default profile for the slicer.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • slicer (str) – Identifier of the slicer for which to set the default profile.

                                  • @@ -541,7 +541,7 @@ UnknownProfile error if true and the profile is unknown.

                                  -
                                  Raises
                                  +
                                  Raises:
                                  • UnknownSlicer – The slicer slicer is unknown

                                  • @@ -557,7 +557,7 @@
                                    -slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)
                                    +slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)

                                    Slices source_path to dest_path using slicer slicer_name and slicing profile profile_name. Since slicing happens asynchronously, callback will be called when slicing has finished (either successfully or not), with callback_args and callback_kwargs supplied.

                                    @@ -585,7 +585,7 @@

                                    If the source_path is to be a sliced at a different position than the print bed center, this position can be supplied as a dictionary defining the x and y coordinate in print bed coordinates of the model’s center.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • slicer_name (str) – The identifier of the slicer to use for slicing.

                                    • source_path (str) – The absolute path to the source file to slice.

                                    • @@ -609,7 +609,7 @@ Example: dict(x=10,y=20).

                                    -
                                    Raises
                                    +
                                    Raises:
                                    • UnknownSlicer – The slicer specified via slicer_name is unknown.

                                    • SlicerNotConfigured – The slice specified via slicer_name is not configured yet.

                                    • @@ -620,7 +620,7 @@
                                      -property slicing_enabled
                                      +property slicing_enabled

                                      Returns: (boolean) True if there is at least one configured slicer available, False otherwise.

                                      @@ -629,29 +629,29 @@
                                      -

                                      octoprint.slicing.exceptions

                                      +

                                      octoprint.slicing.exceptions

                                      Slicing related exceptions.

                                      -class octoprint.slicing.exceptions.SlicingException
                                      +class octoprint.slicing.exceptions.SlicingException

                                      Base exception of all slicing related exceptions.

                                      -class octoprint.slicing.exceptions.SlicingCancelled
                                      +class octoprint.slicing.exceptions.SlicingCancelled

                                      Bases: SlicingException

                                      Raised if a slicing job was cancelled.

                                      -class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)
                                      +class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)

                                      Bases: SlicingException

                                      Base exception of all slicer related exceptions.

                                      -slicer
                                      +slicer

                                      Identifier of the slicer for which the exception was raised.

                                      @@ -659,31 +659,31 @@
                                      -class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)
                                      +class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)

                                      Bases: SlicerException

                                      Raised if a slicer is unknown.

                                      -class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)
                                      +class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)

                                      Bases: SlicerException

                                      Raised if a slicer is not yet configured but must be configured to proceed.

                                      -class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)
                                      +class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)

                                      Base exception of all slicing profile related exceptions.

                                      -slicer
                                      +slicer

                                      Identifier of the slicer to which the profile belongs.

                                      -profile
                                      +profile

                                      Identifier of the profile for which the exception was raised.

                                      @@ -691,14 +691,14 @@
                                      -class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)
                                      +class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)

                                      Bases: ProfileException

                                      Raised if a slicing profile does not exist but must exist to proceed.

                                      -class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)
                                      +class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)

                                      Bases: ProfileException

                                      Raised if a slicing profile already exists and must not be overwritten.

                                      diff --git a/maintenance/modules/util.html b/maintenance/modules/util.html index 751d81e95..dffd029ee 100644 --- a/maintenance/modules/util.html +++ b/maintenance/modules/util.html @@ -1,26 +1,26 @@ - + - + octoprint.util — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -232,34 +232,34 @@
                                      -

                                      octoprint.util

                                      +

                                      octoprint.util

                                      This module bundles commonly used utility methods or helper classes that are used in multiple places within OctoPrint’s source code.

                                      -class octoprint.util.CaseInsensitiveSet(*args)
                                      +class octoprint.util.CaseInsensitiveSet(*args)

                                      Basic case insensitive set

                                      Any str values will be stored and compared in lower case. Other value types are left as-is.

                                      -class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                                      +class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                                      -copy() a shallow copy of od
                                      +copy() a shallow copy of od
                                      -class octoprint.util.PrependableQueue(maxsize=0)
                                      +class octoprint.util.PrependableQueue(maxsize=0)
                                      -class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)
                                      +class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)

                                      This class represents an action that should be run repeatedly in an interval. It is similar to python’s own threading.Timer class, but instead of only running once the function will be run again and again, sleeping the stated interval in between.

                                      @@ -301,7 +301,7 @@
                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • interval (float or callable) – The interval between each function call, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                                      • @@ -323,7 +323,7 @@
                                      -run()
                                      +run()

                                      Method representing the thread’s activity.

                                      You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -335,7 +335,7 @@

                                      -class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)
                                      +class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)

                                      This class represents an action that should be run after a specified amount of time. It is similar to python’s own threading.Timer class, with the addition of being able to reset the counter to zero.

                                      ResettableTimers are started, as with threads, by calling their start() method. The timer can be stopped (in @@ -353,7 +353,7 @@

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • interval (float or callable) – The interval before calling function, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                                      • @@ -368,7 +368,7 @@
                                      -run()
                                      +run()

                                      Method representing the thread’s activity.

                                      You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -380,15 +380,15 @@

                                      -exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                                      +exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                                      -class octoprint.util.TypedQueue(maxsize=0)
                                      +class octoprint.util.TypedQueue(maxsize=0)
                                      -get(*args, **kwargs)
                                      +get(*args, **kwargs)

                                      Remove and return an item from the queue.

                                      If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until an item is available. If ‘timeout’ is @@ -401,7 +401,7 @@

                                      -put(item, item_type=None, *args, **kwargs)
                                      +put(item, item_type=None, *args, **kwargs)

                                      Put an item into the queue.

                                      If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until a free slot is available. If ‘timeout’ is @@ -416,27 +416,27 @@

                                      -octoprint.util.chunks(l, n)
                                      +octoprint.util.chunks(l, n)

                                      Yield successive n-sized chunks from l.

                                      Taken from http://stackoverflow.com/a/312464/2028598

                                      -octoprint.util.count(gen)
                                      +octoprint.util.count(gen)

                                      Used instead of len(generator), which doesn’t work

                                      -octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                      +octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                      A decorator for deprecated methods. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • message (string) – The message to include in the deprecation warning.

                                      • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -449,10 +449,10 @@

                                      • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The wrapped function with the deprecation warnings in place.

                                      -
                                      Return type
                                      +
                                      Return type:

                                      function

                                      @@ -460,18 +460,18 @@
                                      -octoprint.util.deserialize(filename, encoding='utf-8')
                                      +octoprint.util.deserialize(filename, encoding='utf-8')

                                      Deserializes data from a file

                                      In the current implementation this uses json.loads and - if the file is found to be compressed - zlib.decompress.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • filename (str) – The file to deserialize from

                                      • encoding (str) – The encoding to use for the file, defaults to utf-8

                                      -
                                      Returns
                                      +
                                      Returns:

                                      The deserialized data structure

                                      @@ -479,7 +479,7 @@
                                      -octoprint.util.dict_clean(a, b)
                                      +octoprint.util.dict_clean(a, b)

                                      Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                                      Example:

                                      @@ -493,7 +493,7 @@
                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • a (dict) – The dictionary to clean against b.

                                      • b (dict) – The dictionary containing the key structure to clean from a.

                                      • @@ -508,7 +508,7 @@
                                        -octoprint.util.dict_contains_keys(keys, dictionary)
                                        +octoprint.util.dict_contains_keys(keys, dictionary)

                                        Recursively deep-checks if dictionary contains all keys found in keys.

                                        Example:

                                        >>> positive = dict(foo="some_other_bar", fnord=dict(b=100))
                                        @@ -521,16 +521,16 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • a (dict) – The dictionary to check for the keys from b.

                                        • b (dict) – The dictionary whose keys to check a for.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        True if all keys found in b are also present in a, False otherwise.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        boolean

                                        @@ -538,7 +538,7 @@
                                        -octoprint.util.dict_filter(dictionary, filter_function)
                                        +octoprint.util.dict_filter(dictionary, filter_function)

                                        Filters a dictionary with the provided filter_function

                                        Example:

                                        >>> data = dict(key1="value1", key2="value2", other_key="other_value", foo="bar", bar="foo")
                                        @@ -563,7 +563,7 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • dictionary (dict) – The dictionary to filter

                                        • filter_function (callable) – The filter function to apply, called with key and @@ -571,14 +571,14 @@ keep and False for values to strip

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A shallow copy of the provided dictionary, stripped of the key-value-pairs

                                        for which the filter_function returned False

                                        -
                                        Return type
                                        +
                                        Return type:

                                        dict

                                        @@ -586,7 +586,7 @@
                                        -octoprint.util.dict_flatten(dictionary, prefix='', separator='.')
                                        +octoprint.util.dict_flatten(dictionary, prefix='', separator='.')

                                        Flatten a dictionary.

                                        Example::
                                        >>> data = {'a': {'a1': 'a1', 'a2': 'a2'}, 'b': 'b'}
                                        @@ -600,7 +600,7 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • dictionary – the dictionary to flatten

                                        • prefix – the key prefix, initially an empty string

                                        • @@ -613,7 +613,7 @@
                                          -octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)
                                          +octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)

                                          Recursively deep-merges two dictionaries.

                                          Based on https://www.xormedia.com/recursively-merge-dictionaries-in-python/

                                          Example:

                                          @@ -649,7 +649,7 @@
                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • a (dict) – The dictionary to merge b into

                                          • b (dict) – The dictionary to merge into a

                                          • @@ -657,10 +657,10 @@
                                          • in_place (boolean) – If set to True, a will be merged with b in place, meaning a will be modified

                                          -
                                          Returns
                                          +
                                          Returns:

                                          b deep-merged into a

                                          -
                                          Return type
                                          +
                                          Return type:

                                          dict

                                          @@ -668,7 +668,7 @@
                                          -octoprint.util.dict_minimal_mergediff(source, target)
                                          +octoprint.util.dict_minimal_mergediff(source, target)

                                          Recursively calculates the minimal dict that would be needed to be deep merged with a in order to produce the same result as deep merging a and b.

                                          Example:

                                          @@ -682,20 +682,20 @@
                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • source (dict) – Source dictionary

                                          • target (dict) – Dictionary to compare to source dictionary and derive diff for

                                          -
                                          Returns
                                          +
                                          Returns:

                                          The minimal dictionary to deep merge on source to get the same result

                                          as deep merging target on source.

                                          -
                                          Return type
                                          +
                                          Return type:

                                          dict

                                          @@ -703,7 +703,7 @@
                                          -octoprint.util.dict_sanitize(a, b)
                                          +octoprint.util.dict_sanitize(a, b)

                                          Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                                          Example:

                                          @@ -717,7 +717,7 @@
                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • a (dict) – The dictionary to clean against b.

                                          • b (dict) – The dictionary containing the key structure to clean from a.

                                          • @@ -732,36 +732,36 @@
                                            -class octoprint.util.fallback_dict(custom, *fallbacks)
                                            +class octoprint.util.fallback_dict(custom, *fallbacks)
                                            -items() a set-like object providing a view on D's items
                                            +items() a set-like object providing a view on D's items
                                            -keys() a set-like object providing a view on D's keys
                                            +keys() a set-like object providing a view on D's keys
                                            -values() an object providing a view on D's values
                                            +values() an object providing a view on D's values
                                            -octoprint.util.filter_non_ascii(line)
                                            +octoprint.util.filter_non_ascii(line)

                                            Filter predicate to test if a line contains non ASCII characters.

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            line (string) – The line to test

                                            -
                                            Returns
                                            +
                                            Returns:

                                            True if the line contains non ASCII characters, False otherwise.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            boolean

                                            @@ -769,7 +769,7 @@
                                            -octoprint.util.get_bom(filename, encoding)
                                            +octoprint.util.get_bom(filename, encoding)

                                            Check if the file has a BOM and if so return it.

                                            Params:

                                            filename (str): The file to check. @@ -777,7 +777,7 @@

                                            -
                                            Returns
                                            +
                                            Returns:

                                            (bytes) the BOM or None if there is no BOM.

                                            @@ -785,19 +785,19 @@
                                            -octoprint.util.get_class(name)
                                            +octoprint.util.get_class(name)

                                            Retrieves the class object for a given fully qualified class name.

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            name (string) – The fully qualified class name, including all modules separated by .

                                            -
                                            Returns
                                            +
                                            Returns:

                                            The class if it could be found.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            type

                                            -
                                            Raises
                                            +
                                            Raises:

                                            ImportError

                                            @@ -805,14 +805,14 @@
                                            -octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")
                                            +octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")

                                            Retrieves the exception info of the last raised exception and returns it as a string formatted as <exception type>: <exception message> @ <source file>:<function name>:<line number>.

                                            -
                                            Returns
                                            +
                                            Returns:

                                            The formatted exception information.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            string

                                            @@ -820,16 +820,16 @@
                                            -octoprint.util.get_formatted_datetime(d)
                                            +octoprint.util.get_formatted_datetime(d)

                                            Formats a datetime instance as “YYYY-mm-dd HH:MM” and returns the resulting string.

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            d (datetime.datetime) – The datetime instance to format

                                            -
                                            Returns
                                            +
                                            Returns:

                                            The datetime formatted as “YYYY-mm-dd HH:MM”

                                            -
                                            Return type
                                            +
                                            Return type:

                                            string

                                            @@ -837,18 +837,18 @@
                                            -octoprint.util.get_formatted_size(num)
                                            +octoprint.util.get_formatted_size(num)

                                            Formats the given byte count as a human readable rounded size expressed in the most pressing unit among B(ytes), K(ilo)B(ytes), M(ega)B(ytes), G(iga)B(ytes) and T(era)B(ytes), with one decimal place.

                                            Based on http://stackoverflow.com/a/1094933/2028598

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            num (int) – The byte count to format

                                            -
                                            Returns
                                            +
                                            Returns:

                                            The formatted byte count.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            string

                                            @@ -856,16 +856,16 @@
                                            -octoprint.util.get_formatted_timedelta(d)
                                            +octoprint.util.get_formatted_timedelta(d)

                                            Formats a timedelta instance as “HH:MM:ss” and returns the resulting string.

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            d (datetime.timedelta) – The timedelta instance to format

                                            -
                                            Returns
                                            +
                                            Returns:

                                            The timedelta formatted as “HH:MM:ss”

                                            -
                                            Return type
                                            +
                                            Return type:

                                            string

                                            @@ -873,14 +873,14 @@
                                            -octoprint.util.get_fully_qualified_classname(o)
                                            +octoprint.util.get_fully_qualified_classname(o)

                                            Returns the fully qualified class name for an object.

                                            Based on https://stackoverflow.com/a/2020083

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            o – the object of which to determine the fqcn

                                            -
                                            Returns
                                            +
                                            Returns:

                                            (str) the fqcn of the object

                                            @@ -888,19 +888,19 @@
                                            -octoprint.util.is_allowed_file(filename, extensions)
                                            +octoprint.util.is_allowed_file(filename, extensions)

                                            Determines if the provided filename has one of the supplied extensions. The check is done case-insensitive.

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • filename (string) – The file name to check against the extensions.

                                            • extensions (list) – The extensions to check against, a list of strings

                                            -
                                            Returns
                                            +
                                            Returns:

                                            True if the file name’s extension matches one of the allowed extensions, False otherwise.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            boolean

                                            @@ -908,14 +908,14 @@
                                            -octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                            +octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                            A decorator for methods pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • message (string) – The message to include in the deprecation warning.

                                            • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -928,10 +928,10 @@

                                            • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                            -
                                            Returns
                                            +
                                            Returns:

                                            The wrapped function with the deprecation warnings in place.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            function

                                            @@ -939,7 +939,7 @@
                                            -octoprint.util.pp(value)
                                            +octoprint.util.pp(value)
                                            >>> pp(dict())
                                             'dict()'
                                             >>> pp(dict(a=1, b=2, c=3))
                                            @@ -962,7 +962,7 @@
                                             
                                             
                                            -octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)
                                            +octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)

                                            Serializes data to a file

                                            In the current implementation this uses json.dumps.

                                            If compressed is True (the default), the serialized data put through zlib.compress.

                                            @@ -972,7 +972,7 @@

                                            This is not thread-safe, if concurrent access is required, the caller needs to ensure that only one thread is writing to the file at any given time.

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • filename (str) – The file to write to

                                            • data (object) – The data to serialize

                                            • @@ -985,20 +985,20 @@
                                              -octoprint.util.to_bytes(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                              +octoprint.util.to_bytes(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                              Make sure s_or_u is a byte string.

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              -
                                              Returns
                                              +
                                              Returns:

                                              converted bytes.

                                              -
                                              Return type
                                              +
                                              Return type:

                                              bytes

                                              @@ -1006,7 +1006,7 @@
                                              -octoprint.util.to_native_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                              +octoprint.util.to_native_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                              Deprecated since version 1.8.0: to_native_str is no longer needed, use to_unicode instead

                                              @@ -1014,7 +1014,7 @@
                                              -octoprint.util.to_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                              +octoprint.util.to_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                              Deprecated since version 1.3.11: to_str has been renamed to to_bytes and in a future version will become the new to_unicode

                                              @@ -1022,20 +1022,20 @@
                                              -octoprint.util.to_unicode(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                              +octoprint.util.to_unicode(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                              Make sure s_or_u is a string (str).

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              -
                                              Returns
                                              +
                                              Returns:

                                              converted string.

                                              -
                                              Return type
                                              +
                                              Return type:

                                              str

                                              @@ -1043,12 +1043,12 @@
                                              -octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                              +octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                              A function for deprecated variables. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • message (string) – The message to include in the deprecation warning.

                                              • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1058,10 +1058,10 @@

                                              • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                              -
                                              Returns
                                              +
                                              Returns:

                                              The value of the variable with the deprecation warnings in place.

                                              -
                                              Return type
                                              +
                                              Return type:

                                              value

                                              @@ -1069,12 +1069,12 @@
                                              -octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                              +octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                              A decorator for variables pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • message (string) – The message to include in the deprecation warning.

                                              • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1084,10 +1084,10 @@

                                              • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                              -
                                              Returns
                                              +
                                              Returns:

                                              The value of the variable with the deprecation warnings in place.

                                              -
                                              Return type
                                              +
                                              Return type:

                                              value

                                              @@ -1095,10 +1095,10 @@
                                      -

                                      octoprint.util.commandline

                                      +

                                      octoprint.util.commandline

                                      -class octoprint.util.commandline.CommandlineCaller
                                      +class octoprint.util.commandline.CommandlineCaller

                                      The CommandlineCaller is a utility class that allows running command line commands while logging their stdout and stderr via configurable callback functions.

                                      Callbacks are expected to have a signature matching

                                      @@ -1138,17 +1138,17 @@
                                      -call(command: Union[str, List[str], Tuple[str]], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[Optional[int], List[str], List[str]]
                                      +call(command: str | List[str] | Tuple[str], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[int | None, List[str], List[str]]

                                      Calls a command

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • command (list, tuple or str) – command to call

                                      • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                                      -
                                      Returns
                                      +
                                      Returns:

                                      (tuple) a 3-tuple of return code, full stdout and full stderr output

                                      @@ -1156,20 +1156,20 @@
                                      -checked_call(command: Union[str, List[str], Tuple[str]], **kwargs) Tuple[int, List[str], List[str]]
                                      +checked_call(command: str | List[str] | Tuple[str], **kwargs) Tuple[int, List[str], List[str]]

                                      Calls a command and raises an error if it doesn’t return with return code 0

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • command (list, tuple or str) – command to call

                                      • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                                      -
                                      Returns
                                      +
                                      Returns:

                                      (tuple) a 3-tuple of return code, full stdout and full stderr output

                                      -
                                      Raises
                                      +
                                      Raises:

                                      CommandlineError

                                      @@ -1177,19 +1177,19 @@
                                      -on_log_call
                                      +on_log_call

                                      Callback for the called command line

                                      -on_log_stderr
                                      +on_log_stderr

                                      Callback for stderr output

                                      -on_log_stdout
                                      +on_log_stdout

                                      Callback for stdout output

                                      @@ -1197,10 +1197,10 @@
                                      -exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)
                                      +exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)

                                      Raised by checked_call() on non zero return codes

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • returncode (int) – the return code of the command

                                      • stdout (str) – the stdout output produced by the command

                                      • @@ -1212,22 +1212,22 @@
                                        -class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                                        +class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                                        -octoprint.util.commandline.clean_ansi(line: Union[str, bytes]) Union[str, bytes]
                                        +octoprint.util.commandline.clean_ansi(line: str | bytes) str | bytes

                                        Removes ANSI control codes from line.

                                        Note: This function also still supports an input of bytes, leading to an output of bytes. This if for reasons of backwards compatibility only, should no longer be used and considered to be deprecated and to be removed in a future version of OctoPrint. A warning will be logged.

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        line (str or bytes) – the line to process

                                        -
                                        Returns
                                        +
                                        Returns:

                                        (str or bytes) The line without any ANSI control codes

                                        @@ -1239,11 +1239,11 @@
                                      -

                                      octoprint.util.platform

                                      +

                                      octoprint.util.platform

                                      This module bundles platform specific flags and implementations.

                                      -octoprint.util.platform.CLOSE_FDS = True
                                      +octoprint.util.platform.CLOSE_FDS = True

                                      Default setting for close_fds parameter to Popen/sarge.run.

                                      Set close_fds on every sub process to this to ensure file handlers will be closed on child processes on platforms.

                                      @@ -1251,12 +1251,12 @@
                                      -octoprint.util.platform.get_os()
                                      +octoprint.util.platform.get_os()

                                      Returns a canonical OS identifier.

                                      Currently the following OS are recognized: win32, linux (sys.platform = linux*), macos (sys.platform = darwin) and freebsd (sys.platform = freebsd*).

                                      -
                                      Returns
                                      +
                                      Returns:

                                      (str) mapped OS identifier

                                      @@ -1264,10 +1264,10 @@
                                      -octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)
                                      +octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)

                                      Tests if the current_os or sys.platform are blacklisted or whitelisted in compatibility_entries

                                      -
                                      Returns
                                      +
                                      Returns:

                                      (bool) True if the os is compatible, False otherwise

                                      @@ -1275,7 +1275,7 @@
                                      -octoprint.util.platform.set_close_exec(handle)
                                      +octoprint.util.platform.set_close_exec(handle)

                                      Set close_exec flag on handle, if supported by the OS.

                                      diff --git a/maintenance/plugins/concepts.html b/maintenance/plugins/concepts.html index 54efca1d1..d180244d4 100644 --- a/maintenance/plugins/concepts.html +++ b/maintenance/plugins/concepts.html @@ -1,26 +1,26 @@ - + - + General Concepts — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -140,7 +140,7 @@
                                      -

                                      General Concepts

                                      +

                                      General Concepts

                                      OctoPrint’s plugins are Python Packages which in their top-level module define a bunch of control properties defining metadata (like name, version etc of the plugin) as well as information on how to initialize the plugin and into what @@ -152,7 +152,7 @@

                                      Plugin mixin implementations will get a bunch of properties injected by OctoPrint plugin system to help them work.

                                      -

                                      Lifecycle

                                      +

                                      Lifecycle

                                      There are three sources of installed plugins that OctoPrint will check during start up:

                                        diff --git a/maintenance/plugins/controlproperties.html b/maintenance/plugins/controlproperties.html index 0a72990ac..1cc8260a2 100644 --- a/maintenance/plugins/controlproperties.html +++ b/maintenance/plugins/controlproperties.html @@ -1,26 +1,26 @@ - + - + Control Properties — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -137,7 +137,7 @@
                                        -

                                        Control Properties

                                        +

                                        Control Properties

                                        As already mentioned earlier, plugins are Python packages which provide certain pieces of metadata to tell OctoPrint’s plugin subsystem about themselves. These are simple package attributes defined in the top most package file, e.g.:

                                        import octoprint.plugin
                                        diff --git a/maintenance/plugins/distributing.html b/maintenance/plugins/distributing.html
                                        index b0d38c0e0..776b2052a 100644
                                        --- a/maintenance/plugins/distributing.html
                                        +++ b/maintenance/plugins/distributing.html
                                        @@ -1,26 +1,26 @@
                                         
                                        -
                                        +
                                         
                                        -  
                                        +  
                                         
                                           
                                           Distributing your plugin — OctoPrint maintenance documentation
                                        -      
                                        -      
                                        -      
                                        +      
                                        +      
                                        +      
                                         
                                           
                                           
                                           
                                        -        
                                        -        
                                        -        
                                        -        
                                        -        
                                        -        
                                        -        
                                        +        
                                        +        
                                        +        
                                        +        
                                        +        
                                        +        
                                        +        
                                                 
                                             
                                             
                                        @@ -143,28 +143,28 @@
                                                    
                                        -

                                        Distributing your plugin

                                        +

                                        Distributing your plugin

                                        You can distribute a plugin with OctoPrint via two ways.

                                        - +
                                        -

                                        Manual file distribution

                                        +

                                        Manual file distribution

                                        You can have your users copy it to OctoPrint’s plugin folder (normally located at ~/.octoprint/plugins under Linux, %APPDATA%\OctoPrint\plugins on Windows and ~/Library/Application Support/OctoPrint on Mac). In this case your plugin will be distributed directly as a Python module (a single .py file containing all of your plugin’s code directly and named like your plugin) or a package (a folder named like your plugin + __init.py__ contained within).

                                        -

                                        Proper packages installable via pip

                                        +

                                        Proper packages installable via pip

                                        You can have your users install it via pip and register it for the entry point octoprint.plugin via your plugin’s setup.py, this way it will be found automatically by OctoPrint upon initialization of the -plugin subsystem 1.

                                        +plugin subsystem [1].

                                        For an example of how the directory structure and related files would look like in this case, please take a look at the helloworld example from OctoPrint’s example plugins.

                                        This variant is highly recommended for pretty much any plugin besides the most basic ones since it also allows @@ -180,17 +180,18 @@

                                      Footnotes

                                      -
                                      -
                                      1
                                      -

                                      The automatic registration will only work within the same Python installation (this also includes virtual +

                                      -
                                      + +
                                      -

                                      Registering with the official plugin repository

                                      +

                                      Registering with the official plugin repository

                                      Once it is ready for general consumption, you might want to register your plugin with the official OctoPrint Plugin Repository. You can find instructions on how to do that in the Plugin Repository’s help pages.

                                      @@ -199,7 +200,7 @@ plugin.

                                      -

                                      Version management after the official plugin repository release

                                      +

                                      Version management after the official plugin repository release

                                      Once your plugin is available in the official plugin repository, you probably want to create and distribute new versions. For “beta” users you can use the manual file distribution method, or a more elegant release channels (see below). After you finalized a new plugin version, don’t forget to actually update the version in the setup.py, diff --git a/maintenance/plugins/gettingstarted.html b/maintenance/plugins/gettingstarted.html index ed98e5a2f..504f21517 100644 --- a/maintenance/plugins/gettingstarted.html +++ b/maintenance/plugins/gettingstarted.html @@ -1,26 +1,26 @@ - + - + Plugin Tutorial — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -146,8 +146,8 @@

                                      -

                                      Plugin Tutorial

                                      - +

                                      Over the course of this little tutorial we’ll build a full fledged, installable OctoPrint plugin that displays “Hello World!” at some locations throughout OctoPrint and also offers some other basic functionality to give you an idea of what you can achieve with OctoPrint’s plugin system.

                                      @@ -235,7 +235,7 @@ but not Python 2 (so you can use modern language features), and going forward you really should no longer have to care about the end-of-life Python 2.

                                      -

                                      Saying hello: How to make the plugin actually do something

                                      +

                                      Saying hello: How to make the plugin actually do something

                                      Apart from being discovered by OctoPrint, our plugin does nothing yet. We want to change that. Let’s make it print “Hello World!” to the log upon server startup. Modify our helloworld.py like this:

                                      import octoprint.plugin
                                      @@ -269,7 +269,7 @@
                                       for our little plugin here, or more generally octoprint.plugins.<plugin identifier>.

                                      -

                                      Growing up: How to make it distributable

                                      +

                                      Growing up: How to make it distributable

                                      If you now want to distribute this plugin to other OctoPrint users (since it is so awesome to be greeted upon server startup), let’s take a look at how you’d go about that now before our plugin gets more complicated.

                                      You basically have two options to distribute your plugin. One would be about the exact same way we are using it now, @@ -286,7 +286,7 @@

                                      (venv) $ pip install "cookiecutter>=2.1.1,<3"
                                       
                                      -

                                      Then we can use the octoprint dev plugin:new command 1 to generate a new OctoPrint plugin skeleton for us:

                                      +

                                      Then we can use the octoprint dev plugin:new command [1] to generate a new OctoPrint plugin skeleton for us:

                                      (venv) $ cd ~/devel
                                       (venv) $ octoprint dev plugin:new helloworld
                                       Cloning into 'cookiecutter-octoprint-plugin'...
                                      @@ -481,7 +481,7 @@
                                       

                                      Something is still a bit ugly though. Take a look into __init__.py and setup.py. It seems like we have a bunch of information now defined twice:

                                      -
                                      Listing 39 __init__.py
                                      +
                                      Listing 39 __init__.py
                                      __plugin_name__ = "Hello World"
                                       __plugin_version__ = "1.0.0"
                                       __plugin_description__ = "A quick \"Hello World\" example plugin for OctoPrint"
                                      @@ -489,7 +489,7 @@
                                       
                                      -
                                      Listing 40 setup.py
                                      +
                                      Listing 40 setup.py
                                      # ...
                                       
                                       # The plugin's human readable name. Can be overwritten within OctoPrint's internal data via __plugin_name__ in the
                                      @@ -558,7 +558,7 @@
                                       

                                      But let’s add some more features instead.

                                      -

                                      Frontend fun: How to add functionality to OctoPrint’s web interface

                                      +

                                      Frontend fun: How to add functionality to OctoPrint’s web interface

                                      Outputting a log line upon server startup is all nice and well, but we want to greet not only the administrator of our OctoPrint instance but actually everyone that opens OctoPrint in their browser. Therefore, we need to modify OctoPrint’s web interface itself.

                                      @@ -602,7 +602,7 @@

                                      Now look at that!

                                      -

                                      Settings Galore: How to make parts of your plugin user adjustable

                                      +

                                      Settings Galore: How to make parts of your plugin user adjustable

                                      Remember that Wikipedia link we added to our little link in the navigation bar? It links to the English Wikipedia. But what if we want to allow our users to adjust that according to their wishes, e.g. to link to the German language node about “Hello World” programs instead?

                                      @@ -761,7 +761,7 @@

                                      Congratulations, you’ve just made your Plugin configurable :)

                                      -

                                      More frontend fun: Adding custom javascript to your frontend components

                                      +

                                      More frontend fun: Adding custom javascript to your frontend components

                                      In the previous section we set that custom_bindings parameter to False since we wanted OctoPrint to bind the SettingsViewModel to our settings dialog and the NavigationViewModel to our entry in the nav bar.

                                      But what if we want to define our own, with more functionality that is already available? Let’s take a look. We’ll now @@ -900,7 +900,7 @@

                                      More frontend fun: Adding custom javascri of the same article.

                                      -

                                      Style matters: Injecting custom CSS into the page

                                      +

                                      Style matters: Injecting custom CSS into the page

                                      So it appears that this stuff is working great already. Only one thing is a bit ugly, let’s take another look at our helloworld_tab.jinja2:

                                      <div class="input-append">
                                      @@ -1004,7 +1004,7 @@ 

                                      Style matters: Injecting custom CSS into generated CSS files (and compiles them on the fly in your browser using lessjs), which makes development so much easier. Let’s try that, so you know how it works for future bigger projects.

                                      Add another folder to our static folder called less and within that create a file helloworld.less. Put -into that the same content as into our CSS file. Compile that LESS file to CSS 2, overwriting our old helloworld.css +into that the same content as into our CSS file. Compile that LESS file to CSS [2], overwriting our old helloworld.css in the process. The folder structure of our plugin should now look like this:

                                      octoprint_helloworld/
                                           static/
                                      @@ -1138,7 +1138,7 @@ 

                                      Style matters: Injecting custom CSS into

                                      -

                                      Where do we go from here?

                                      +

                                      Where do we go from here?

                                      You’ve now seen how easy it is to add functionality to OctoPrint with this little tutorial. You can find the full source code of the little Hello World plugin we built together here on Github.

                                      But I want to invite you to dive deeper into OctoPrint’s plugin system. To get an idea of all the other various plugin types @@ -1158,21 +1158,23 @@

                                      Where do we go from here?Footnotes

                                      -
                                      -
                                      1
                                      -

                                      Instead of the octoprint dev plugin:new you could also have manually called cookiecutter with the +

                                      -
                                      2
                                      -

                                      Refer to the LESS documentation on how to do that. If you are developing + +

                                      -
                                      + +

                                      diff --git a/maintenance/plugins/helpers.html b/maintenance/plugins/helpers.html index 93899ccea..7ea179cac 100644 --- a/maintenance/plugins/helpers.html +++ b/maintenance/plugins/helpers.html @@ -1,26 +1,26 @@ - + - + Helpers — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -137,14 +137,14 @@
                                      -

                                      Helpers

                                      +

                                      Helpers

                                      Helpers are methods that plugins can expose to other plugins in order to make common functionality available on the system. They are registered with the OctoPrint plugin system through the use of the control property __plugin_helpers__.

                                      An example for providing some helper functions to the system can be found in the Discovery Plugin, which provides its SSDP browsing and Zeroconf browsing and publishing functions as helper methods.

                                      -
                                      Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                                      +
                                      Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                                      def __plugin_load__():
                                           if not pybonjour:
                                               # no pybonjour available, we can't use that
                                      @@ -172,7 +172,7 @@
                                       Using get_helpers() plugins can retrieve exported helper methods and call
                                       them as (hopefully) documented.

                                      -
                                      Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                                      +
                                      Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                                      def on_after_startup(self):
                                           host = self._settings.get(["hostname"])
                                           port = self._settings.getInt(["port"])
                                      diff --git a/maintenance/plugins/hooks.html b/maintenance/plugins/hooks.html
                                      index 62e7dd84b..be291f1fc 100644
                                      --- a/maintenance/plugins/hooks.html
                                      +++ b/maintenance/plugins/hooks.html
                                      @@ -1,26 +1,26 @@
                                       
                                      -
                                      +
                                       
                                      -  
                                      +  
                                       
                                         
                                         Hooks — OctoPrint maintenance documentation
                                      -      
                                      -      
                                      -      
                                      +      
                                      +      
                                      +      
                                       
                                         
                                         
                                         
                                      -        
                                      -        
                                      -        
                                      -        
                                      -        
                                      -        
                                      -        
                                      +        
                                      +        
                                      +        
                                      +        
                                      +        
                                      +        
                                      +        
                                               
                                           
                                           
                                      @@ -191,8 +191,8 @@
                                                  
                                      -

                                      Hooks

                                      -
                                      +

                                      Hooks

                                      +
                                    - +
                                    -

                                    General Concepts

                                    +

                                    General Concepts

                                    Hooks are the smaller siblings of mixins, allowing to extend functionality or data processing where a custom mixin type would be too much overhead. Where mixins are based on classes, hooks are based on methods. Like with the mixin implementations, plugins inform OctoPrint about hook handlers using a control property, __plugin_hooks__.

                                    @@ -306,7 +306,7 @@ property instead, manually instantiate your implementation instance and then add its hook handler method to the __plugin_hooks__ property and itself to the __plugin_implementation__ property. See the following example.

                                    - +
                                    # coding=utf-8
                                     
                                     import octoprint.plugin
                                    @@ -335,7 +335,7 @@
                                     
                                    -

                                    Execution Order

                                    +

                                    Execution Order

                                    Hooks may also define an order number to allow influencing the execution order of the registered hook handlers. Instead of registering only a callback as hook handler, it is also possible to register a 2-tuple consisting of a callback and an integer value used for ordering handlers. They way this works is that OctoPrint will first sort all registered @@ -344,7 +344,7 @@

                                    An example should help clear this up. Let’s assume we have the following plugin ordertest which defines a new hook called octoprint.plugin.ordertest.callback:

                                    -
                                    Listing 15 ordertest.py
                                    +
                                    Listing 15 ordertest.py
                                    import octoprint.plugin
                                     
                                     class OrderTestPlugin(octoprint.plugin.StartupPlugin):
                                    @@ -368,7 +368,7 @@
                                     

                                    And these three plugins defining handlers for that hook:

                                    -
                                    Listing 16 oneorderedhook.py
                                    +
                                    Listing 16 oneorderedhook.py
                                    import logging
                                     
                                      def callback(*args, **kwargs):
                                    @@ -383,7 +383,7 @@
                                     
                                    -
                                    Listing 17 anotherorderedhook.py
                                    +
                                    Listing 17 anotherorderedhook.py
                                    import logging
                                     
                                     def callback(*args, **kwargs):
                                    @@ -398,7 +398,7 @@
                                     
                                    -
                                    Listing 18 yetanotherhook.py
                                    +
                                    Listing 18 yetanotherhook.py
                                    import logging
                                     
                                     def callback(*args, **kwargs):
                                    @@ -431,7 +431,7 @@
                                     
                                    -

                                    Available plugin hooks

                                    +

                                    Available plugin hooks

                                    Note

                                    All of the hooks below take at least two parameters, *args and **kwargs. Make sure those are @@ -439,7 +439,7 @@ They will act as placeholders if additional parameters are added to the hooks in the future and will allow your plugin to stay compatible to OctoPrint without any necessary adjustments from you in these cases.

                                    - +
                                    -

                                    octoprint.access.permissions

                                    +

                                    octoprint.access.permissions

                                    -additional_permissions_hook(*args, **kwargs)
                                    +additional_permissions_hook(*args, **kwargs)
                                    -

                                    New in version 1.4.0.

                                    +

                                    Added in version 1.4.0.

                                    Return a list of additional permissions to register in the system on behalf of the plugin. Use this to add granular permissions to your plugin which can be configured for users and user groups in the general @@ -543,10 +543,10 @@

                                    Once registered it can be referenced under the key PLUGIN_APPKEYS_ADMIN.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    A list of additional permissions to register in the system.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    A list of dicts.

                                    @@ -554,12 +554,12 @@
                                    -

                                    octoprint.access.users.factory

                                    +

                                    octoprint.access.users.factory

                                    -user_manager_factory_hook(components, settings, *args, **kwargs)
                                    +user_manager_factory_hook(components, settings, *args, **kwargs)
                                    -

                                    New in version 1.4.0.

                                    +

                                    Added in version 1.4.0.

                                    Return a UserManager instance to use as global user manager object. This will be called only once during initial server startup.

                                    @@ -582,16 +582,16 @@ FilebasedUserManager will be instantiated, linked to the default user storage file ~/.octoprint/users.yaml.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • components (dict) – System components to use for user manager instance initialization

                                    • settings (SettingsManager) – The global settings manager instance to fetch configuration values from if necessary

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The userManager instance to use globally.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    UserManager subclass or None

                                    @@ -599,12 +599,12 @@
                                    -

                                    octoprint.accesscontrol.keyvalidator

                                    +

                                    octoprint.accesscontrol.keyvalidator

                                    -acl_keyvalidator_hook(apikey, *args, **kwargs)
                                    +acl_keyvalidator_hook(apikey, *args, **kwargs)
                                    -

                                    New in version 1.3.6.

                                    +

                                    Added in version 1.3.6.

                                    Via this hook plugins may validate their own customized API keys to be used to access OctoPrint’s API.

                                    apikey will be the API key as read from the request headers.

                                    @@ -615,7 +615,7 @@

                                    Allows using a user’s id as their API key (for obvious reasons this is NOT recommended in production environments and merely provided for educational purposes):

                                    - +
                                    # Needs OctoPrint 1.3.6 or newer
                                     
                                     def hook(apikey, *args, **kwargs):
                                    @@ -631,16 +631,16 @@
                                     
                                    -

                                    New in version 1.3.6.

                                    +

                                    Added in version 1.3.6.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    apikey (str) – The API key to validate

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The user in whose name the request will be processed further

                                    -
                                    Return type
                                    +
                                    Return type:

                                    User

                                    @@ -648,12 +648,12 @@
                                    -

                                    octoprint.cli.commands

                                    +

                                    octoprint.cli.commands

                                    -cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                                    +cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                                    -

                                    New in version 1.3.0.

                                    +

                                    Added in version 1.3.0.

                                    By providing a handler for this hook plugins may register commands on OctoPrint’s command line interface (CLI).

                                    Handlers are expected to return a list of callables annotated as Click commands to register with the @@ -665,7 +665,7 @@

                                    Registers two new commands, custom_cli_command:greet and custom_cli_command:random with OctoPrint:

                                    - +
                                    # Needs OctoPrint 1.3.x or newer
                                     
                                     import click
                                    @@ -792,11 +792,11 @@
                                     anything else like that. The only things available are the settings and the plugin manager.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    A list of Click commands or groups to provide on OctoPrint’s CLI.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    list

                                    @@ -804,12 +804,12 @@
                                    -

                                    octoprint.comm.protocol.firmware.info

                                    +

                                    octoprint.comm.protocol.firmware.info

                                    -firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                                    +firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                                    -

                                    New in version 1.3.9.

                                    +

                                    Added in version 1.3.9.

                                    Be notified of firmware information received from the printer following an M115.

                                    Hook handlers may use this to react/adjust behaviour based on reported firmware data. OctoPrint parses the received @@ -829,7 +829,7 @@

                                    This includes I/O of any kind.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (object) – The MachineCom instance which triggered the hook.

                                    • firmware_name (str) – The parsed name of the firmware

                                    • @@ -841,12 +841,12 @@
                                    -

                                    octoprint.comm.protocol.firmware.capabilities

                                    +

                                    octoprint.comm.protocol.firmware.capabilities

                                    -firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                                    +firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                                    -

                                    New in version 1.3.9.

                                    +

                                    Added in version 1.3.9.

                                    Be notified of capability report entries received from the printer.

                                    Hook handlers may use this to react to custom firmware capabilities. OctoPrint parses the received capability @@ -860,7 +860,7 @@

                                    This includes I/O of any kind.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (object) – The MachineCom instance which triggered the hook.

                                    • capability (str) – The name of the parsed capability

                                    • @@ -873,12 +873,12 @@
                                    -

                                    octoprint.comm.protocol.firmware.capability_report

                                    +

                                    octoprint.comm.protocol.firmware.capability_report

                                    -firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                                    +firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                                    -

                                    New in version 1.9.0.

                                    +

                                    Added in version 1.9.0.

                                    Be notified when all capability report entries are received from the printer.

                                    Hook handlers may use this to react to the end of the custom firmware capability report. OctoPrint parses the received @@ -890,7 +890,7 @@

                                    This includes I/O of any kind.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (object) – The MachineCom instance which triggered the hook.

                                    • firmware_capabilities (dict) – Reported capabilities (capability name mapped to enabled flag)

                                    • @@ -901,12 +901,12 @@
                                    -

                                    octoprint.comm.protocol.action

                                    +

                                    octoprint.comm.protocol.action

                                    -protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                                    +protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    React to a action command received from the printer.

                                    Hook handlers may use this to react to custom firmware messages. OctoPrint parses the received action @@ -921,7 +921,7 @@

                                    Example:

                                    Logs if the custom action (// action:custom) is received from the printer’s firmware.

                                    - +
                                    # coding=utf-8
                                     
                                     import octoprint.plugin
                                    @@ -949,7 +949,7 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (object) – The MachineCom instance which triggered the hook.

                                    • line (str) – The complete line as received from the printer, format // action:<command>

                                    • @@ -966,7 +966,7 @@
                                    -

                                    octoprint.comm.protocol.atcommand.<phase>

                                    +

                                    octoprint.comm.protocol.atcommand.<phase>

                                    This describes actually two hooks:

                                      @@ -976,9 +976,9 @@
                                    -protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                                    +protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                                    -

                                    New in version 1.3.7.

                                    +

                                    Added in version 1.3.7.

                                    Trigger on @ commands as they progress through the queuing and sending phases of the comm layer. See the gcode phase hook for a @@ -998,7 +998,7 @@

                                    Pause the print on @wait (this mirrors the implementation of the built-in @pause command, just with a different name).

                                    - +
                                    # coding=utf-8
                                     
                                     def custom_atcommand_handler(comm, phase, command, parameters, tags=None, *args, **kwargs):
                                    @@ -1022,7 +1022,7 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (object) – The MachineCom instance which triggered the hook.

                                    • phase (str) – The current phase in the command progression, either queuing or sending. Will always @@ -1036,7 +1036,7 @@

                                    -

                                    octoprint.comm.protocol.gcode.<phase>

                                    +

                                    octoprint.comm.protocol.gcode.<phase>

                                    This actually describes four hooks:

                                      @@ -1048,9 +1048,9 @@
                                    -protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                                    +protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Pre- and postprocess commands as they progress through the various phases of being sent to the printer. The phases are the following:

                                    @@ -1175,7 +1175,7 @@

                                    The following hook handler replaces all M107 (“Fan Off”, deprecated) with an M106 S0 (“Fan On” with speed parameter) upon queuing and logs all sent M106.

                                    - +
                                    # coding=utf-8
                                     
                                     import octoprint.plugin
                                    @@ -1205,7 +1205,7 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (object) – The MachineCom instance which triggered the hook.

                                    • phase (str) – The current phase in the command progression, either queuing, queued, sending or @@ -1220,7 +1220,7 @@

                                    • tags – Tags attached to the command

                                    -
                                    Returns
                                    +
                                    Returns:

                                    None, 1-tuple, 2-tuple or string, see the description above for details.

                                    @@ -1228,12 +1228,12 @@
                                    -

                                    octoprint.comm.protocol.gcode.received

                                    +

                                    octoprint.comm.protocol.gcode.received

                                    -gcode_received_hook(comm_instance, line, *args, **kwargs)
                                    +gcode_received_hook(comm_instance, line, *args, **kwargs)
                                    -

                                    New in version 1.3.0.

                                    +

                                    Added in version 1.3.0.

                                    Get the returned lines sent by the printer. Handlers should return the received line or in any case, the modified version of it. If the handler returns None, processing will be aborted and the communication layer will get an @@ -1248,7 +1248,7 @@

                                    Example:

                                    Looks for the response of an M115, which contains information about the MACHINE_TYPE, among other things.

                                    - +
                                    # coding=utf-8
                                     
                                     import logging
                                    @@ -1275,16 +1275,16 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                    • line (str) – The line received from the printer.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The received line or in any case, a modified version of it.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    str

                                    @@ -1292,12 +1292,12 @@
                                    -

                                    octoprint.comm.protocol.gcode.error

                                    +

                                    octoprint.comm.protocol.gcode.error

                                    -gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                                    +gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                                    -

                                    New in version 1.3.7.

                                    +

                                    Added in version 1.3.7.

                                    Get the messages of any errors messages sent by the printer, with the leading Error: or !! already stripped. Handlers should return True if they handled that error internally and it should not be processed by @@ -1315,7 +1315,7 @@

                                    Looks for error messages containing “fan error” or “bed missing” (ignoring case) and marks them as handled by the plugin.

                                    - +
                                    import logging
                                     
                                     _HANDLED_ERRORS = ('fan error', 'bed missing')
                                    @@ -1335,16 +1335,16 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                    • error_message (str) – The error message received from the printer.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    True if the error was handled in the plugin and should not be processed further, False (or None) otherwise.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    bool

                                    @@ -1352,12 +1352,12 @@
                                    -

                                    octoprint.comm.protocol.scripts

                                    +

                                    octoprint.comm.protocol.scripts

                                    -protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                                    +protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Changed in version 1.3.7.

                                    @@ -1375,7 +1375,7 @@

                                    Example 1:

                                    Appends an M117 OctoPrint connected to the configured afterPrinterConnected GCODE script.

                                    - +
                                    # coding=utf-8
                                     
                                     def message_on_connect(comm, script_type, script_name, *args, **kwargs):
                                    @@ -1395,7 +1395,7 @@
                                     

                                    Example 2:

                                    Provides the variable myvariable to the configured beforePrintStarted GCODE script.

                                    - +
                                    # coding=utf-8
                                     
                                     def gcode_script_variables(comm, script_type, script_name, *args, **kwargs):
                                    @@ -1414,17 +1414,17 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                    • script_type (str) – The type of the script for which the hook was called, currently only “gcode” is supported here.

                                    • script_name (str) – The name of the script for which the hook was called.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    A 2-tuple in the form (prefix, postfix), 3-tuple in the form (prefix, postfix, variables), or None

                                    -
                                    Return type
                                    +
                                    Return type:

                                    tuple or None

                                    @@ -1432,12 +1432,12 @@
                                    -

                                    octoprint.comm.protocol.temperatures.received

                                    +

                                    octoprint.comm.protocol.temperatures.received

                                    -protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                                    +protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                                    -

                                    New in version 1.3.6.

                                    +

                                    Added in version 1.3.6.

                                    Get the parsed temperatures returned by the printer, allowing handlers to modify them prior to handing them off to the system. Handlers are expected to either return parsed_temperatures as-is or a modified copy thereof.

                                    @@ -1455,7 +1455,7 @@

                                    Example

                                    The following example shows how to filter out actual temperatures that are outside a sane range of 1°C to 300°C.

                                    - +
                                    # coding=utf-8
                                     
                                     def sanitize_temperatures(comm, parsed_temps):
                                    @@ -1477,12 +1477,12 @@
                                     
                                     
                                    -

                                    octoprint.comm.transport.serial.additional_port_names

                                    +

                                    octoprint.comm.transport.serial.additional_port_names

                                    -additional_port_names_hook(candidates, *args, **kwargs)
                                    +additional_port_names_hook(candidates, *args, **kwargs)
                                    -

                                    New in version 1.4.1.

                                    +

                                    Added in version 1.4.1.

                                    Return additional port names (not glob patterns!) to use as a serial connection to the printer. Expected to be list of string.

                                    @@ -1490,13 +1490,13 @@ to implement custom serial-like ports through plugins.

                                    For an example of use see the bundled virtual_printer plugin.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    candidates (list) – The port names already found on the system available for connection.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    Additional port names to offer up for connection.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    list

                                    @@ -1504,12 +1504,12 @@
                                    -

                                    octoprint.comm.transport.serial.factory

                                    +

                                    octoprint.comm.transport.serial.factory

                                    -serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                                    +serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Return a serial object to use as serial connection to the printer. If a handler cannot create a serial object for the specified port (and baudrate), it should just return None.

                                    @@ -1565,7 +1565,7 @@
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                    • port (str) – The port for which to construct a serial instance. May be None or AUTO in which case port @@ -1575,10 +1575,10 @@

                                    • read_timeout (int) – The read timeout to set on the serial port.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The constructed serial object ready for use, or None if the handler could not construct the object.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    A serial instance implementing the methods readline(...), write(...), close() and optionally baudrate and timeout attributes as described above.

                                    @@ -1587,12 +1587,12 @@
                                    -

                                    octoprint.events.register_custom_events

                                    +

                                    octoprint.events.register_custom_events

                                    -register_custom_events_hook(*args, **kwargs)
                                    +register_custom_events_hook(*args, **kwargs)
                                    -

                                    New in version 1.3.11.

                                    +

                                    Added in version 1.3.11.

                                    Return a list of custom events to register in the system for your plugin.

                                    Should return a list of strings which represent the custom events. Their name on the octoprint.events.Events object @@ -1607,10 +1607,10 @@

                                    -
                                    Returns
                                    +
                                    Returns:

                                    A list of custom events to register

                                    -
                                    Return type
                                    +
                                    Return type:

                                    list

                                    @@ -1618,12 +1618,12 @@
                                    -

                                    octoprint.filemanager.analysis.factory

                                    +

                                    octoprint.filemanager.analysis.factory

                                    -analysis_queue_factory_hook(*args, **kwargs)
                                    +analysis_queue_factory_hook(*args, **kwargs)
                                    -

                                    New in version 1.3.9.

                                    +

                                    Added in version 1.3.9.

                                    Return additional (or replacement) analysis queue factories used for analysing uploaded files.

                                    Should return a dictionary to merge with the existing dictionary of factories, mapping from extension tree leaf @@ -1646,10 +1646,10 @@

                                    -
                                    Returns
                                    +
                                    Returns:

                                    A dictionary of analysis queue factories, mapped by their targeted file type.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    dict

                                    @@ -1657,12 +1657,12 @@
                                    -

                                    octoprint.filemanager.extension_tree

                                    +

                                    octoprint.filemanager.extension_tree

                                    -file_extension_hook(*args, **kwargs)
                                    +file_extension_hook(*args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Return additional entries for the tree of accepted file extensions for uploading/handling by the file manager.

                                    Should return a dictionary to merge with the existing extension tree, adding additional extension groups to @@ -1685,10 +1685,10 @@ in the rest of the system (e.g. handling/preprocessing new machine code file types for printing etc)!

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The partial extension tree to merge with the full extension tree.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    dict

                                    @@ -1696,12 +1696,12 @@
                                    -

                                    octoprint.filemanager.preprocessor

                                    +

                                    octoprint.filemanager.preprocessor

                                    -file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                                    +file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Replace the file_object used for saving added files to storage by calling save().

                                    path will be the future path of the file on the storage. The file’s name is accessible via @@ -1712,7 +1712,7 @@

                                    Example

                                    The following plugin example strips all comments from uploaded/generated GCODE files ending on the name postfix _strip.

                                    - +
                                    # coding=utf-8
                                     
                                     import octoprint.plugin
                                    @@ -1750,7 +1750,7 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • path (str) – The path on storage the file_object is to be stored

                                    • file_object (AbstractFileWrapper) – The AbstractFileWrapper instance @@ -1760,10 +1760,10 @@

                                    • allow_overwrite (boolean) – Whether to allow overwriting an existing file named the same or not.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The file_object as passed in or None, or a replaced version to use instead for further processing.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    AbstractFileWrapper or None

                                    @@ -1771,61 +1771,61 @@
                                    -

                                    octoprint.plugin.backup.additional_excludes

                                    +

                                    octoprint.plugin.backup.additional_excludes

                                    -

                                    New in version 1.5.0.

                                    +

                                    Added in version 1.5.0.

                                    See here.

                                    -

                                    octoprint.plugin.backup.before_backup

                                    +

                                    octoprint.plugin.backup.before_backup

                                    -

                                    New in version 1.9.0.

                                    +

                                    Added in version 1.9.0.

                                    See here.

                                    -

                                    octoprint.plugin.backup.after_backup

                                    +

                                    octoprint.plugin.backup.after_backup

                                    -

                                    New in version 1.9.0.

                                    +

                                    Added in version 1.9.0.

                                    See here.

                                    -

                                    octoprint.plugin.backup.before_restore

                                    +

                                    octoprint.plugin.backup.before_restore

                                    -

                                    New in version 1.9.0.

                                    +

                                    Added in version 1.9.0.

                                    See here.

                                    -

                                    octoprint.plugin.backup.after_restore

                                    +

                                    octoprint.plugin.backup.after_restore

                                    -

                                    New in version 1.9.0.

                                    +

                                    Added in version 1.9.0.

                                    See here.

                                    -

                                    octoprint.plugin.pluginmanager.reconnect_hooks

                                    +

                                    octoprint.plugin.pluginmanager.reconnect_hooks

                                    -

                                    New in version 1.4.0.

                                    +

                                    Added in version 1.4.0.

                                    See here.

                                    -

                                    octoprint.plugin.softwareupdate.check_config

                                    +

                                    octoprint.plugin.softwareupdate.check_config

                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    See here.

                                    -

                                    octoprint.printer.additional_state_data

                                    +

                                    octoprint.printer.additional_state_data

                                    -additional_state_data_hook(initial=False, *args, **kwargs)
                                    +additional_state_data_hook(initial=False, *args, **kwargs)
                                    -

                                    New in version 1.5.0.

                                    +

                                    Added in version 1.5.0.

                                    Use this to inject additional data into the data structure returned from the printer backend to the frontend on the push socket or other registered octoprint.printer.PrinterCallback. Anything you return here @@ -1840,13 +1840,13 @@

                                    Cache your data!

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    initial (boolean) – True if this is the initial update, False otherwise

                                    -
                                    Returns
                                    +
                                    Returns:

                                    Additional data to include

                                    -
                                    Return type
                                    +
                                    Return type:

                                    dict

                                    @@ -1854,12 +1854,12 @@
                                    -

                                    octoprint.printer.factory

                                    +

                                    octoprint.printer.factory

                                    -printer_factory_hook(components, *args, **kwargs)
                                    +printer_factory_hook(components, *args, **kwargs)
                                    -

                                    New in version 1.3.0.

                                    +

                                    Added in version 1.3.0.

                                    Return a PrinterInstance instance to use as global printer object. This will be called only once during initial server startup.

                                    @@ -1881,13 +1881,13 @@

                                    If none of the registered factories return a printer instance, the default Printer class will be instantiated.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    components (dict) – System components to use for printer instance initialization

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The printer instance to use globally.

                                    -
                                    Return type
                                    +
                                    Return type:

                                    PrinterInterface subclass or None

                                    @@ -1895,12 +1895,12 @@
                                    -

                                    octoprint.printer.handle_connect

                                    +

                                    octoprint.printer.handle_connect

                                    handle_connect(*args, **kwargs):
                                    -

                                    New in version 1.6.0.

                                    +

                                    Added in version 1.6.0.

                                    Allows plugins to perform actions upon connecting to a printer. By returning True, plugins may also prevent further processing of the connect command. This hook is of @@ -1908,14 +1908,14 @@ circumstances or if you need to do something before a connection to the printer is established (e.g. switching on power to the printer).

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    kwargs – All connection parameters supplied to the connect call. Currently this also includes port, baudrate and profile.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    True if OctoPrint should not proceed with the connect

                                    -
                                    Return type
                                    +
                                    Return type:

                                    boolean or None

                                    @@ -1923,12 +1923,12 @@
                                    -

                                    octoprint.printer.estimation.factory

                                    +

                                    octoprint.printer.estimation.factory

                                    +print_time_estimator_factory(*args, **kwargs)
                                    -

                                    New in version 1.3.9.

                                    +

                                    Added in version 1.3.9.

                                    Return a PrintTimeEstimator subclass (or factory) to use for print time estimation. This will be called on each start of a print or streaming job with a single parameter job_type @@ -1960,10 +1960,10 @@

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The PrintTimeEstimator class to use, or a factory method

                                    -
                                    Return type
                                    +
                                    Return type:

                                    class or function

                                    @@ -1971,12 +1971,12 @@
                                    -

                                    octoprint.printer.sdcardupload

                                    +

                                    octoprint.printer.sdcardupload

                                    -sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                                    +sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                                    -

                                    New in version 1.3.11.

                                    +

                                    Added in version 1.3.11.

                                    Via this hook plugins can change the way files are being uploaded to the sd card of the printer.

                                    Implementations must call the provided start_callback on start of the file transfer and either the success_callback @@ -2034,10 +2034,10 @@

                                    -

                                    New in version 1.3.11.

                                    +

                                    Added in version 1.3.11.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • printer (object) – the PrinterInterface instance the hook was called from

                                    • filename (str) – filename on the local storage

                                    • @@ -2047,10 +2047,10 @@
                                    • sd_upload_failure (function) – callback for failure of upload

                                    -
                                    Returns
                                    +
                                    Returns:

                                    the name of the file on the sdcard storage or None

                                    -
                                    Return type
                                    +
                                    Return type:

                                    string or None

                                    @@ -2058,12 +2058,12 @@
                                    -

                                    octoprint.server.api.after_request

                                    +

                                    octoprint.server.api.after_request

                                    -after_request_handlers_hook(*args, **kwargs)
                                    +after_request_handlers_hook(*args, **kwargs)
                                    -

                                    New in version 1.3.10.

                                    +

                                    Added in version 1.3.10.

                                    Allows adding additional after-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                                    Your plugin might need this to further restrict access to API methods.

                                    @@ -2075,12 +2075,12 @@
                                    -

                                    octoprint.server.api.before_request

                                    +

                                    octoprint.server.api.before_request

                                    -before_request_handlers_hook(*args, **kwargs)
                                    +before_request_handlers_hook(*args, **kwargs)
                                    -

                                    New in version 1.3.10.

                                    +

                                    Added in version 1.3.10.

                                    Allows adding additional before-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                                    Your plugin might need this to further restrict access to API methods.

                                    @@ -2092,12 +2092,12 @@
                                    -

                                    octoprint.server.http.access_validator

                                    +

                                    octoprint.server.http.access_validator

                                    -access_validator_hook(request, *args, **kwargs)
                                    +access_validator_hook(request, *args, **kwargs)
                                    -

                                    New in version 1.3.10.

                                    +

                                    Added in version 1.3.10.

                                    Allows adding additional access validators to the default tornado routers.

                                    Your plugin might need to this to restrict access to downloads and webcam snapshots further.

                                    @@ -2109,12 +2109,12 @@
                                    -

                                    octoprint.server.http.bodysize

                                    +

                                    octoprint.server.http.bodysize

                                    -server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                                    +server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Allows extending the list of custom maximum body sizes on the web server per path and HTTP method with custom entries from plugins.

                                    @@ -2136,7 +2136,7 @@ 500 and 1024KB. To test its functionality try uploading files larger or smaller than an endpoint’s configured maximum size (as multipart request with the file upload residing in request parameter file) and observe the behaviour.

                                    - +
                                    # coding=utf-8
                                     
                                     import octoprint.plugin
                                    @@ -2186,13 +2186,13 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    current_max_body_sizes (list) – read-only list of the currently configured maximum body sizes

                                    -
                                    Returns
                                    +
                                    Returns:

                                    A list of 3-tuples with additional request specific maximum body sizes as defined above

                                    -
                                    Return type
                                    +
                                    Return type:

                                    list

                                    @@ -2200,12 +2200,12 @@
                                    -

                                    octoprint.server.http.routes

                                    +

                                    octoprint.server.http.routes

                                    -server_route_hook(server_routes, *args, **kwargs)
                                    +server_route_hook(server_routes, *args, **kwargs)
                                    -

                                    New in version 1.2.0.

                                    +

                                    Added in version 1.2.0.

                                    Allows extending the list of routes registered on the web server.

                                    This is interesting for plugins which want to provide their own download URLs which will then be delivered statically @@ -2242,7 +2242,7 @@

                                    The following example registers two new routes /plugin/add_tornado_route/download and /plugin/add_tornado_route/forward in the webserver which roughly replicate the functionality of /downloads/files/local and /downloads/camera/current.

                                    - +
                                    # coding=utf-8
                                     
                                     import octoprint.plugin
                                    @@ -2289,13 +2289,13 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    server_routes (list) – read-only list of the currently configured server routes

                                    -
                                    Returns
                                    +
                                    Returns:

                                    a list of 3-tuples with additional routes as defined above

                                    -
                                    Return type
                                    +
                                    Return type:

                                    list

                                    @@ -2303,16 +2303,16 @@
                                    -

                                    octoprint.server.sockjs.authed

                                    +

                                    octoprint.server.sockjs.authed

                                    socket_authed_hook(socket, user, *args, **kwargs):
                                    -

                                    New in version 1.3.10.

                                    +

                                    Added in version 1.3.10.

                                    Allows plugins to be notified that a user got authenticated or deauthenticated on the socket (e.g. due to logout).

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • socket (object) – the socket object which is about to be registered

                                    • user (object) – the user that got authenticated on the socket, or None if the user got deauthenticated

                                    • @@ -2323,27 +2323,27 @@
                                    -

                                    octoprint.server.sockjs.register

                                    +

                                    octoprint.server.sockjs.register

                                    socket_registration_hook(socket, user, *args, **kwargs):
                                    -

                                    New in version 1.3.10.

                                    +

                                    Added in version 1.3.10.

                                    Allows plugins to prevent a new push socket client to be registered to the system.

                                    Handlers should return either True or False. True signals to proceed with normal registration. False signals to not register the client.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • socket (object) – the socket object which is about to be registered

                                    • user (object) – the user currently authenticated on the socket - might be None

                                    -
                                    Returns
                                    +
                                    Returns:

                                    whether to proceed with registration (True) or not (False)

                                    -
                                    Return type
                                    +
                                    Return type:

                                    boolean

                                    @@ -2351,17 +2351,17 @@
                                    -

                                    octoprint.server.sockjs.emit

                                    +

                                    octoprint.server.sockjs.emit

                                    socket_emit_hook(socket, user, message, payload, *args, **kwargs):
                                    -

                                    New in version 1.3.10.

                                    +

                                    Added in version 1.3.10.

                                    Allows plugins to prevent any messages to be emitted on an existing push connection.

                                    Handlers should return either True to allow the message to be emitted, or False to prevent it.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • socket (object) – the socket object on which a message is about to be emitted

                                    • user (object) – the user currently authenticated on the socket - might be None

                                    • @@ -2369,10 +2369,10 @@
                                    • payload (dict) – the payload of the message about to be emitted (may be None)

                                    -
                                    Returns
                                    +
                                    Returns:

                                    whether to proceed with sending the message (True) or not (False)

                                    -
                                    Return type
                                    +
                                    Return type:

                                    boolean

                                    @@ -2380,22 +2380,22 @@
                                    -

                                    octoprint.system.additional_commands

                                    +

                                    octoprint.system.additional_commands

                                    -additional_commands_hook(*args, **kwargs)
                                    +additional_commands_hook(*args, **kwargs)
                                    -

                                    New in version 1.7.0.

                                    +

                                    Added in version 1.7.0.

                                    Allows adding additional system commands into the system menu. Handlers must return a list of system command definitions, each definition matching the following data structure:

                                    -

                    Path

                    Value

                    +
                    ----++++ @@ -2463,10 +2463,10 @@
                    -
                    Returns
                    +
                    Returns:

                    a list of command specifications

                    -
                    Return type
                    +
                    Return type:

                    list

                    @@ -2474,12 +2474,12 @@
                    -

                    octoprint.systeminfo.additional_bundle_files

                    +

                    octoprint.systeminfo.additional_bundle_files

                    -additional_bundle_files_hook(*args, **kwargs)
                    +additional_bundle_files_hook(*args, **kwargs)
                    -

                    New in version 1.7.0.

                    +

                    Added in version 1.7.0.

                    Allows bundled plugins to extend the list of files to include in the systeminfo bundle. Note that this hook will ignore third party plugins. Handlers must return a dictionary @@ -2497,10 +2497,10 @@

                    -
                    Returns
                    +
                    Returns:

                    a dictionary mapping bundle file names to bundle file content

                    -
                    Return type
                    +
                    Return type:

                    dict

                    @@ -2508,12 +2508,12 @@
                    -

                    octoprint.timelapse.extensions

                    +

                    octoprint.timelapse.extensions

                    -timelapse_extension_hook(*args, **kwargs)
                    +timelapse_extension_hook(*args, **kwargs)
                    -

                    New in version 1.3.10.

                    +

                    Added in version 1.3.10.

                    Allows extending the set of supported file extensions for timelapse files. Handlers must return a list of additional file extensions.

                    @@ -2528,10 +2528,10 @@
                    -
                    Returns
                    +
                    Returns:

                    a list of additional file extensions

                    -
                    Return type
                    +
                    Return type:

                    list

                    @@ -2539,12 +2539,12 @@
                    -

                    octoprint.ui.web.templatetypes

                    +

                    octoprint.ui.web.templatetypes

                    -templatetype_hook(template_sorting, template_rules, *args, **kwargs)
                    +templatetype_hook(template_sorting, template_rules, *args, **kwargs)
                    -

                    New in version 1.2.0.

                    +

                    Added in version 1.2.0.

                    Allows extending the set of supported template types in the web interface. This is interesting for plugins which want to offer other plugins to hook into their own offered UIs. Handlers must return a list of additional template @@ -2554,10 +2554,10 @@

                    The second entry must be a sorting specification that defines how OctoPrint should sort multiple templates injected through plugins of this template type. The sorting specification should be a dict with the following possible entries:

                    -

                    Name

                    +
                    --++ @@ -2590,10 +2590,10 @@

                    The third entry must be a rule specification in form of a dict which tells OctoPrint how to process the template configuration entries provided by get_template_configs() by providing transformation functions of various kinds:

                    -

                    Key

                    +
                    --++ @@ -2635,7 +2635,7 @@

                    The example consists of two plugins, one providing a custom template type and the other consuming it.

                    First the provider:

                    - +
                    # coding=utf-8
                     
                     import octoprint.plugin
                    @@ -2661,7 +2661,7 @@
                     
                    - +
                    <h3>{{ _('Awesome Template Injections') }}</h3>
                     
                     {% for key in templates.plugin_custom_template_provider_awesometemplate.order %}
                    @@ -2676,7 +2676,7 @@
                     

                    Then the consumer:

                    - +
                    # coding=utf-8
                     
                     import octoprint.plugin
                    @@ -2700,22 +2700,22 @@
                     
                    -
                    Parameters
                    +
                    Parameters:
                    • template_rules (dict) – read-only dictionary of currently configured template rules

                    • template_sorting (dict) – read-only dictionary of currently configured template sorting specifications

                    -
                    Returns
                    +
                    Returns:

                    a list of 3-tuples (template type, rule, sorting spec)

                    -
                    Return type
                    +
                    Return type:

                    list

                    @@ -2723,7 +2723,7 @@
                    -

                    octoprint.theming.<dialog>

                    +

                    octoprint.theming.<dialog>

                    This actually describes two hooks:

                      @@ -2733,9 +2733,9 @@
                    -ui_theming_hook(*args, **kwargs)
                    +ui_theming_hook(*args, **kwargs)
                    -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    Support theming of the login or recovery dialog, just in case the core UI is themed as well. Use to return a list of additional CSS file URLs to inject into the dialog HTML.

                    @@ -2752,10 +2752,10 @@

                    Only a list of ready-made URLs to CSS files is supported, neither LESS nor JS. Best use url_for like in the example above to be prepared for any configured prefix URLs.

                    -
                    Returns
                    +
                    Returns:

                    A list of additional CSS URLs to inject into the login or recovery dialog.

                    -
                    Return type
                    +
                    Return type:

                    A list of strings.

                    @@ -2763,23 +2763,23 @@
                    -

                    octoprint.timelapse.capture.pre

                    +

                    octoprint.timelapse.capture.pre

                    -capture_pre_hook(filename)
                    +capture_pre_hook(filename)
                    -

                    New in version 1.4.0.

                    +

                    Added in version 1.4.0.

                    Perform specific actions prior to capturing a timelapse frame.

                    filename will be the future path of the frame to be saved.

                    -
                    Parameters
                    +
                    Parameters:

                    filename (str) – The future path of the frame to be saved.

                    -
                    Returns
                    +
                    Returns:

                    None

                    -
                    Return type
                    +
                    Return type:

                    None

                    @@ -2787,27 +2787,27 @@
                    -

                    octoprint.timelapse.capture.post

                    +

                    octoprint.timelapse.capture.post

                    -capture_post_hook(filename, success)
                    +capture_post_hook(filename, success)
                    -

                    New in version 1.4.0.

                    +

                    Added in version 1.4.0.

                    Perform specific actions after capturing a timelapse frame.

                    filename will be the path of the frame that should have been saved. success indicates whether the capture was successful or not.

                    -
                    Parameters
                    +
                    Parameters:
                    • filename (str) – The path of the frame that should have been saved.

                    • success (boolean) – Indicates whether the capture was successful or not.

                    -
                    Returns
                    +
                    Returns:

                    None

                    -
                    Return type
                    +
                    Return type:

                    None

                    diff --git a/maintenance/plugins/index.html b/maintenance/plugins/index.html index 5c17d8f4e..894818ee2 100644 --- a/maintenance/plugins/index.html +++ b/maintenance/plugins/index.html @@ -1,26 +1,26 @@ - + - + Developing Plugins — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
                    -

                    Developing Plugins

                    +

                    Developing Plugins

                    • General Concepts
                        diff --git a/maintenance/plugins/injectedproperties.html b/maintenance/plugins/injectedproperties.html index 2b87ff732..58525c24d 100644 --- a/maintenance/plugins/injectedproperties.html +++ b/maintenance/plugins/injectedproperties.html @@ -1,26 +1,26 @@ - + - + Injected Properties — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -137,7 +137,7 @@
                        -

                        Injected Properties

                        +

                        Injected Properties

                        OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties follows.

                        diff --git a/maintenance/plugins/mixins.html b/maintenance/plugins/mixins.html index 05e608b38..12b7df95f 100644 --- a/maintenance/plugins/mixins.html +++ b/maintenance/plugins/mixins.html @@ -1,26 +1,26 @@ - + - + Mixins — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -161,8 +161,8 @@
                        -

                        Mixins

                        -
                        +

                        Mixins

                        +
                      -
                    +
                    -

                    General Concepts

                    +

                    General Concepts

                    Plugin mixins are the heart of OctoPrint’s plugin system. They are special base classes which are to be subclassed and extended to add functionality to OctoPrint. Plugins declare their instances that implement one or multiple mixins using the __plugin_implementation__ control property. OctoPrint’s plugin core @@ -232,7 +232,7 @@

                    -

                    Execution Order

                    +

                    Execution Order

                    Some mixin types, such as StartupPlugin, ShutdownPlugin and UiPlugin, support influencing the execution order for various execution contexts by also implementing the SortablePlugin mixin.

                    @@ -254,7 +254,7 @@ and plugin_d don’t override get_sorting_key(). plugin_b and plugin_c both return 1 for the sorting context StartupPlugin.on_startup, None otherwise:

                    -
                    Listing 8 plugin_a.py
                    +
                    Listing 8 plugin_a.py
                    import octoprint.plugin
                     
                     class PluginA(octoprint.plugin.StartupPlugin):
                    @@ -270,7 +270,7 @@
                     
                    -
                    Listing 9 plugin_b.py
                    +
                    Listing 9 plugin_b.py
                    import octoprint.plugin
                     
                     class PluginB(octoprint.plugin.StartupPlugin):
                    @@ -291,7 +291,7 @@
                     
                    -
                    Listing 10 plugin_c.py
                    +
                    Listing 10 plugin_c.py
                    import octoprint.plugin
                     
                     class PluginC(octoprint.plugin.StartupPlugin):
                    @@ -313,7 +313,7 @@
                     
                    -
                    Listing 11 plugin_d.py
                    +
                    Listing 11 plugin_d.py
                    # in this example this is bundled with OctoPrint
                     import octoprint.plugin
                     
                    @@ -350,7 +350,7 @@
                     
                    -

                    Injected Properties

                    +

                    Injected Properties

                    OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties can be found in the section Injected Properties.

                    @@ -362,9 +362,9 @@
                    -

                    Available plugin mixins

                    +

                    Available plugin mixins

                    The following plugin mixins are currently available:

                    - +

                    Please note that all plugin mixins inherit from Plugin and OctoPrintPlugin, which also provide attributes of interest to plugin developers.

                    -

                    AssetPlugin

                    +

                    AssetPlugin

                    -class octoprint.plugin.AssetPlugin
                    +class octoprint.plugin.AssetPlugin

                    Bases: OctoPrintPlugin, RestartNeedingPlugin

                    The AssetPlugin mixin allows plugins to define additional static assets such as JavaScript or CSS files to be automatically embedded into the pages delivered by the server to be used within the client sided part of @@ -400,11 +400,11 @@

                    AssetPlugin is a RestartNeedingPlugin.

                    -get_asset_folder()
                    +get_asset_folder()

                    Defines the folder where the plugin stores its static assets as defined in get_assets(). Override this if your plugin stores its assets at some other place than the static sub folder in the plugin base directory.

                    -
                    Return string
                    +
                    Return string:

                    the absolute path to the folder where the plugin stores its static assets

                    @@ -412,7 +412,7 @@
                    -get_assets()
                    +get_assets()

                    Defines the static assets the plugin offers. The following asset types are recognized and automatically imported at the appropriate places to be available:

                    @@ -443,7 +443,7 @@ Flask-Assets.

                    If not overridden, this will return a dictionary of all discovered assets following the format <type>/<identifier>.<ext> (since 1.11.0).

                    -
                    Return dict
                    +
                    Return dict:

                    a dictionary describing the static assets to publish for the plugin

                    @@ -453,10 +453,10 @@
                    -

                    BlueprintPlugin

                    +

                    BlueprintPlugin

                    -class octoprint.plugin.BlueprintPlugin
                    +class octoprint.plugin.BlueprintPlugin

                    Bases: OctoPrintPlugin, RestartNeedingPlugin

                    The BlueprintPlugin mixin allows plugins to define their own full fledged endpoints for whatever purpose, be it a more sophisticated API than what is possible via the SimpleApiPlugin or a custom web frontend.

                    @@ -520,35 +520,35 @@
                    -static csrf_exempt()
                    +static csrf_exempt()

                    A decorator to mark a view method in your BlueprintPlugin as exempt from CSRF protection. This makes sense if you offer an authenticated API for a certain workflow (see e.g. the bundled appkeys plugin) but in most cases should not be needed.

                    -

                    New in version 1.8.3.

                    +

                    Added in version 1.8.3.

                    -static errorhandler(code_or_exception)
                    +static errorhandler(code_or_exception)

                    A decorator to mark errorhandlings methods in your BlueprintPlugin subclass. Works just the same as Flask’s own errorhandler decorator available on blueprints.

                    See the documentation for flask.Blueprint.errorhandler and the documentation for flask.Flask.errorhandler for more information.

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_blueprint()
                    +get_blueprint()

                    Creates and returns the blueprint for your plugin. Override this if you want to define and handle your blueprint yourself.

                    This method will only be called once during server initialization.

                    -
                    Returns
                    +
                    Returns:

                    the blueprint ready to be registered with Flask

                    @@ -556,7 +556,7 @@
                    -get_blueprint_api_prefixes()
                    +get_blueprint_api_prefixes()

                    Return all prefixes of your endpoint that are an API that should be containing JSON only.

                    Anything that matches this will generate JSON error messages in case of flask.abort calls, instead of the default HTML ones.

                    @@ -567,7 +567,7 @@
                    -get_blueprint_kwargs()
                    +get_blueprint_kwargs()

                    Override this if you want your blueprint constructed with additional options such as static_folder, template_folder, etc.

                    Defaults to the blueprint’s static_folder and template_folder to be set to the plugin’s basefolder @@ -577,7 +577,7 @@

                    -is_blueprint_csrf_protected()
                    +is_blueprint_csrf_protected()

                    Whether a blueprint’s endpoints are CSRF protected. For now, this defaults to False to leave it up to plugins to decide which endpoints should be protected. Long term, this will default to True and hence enforce protection unless a plugin opts out by returning False here.

                    @@ -585,13 +585,13 @@ to alert you of the requirement to make a decision here and to not rely on the default implementation, due to the forthcoming change in implemented default behaviour.

                    -

                    New in version 1.8.3.

                    +

                    Added in version 1.8.3.

                    -is_blueprint_protected()
                    +is_blueprint_protected()

                    Whether a login session by a registered user is needed to access the blueprint’s endpoints. Requiring a session is the default. Note that this only restricts access to the blueprint’s dynamic methods, static files are always accessible.

                    @@ -601,7 +601,7 @@
                    -static route(rule, **options)
                    +static route(rule, **options)

                    A decorator to mark view methods in your BlueprintPlugin subclass. Works just the same as Flask’s own route decorator available on blueprints.

                    See the documentation for flask.Blueprint.route @@ -613,10 +613,10 @@

                    -

                    EventHandlerPlugin

                    +

                    EventHandlerPlugin

                    -class octoprint.plugin.EventHandlerPlugin
                    +class octoprint.plugin.EventHandlerPlugin

                    Bases: OctoPrintPlugin

                    The EventHandlerPlugin mixin allows OctoPrint plugins to react to any of OctoPrint’s events. OctoPrint will call the on_event() method for any event fired on its internal event bus, supplying the @@ -627,14 +627,14 @@ videos rendering etc.

                    -on_event(event, payload)
                    +on_event(event, payload)

                    Called by OctoPrint upon processing of a fired event on the platform.

                    Warning

                    Do not perform long-running or even blocking operations in your implementation or you will block and break the server.

                    -
                    Parameters
                    +
                    Parameters:
                    • event (str) – The type of event that got fired, see the list of events for possible values

                    • @@ -648,10 +648,10 @@
                    -

                    MfaPlugin

                    +

                    MfaPlugin

                    -class octoprint.plugin.MfaPlugin
                    +class octoprint.plugin.MfaPlugin

                    Bases: TemplatePlugin, OctoPrintPlugin, SortablePlugin

                    The MfaPlugin mixin allows plugins to provide multi-factor authentication (MFA) for OctoPrint.

                    This mixin is especially interesting for plugins which want to add additional security to OctoPrint, e.g. by requiring @@ -662,27 +662,27 @@ Additionally there’s a dummy implementation used for testing as part of OctoPrint’s source code in the folder .github/fixtures/mfa_dummy. Interested plugin developers are encouraged to take a look at both these implementation to get an idea of how to implement their own MFA plugin.

                    -

                    New in version 1.11.0.

                    +

                    Added in version 1.11.0.

                    -has_mfa_credentials(request, user, data, *args, **kwargs)
                    +has_mfa_credentials(request, user, data, *args, **kwargs)

                    Checks whether the request contains the necessary MFA credentials for the given user.

                    -
                    Parameters
                    +
                    Parameters:
                    • request (flask.Request) – The request to check

                    • user (User) – The user to check the MFA credentials for

                    • data (dict) – The data from the request

                    -
                    Returns
                    +
                    Returns:

                    True if the request contains the necessary MFA credentials (or the MFA method is not enabled for the user), False otherwise

                    -
                    Return type
                    +
                    Return type:

                    bool

                    -
                    Raises
                    +
                    Raises:

                    WrongMfaCredentials – If the request contains the necessary MFA credentials but they are wrong

                    @@ -690,16 +690,16 @@
                    -is_mfa_enabled(user)
                    +is_mfa_enabled(user)

                    Whether this MFA method is enabled for the given user.

                    -
                    Parameters
                    +
                    Parameters:

                    user (User) – The user to check the MFA status for

                    -
                    Returns
                    +
                    Returns:

                    True if this MFA method is enabled for the user, False otherwise

                    -
                    Return type
                    +
                    Return type:

                    bool

                    @@ -709,19 +709,19 @@
                    -

                    ProgressPlugin

                    +

                    ProgressPlugin

                    -class octoprint.plugin.ProgressPlugin
                    +class octoprint.plugin.ProgressPlugin

                    Bases: OctoPrintPlugin

                    Via the ProgressPlugin mixing plugins can let themselves be called upon progress in print jobs or slicing jobs, limited to minimally 1% steps.

                    -on_print_progress(storage, path, progress)
                    +on_print_progress(storage, path, progress)

                    Called by OctoPrint on minimally 1% increments during a running print job.

                    -
                    Parameters
                    +
                    Parameters:
                    • storage (string) – Location of the file

                    • path (string) – Path of the file

                    • @@ -733,10 +733,10 @@
                      -on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)
                      +on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)

                      Called by OctoPrint on minimally 1% increments during a running slicing job.

                      -
                      Parameters
                      +
                      Parameters:
                      • slicer (string) – Key of the slicer reporting the progress

                      • source_location (string) – Location of the source file

                      • @@ -753,30 +753,30 @@
                    -

                    ReloadNeedingPlugin

                    +

                    ReloadNeedingPlugin

                    -class octoprint.plugin.ReloadNeedingPlugin
                    +class octoprint.plugin.ReloadNeedingPlugin

                    Bases: Plugin

                    Mixin for plugin types that need a reload of the UI after enabling/disabling them.

                    -

                    RestartNeedingPlugin

                    +

                    RestartNeedingPlugin

                    -class octoprint.plugin.RestartNeedingPlugin
                    +class octoprint.plugin.RestartNeedingPlugin

                    Bases: Plugin

                    Mixin for plugin types that need a restart after enabling/disabling them.

                    -

                    SettingsPlugin

                    +

                    SettingsPlugin

                    -class octoprint.plugin.SettingsPlugin
                    +class octoprint.plugin.SettingsPlugin

                    Bases: OctoPrintPlugin

                    Including the SettingsPlugin mixin allows plugins to store and retrieve their own settings within OctoPrint’s configuration.

                    @@ -845,13 +845,13 @@
                    -config_version_key = '_config_version'
                    +config_version_key = '_config_version'

                    Key of the field in the settings that holds the configuration format version.

                    -get_settings_defaults()
                    +get_settings_defaults()

                    Retrieves the plugin’s default settings with which the plugin’s settings manager will be initialized.

                    Override this in your plugin’s implementation and return a dictionary defining your settings data structure with included default values.

                    @@ -859,7 +859,7 @@
                    -get_settings_preprocessors()
                    +get_settings_preprocessors()

                    Retrieves the plugin’s preprocessors to use for preprocessing returned or set values prior to returning/setting them.

                    The preprocessors should be provided as a dictionary mapping the path of the values to preprocess @@ -886,11 +886,11 @@

                    -
                    Returns
                    +
                    Returns:

                    A tuple consisting of two dictionaries, the first being the plugin’s preprocessors for getters, the second the preprocessors for setters

                    -
                    Return type
                    +
                    Return type:

                    (dict, dict)

                    @@ -898,7 +898,7 @@
                    -get_settings_restricted_paths()
                    +get_settings_restricted_paths()

                    Retrieves the list of paths in the plugin’s settings which be restricted on the REST API.

                    Override this in your plugin’s implementation to restrict whether a path should only be returned to users with certain permissions, or never on the REST API.

                    @@ -966,23 +966,23 @@
                    -

                    New in version 1.2.17.

                    +

                    Added in version 1.2.17.

                    -get_settings_version()
                    +get_settings_version()

                    Retrieves the settings format version of the plugin.

                    Use this to have OctoPrint trigger your migration function if it detects an outdated settings version in config.yaml.

                    -
                    Returns
                    +
                    Returns:

                    an int signifying the current settings format, should be incremented by plugins whenever there are backwards incompatible changes. Returning None here disables the version tracking for the plugin’s configuration.

                    -
                    Return type
                    +
                    Return type:

                    int or None

                    @@ -990,20 +990,20 @@
                    -on_settings_cleanup()
                    +on_settings_cleanup()

                    Called after migration and initialization but before call to on_settings_initialized().

                    Plugins may overwrite this method to perform additional clean up tasks.

                    The default implementation just minimizes the data persisted on disk to only contain the differences to the defaults (in case the current data was persisted with an older version of OctoPrint that still duplicated default data).

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -on_settings_initialized()
                    +on_settings_initialized()

                    Called after the settings have been initialized and - if necessary - also been migrated through a call to func:on_settings_migrate.

                    This method will always be called after the initialize method.

                    @@ -1011,7 +1011,7 @@
                    -on_settings_load()
                    +on_settings_load()

                    Loads the settings for the plugin, called by the Settings API view in order to retrieve all settings from all plugins. Override this if you want to inject additional settings properties that are not stored within OctoPrint’s configuration.

                    @@ -1029,7 +1029,7 @@ Make sure to do your own restriction if you decide to fully overload this method.

                    -
                    Returns
                    +
                    Returns:

                    the current settings of the plugin, as a dictionary

                    @@ -1037,7 +1037,7 @@
                    -on_settings_migrate(target, current)
                    +on_settings_migrate(target, current)

                    Called by OctoPrint if it detects that the installed version of the plugin necessitates a higher settings version than the one currently stored in _config.yaml. Will also be called if the settings data stored in config.yaml doesn’t have version information, in which case the current parameter will be None.

                    @@ -1047,7 +1047,7 @@ having taken place. You can therefore depend on the configuration having been migrated by the time on_settings_initialized() is called.

                    -
                    Parameters
                    +
                    Parameters:
                    • target (int) – The settings format version the plugin requires, this should always be the same value as returned by get_settings_version().

                    • @@ -1060,7 +1060,7 @@
                      -on_settings_save(data)
                      +on_settings_save(data)

                      Saves the settings for the plugin, called by the Settings API view in order to persist all settings from all plugins. Override this if you need to directly react to settings changes or want to extract additional settings properties that are not stored within OctoPrint’s configuration.

                      @@ -1074,13 +1074,13 @@ and using the proper setter methods on the settings manager to persist the data in the correct format.

                      -
                      Parameters
                      +
                      Parameters:

                      data (dict) – The settings dictionary to be saved for the plugin

                      -
                      Returns
                      +
                      Returns:

                      The settings that differed from the defaults and were actually saved.

                      -
                      Return type
                      +
                      Return type:

                      dict

                      @@ -1090,10 +1090,10 @@
                      -

                      ShutdownPlugin

                      +

                      ShutdownPlugin

                      -class octoprint.plugin.ShutdownPlugin
                      +class octoprint.plugin.ShutdownPlugin

                      Bases: OctoPrintPlugin, SortablePlugin

                      The ShutdownPlugin allows hooking into the shutdown of OctoPrint. It’s usually used in conjunction with the StartupPlugin mixin, to cleanly shut down additional services again that where started by the StartupPlugin @@ -1102,7 +1102,7 @@ on_shutdown().

                      -on_shutdown()
                      +on_shutdown()

                      Called upon the imminent shutdown of OctoPrint.

                      Warning

                      @@ -1115,10 +1115,10 @@
                      -

                      SimpleApiPlugin

                      +

                      SimpleApiPlugin

                      -class octoprint.plugin.SimpleApiPlugin
                      +class octoprint.plugin.SimpleApiPlugin

                      Bases: OctoPrintPlugin

                      Utilizing the SimpleApiPlugin mixin plugins may implement a simple API based around one GET resource and one resource accepting JSON commands POSTed to it. This is the easy alternative for plugin’s which don’t need the @@ -1195,20 +1195,20 @@

                      -get_api_commands()
                      +get_api_commands()

                      Return a dictionary here with the keys representing the accepted commands and the values being lists of mandatory parameter names.

                      -is_api_adminonly()
                      +is_api_adminonly()

                      Return True if the API is only available to users having the admin role.

                      -on_api_command(command, data)
                      +on_api_command(command, data)

                      Called by OctoPrint upon a POST request to /api/plugin/<plugin identifier>. command will contain one of the commands as specified via get_api_commands(), data will contain the full request body parsed from JSON into a Python dictionary. Note that this will also contain the command attribute itself. For the @@ -1218,13 +1218,13 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

                      -
                      Parameters
                      +
                      Parameters:
                      • command (string) – the command with which the resource was called

                      • data (dict) – the full request body of the POST request parsed from JSON into a Python dictionary

                      -
                      Returns
                      +
                      Returns:

                      None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

                      @@ -1233,7 +1233,7 @@
                      -on_api_get(request)
                      +on_api_get(request)

                      Called by OctoPrint upon a GET request to /api/plugin/<plugin identifier>. request will contain the received Flask request object which you may evaluate for additional arguments supplied with the request.

                      @@ -1241,10 +1241,10 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

                      -
                      Parameters
                      +
                      Parameters:

                      request – the Flask request object

                      -
                      Returns
                      +
                      Returns:

                      None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

                      @@ -1255,18 +1255,18 @@
                      -

                      SlicerPlugin

                      +

                      SlicerPlugin

                      -class octoprint.plugin.SlicerPlugin
                      +class octoprint.plugin.SlicerPlugin

                      Bases: OctoPrintPlugin

                      Via the SlicerPlugin mixin plugins can add support for slicing engines to be used by OctoPrint.

                      -cancel_slicing(machinecode_path)
                      +cancel_slicing(machinecode_path)

                      Cancels the slicing to the indicated file.

                      -
                      Parameters
                      +
                      Parameters:

                      machinecode_path (str) – The absolute path to the machine code file to which to stop slicing to.

                      @@ -1274,7 +1274,7 @@
                      -do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)
                      +do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)

                      Called by OctoPrint to slice model_path for the indicated printer_profile. If the machinecode_path is None, slicer implementations should generate it from the provided model_path.

                      If provided, the profile_path is guaranteed by OctoPrint to be a serialized slicing profile created through the slicing @@ -1312,13 +1312,13 @@ containing a human readable reason for the error.

                      If the job gets cancelled, a SlicingCancelled exception should be raised.

                      -
                      Returns
                      +
                      Returns:

                      A 2-tuple (boolean, object) as outlined above.

                      -
                      Return type
                      +
                      Return type:

                      tuple

                      -
                      Raises
                      +
                      Raises:

                      SlicingCancelled – The slicing job was cancelled (via cancel_slicing()).

                      @@ -1326,18 +1326,18 @@
                      -get_slicer_default_profile()
                      +get_slicer_default_profile()

                      Should return a SlicingProfile containing the default slicing profile to use with this slicer if no other profile has been selected.

                      -
                      Returns
                      +
                      Returns:

                      The SlicingProfile containing the default slicing profile for

                      this slicer.

                      -
                      Return type
                      +
                      Return type:

                      SlicingProfile

                      @@ -1345,30 +1345,30 @@
                      -get_slicer_extension_tree()
                      +get_slicer_extension_tree()

                      Fetch additional entries to put into the extension tree for accepted files

                      By default, a subtree for model files with stl extension is returned. Slicers who want to support additional/other file types will want to override this.

                      For the extension tree format, take a look at the docs of the octoprint.filemanager.extension_tree hook.

                      Returns: (dict) a dictionary containing a valid extension subtree.

                      -

                      New in version 1.3.11.

                      +

                      Added in version 1.3.11.

                      -get_slicer_profile(path)
                      +get_slicer_profile(path)

                      Should return a SlicingProfile parsed from the slicing profile stored at the indicated path.

                      -
                      Parameters
                      +
                      Parameters:

                      path (str) – The absolute path from which to read the slicing profile.

                      -
                      Returns
                      +
                      Returns:

                      The specified slicing profile.

                      -
                      Return type
                      +
                      Return type:

                      SlicingProfile

                      @@ -1376,32 +1376,32 @@
                      -get_slicer_profiles(profile_path)
                      +get_slicer_profiles(profile_path)

                      Fetch all SlicingProfile stored for this slicer.

                      For compatibility reasons with existing slicing plugins this method defaults to returning profiles parsed from .profile files in the plugin’s profile_path, utilizing the SlicingPlugin.get_slicer_profile() method of the plugin implementation.

                      -
                      Parameters
                      +
                      Parameters:

                      profile_path (str) – The base folder where OctoPrint stores this slicer plugin’s profiles

                      -

                      New in version 1.3.7.

                      +

                      Added in version 1.3.7.

                      -get_slicer_profiles_lastmodified(profile_path)
                      +get_slicer_profiles_lastmodified(profile_path)
                      -

                      New in version 1.3.0.

                      +

                      Added in version 1.3.0.

                      -get_slicer_properties()
                      +get_slicer_properties()

                      Plugins should override this method to return a dict containing a bunch of meta data about the implemented slicer.

                      The expected keys in the returned dict have the following meaning:

                      @@ -1426,10 +1426,10 @@
                      -
                      Returns
                      +
                      Returns:

                      A dict describing the slicer as outlined above.

                      -
                      Return type
                      +
                      Return type:

                      dict

                      @@ -1437,7 +1437,7 @@
                      -is_slicer_configured()
                      +is_slicer_configured()

                      Unless the return value of this method is True, OctoPrint will not register the slicer within the slicing sub system upon startup. Plugins may use this to do some start up checks to verify that e.g. the path to a slicing binary as set and the binary is executable, or credentials of a cloud slicing platform are properly @@ -1446,12 +1446,12 @@

                      -save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)
                      +save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)

                      Should save the provided SlicingProfile to the indicated path, after applying any supplied overrides. If a profile is already saved under the indicated path and allow_overwrite is set to False (defaults to True), an IOError should be raised.

                      -
                      Parameters
                      +
                      Parameters:
                      • path (str) – The absolute path to which to save the profile.

                      • profile (SlicingProfile) – The profile to save.

                      • @@ -1468,10 +1468,10 @@
                      -

                      StartupPlugin

                      +

                      StartupPlugin

                      -class octoprint.plugin.StartupPlugin
                      +class octoprint.plugin.StartupPlugin

                      Bases: OctoPrintPlugin, SortablePlugin

                      The StartupPlugin allows hooking into the startup of OctoPrint. It can be used to start up additional services on or just after the startup of the server.

                      @@ -1480,7 +1480,7 @@ on_after_startup().

                      -on_after_startup()
                      +on_after_startup()

                      Called just after launch of the server, so when the listen loop is actually running already.

                      Warning

                      @@ -1491,7 +1491,7 @@
                      -on_startup(host, port)
                      +on_startup(host, port)

                      Called just before the server is actually launched. Plugins get supplied with the host and port the server will listen on. Note that the host may be 0.0.0.0 if it will listen on all interfaces, so you can’t just blindly use this for constructing publicly reachable URLs. Also note that when this method is called, the server @@ -1503,7 +1503,7 @@

                      The relevant sorting context is StartupPlugin.on_startup.

                      -
                      Parameters
                      +
                      Parameters:
                      • host (string) – the host the server will listen on, may be 0.0.0.0

                      • port (int) – the port the server will listen on

                      • @@ -1516,10 +1516,10 @@
                      -

                      TemplatePlugin

                      +

                      TemplatePlugin

                      -class octoprint.plugin.TemplatePlugin
                      +class octoprint.plugin.TemplatePlugin

                      Bases: OctoPrintPlugin, ReloadNeedingPlugin

                      Using the TemplatePlugin mixin plugins may inject their own components into the OctoPrint web interface.

                      Currently OctoPrint supports the following types of injections out of the box:

                      @@ -1572,7 +1572,7 @@

                      The template will be already wrapped into the necessary structure, plugins just need to supply the pure content. The wrapper div will have the additional classes and styles applied as defined via the configuration through get_template_configs().

                      -

                      New in version 1.9.0.

                      +

                      Added in version 1.9.0.

                      Wizards

                      Plugins may define wizard dialogs to display to the user if necessary (e.g. in case of missing information that @@ -1596,7 +1596,7 @@ wizard step.

                      -

                      New in version 1.3.0.

                      +

                      Added in version 1.3.0.

                      Two-factor authentication form

                      Plugins may define additional form templates to be injected into the two-factor authentication part of the login @@ -1607,7 +1607,7 @@

                      Please note that for this template type, only type, name and template are supported in the configuration dictionary returned by get_template_configs(). All other keys are ignored.

                      -

                      New in version 1.11.0.

                      +

                      Added in version 1.11.0.

                      Two-factor authentication user settings

                      Plugins may define additional panels to be injected into the “Access” tab of the user settings, to allow further @@ -1616,7 +1616,7 @@

                      The included template must be called <plugin identifier>_usersettings_mfa.jinja2 (e.g. myplugin_usersettings_mfa.jinja2) unless overridden by the configuration supplied through get_template_configs().

                      -

                      New in version 1.11.0.

                      +

                      Added in version 1.11.0.

                      About

                      Plugins may define additional panels into OctoPrint’s “About” dialog. Note that with the current implementation @@ -1627,7 +1627,7 @@ wrapped div and the link in the navigation will have the additional classes and styles applied as defined via the configuration supplied through get_template_configs().

                      -

                      New in version 1.3.0.

                      +

                      Added in version 1.3.0.

                      Generic

                      Plugins may also inject arbitrary templates into the page of the web interface itself, e.g. in order to @@ -1637,13 +1637,13 @@

                      Template injection types in the main part of the interface
                      -

                      Fig. 26 Template injection types in the main part of the interface

                      +

                      Fig. 26 Template injection types in the main part of the interface

                      Template injection types in the settings
                      -

                      Fig. 27 Template injection types in the settings

                      +

                      Fig. 27 Template injection types in the settings

                      You can find an example for a simple plugin which injects navbar, tab and settings content into the interface in @@ -1655,15 +1655,15 @@

                      TemplatePlugin is a ReloadNeedingPlugin.

                      -get_template_configs()
                      +get_template_configs()

                      Allows configuration of injected navbar, sidebar, tab and settings templates (and also additional templates of types specified by plugins through the octoprint.ui.web.templatetypes hook). Should be a list containing one configuration object per template to inject. Each configuration object is represented by a dictionary which may contain the following keys:

                      -

                    Key

                    +
                    --++ @@ -1767,10 +1767,10 @@

                    Further keys to be included in the dictionary depend on the type:

                    sidebar type

                    -

                    type

                    +
                    --++ @@ -1797,10 +1797,10 @@

                    tab, settings and usersettings type

                    -

                    icon

                    +
                    --++ @@ -1820,10 +1820,10 @@

                    webcam type

                    -

                    classes_content

                    +
                    --++ @@ -1837,10 +1837,10 @@

                    wizard type

                    -

                    classes_content

                    +
                    --++ @@ -1879,7 +1879,7 @@
                    -
                    Return list
                    +
                    Return list:

                    a list containing the configuration options for the plugin’s injected templates

                    @@ -1887,11 +1887,11 @@
                    -get_template_folder()
                    +get_template_folder()

                    Defines the folder where the plugin stores its templates. Override this if your plugin stores its templates at some other place than the templates sub folder in the plugin base directory.

                    -
                    Return string
                    +
                    Return string:

                    the absolute path to the folder where the plugin stores its jinja2 templates

                    @@ -1899,11 +1899,11 @@
                    -get_template_vars()
                    +get_template_vars()

                    Defines additional template variables to include into the template renderer. Variable names will be prefixed with plugin_<plugin identifier>_.

                    -
                    Return dict
                    +
                    Return dict:

                    a dictionary containing any additional template variables to include in the renderer

                    @@ -1911,14 +1911,14 @@
                    -is_template_autoescaped()
                    +is_template_autoescaped()

                    Whether a plugin’s templates have autoescape enabled. For now this defaults to False to not cause issues with plugins currently pushing HTML into templates through variables. Long term, this will default to True and hence prevent something like this from working, unless a plugin opts out by returning False here.

                    It is strongly recommended to return True however and use the safe filter for those expressions that actually need to support HTML entities. That way a plugin will severely reduce the risk of causing XSS security issues.

                    -

                    New in version 1.11.0.

                    +

                    Added in version 1.11.0.

                    @@ -1926,10 +1926,10 @@
                    -

                    UiPlugin

                    +

                    UiPlugin

                    -class octoprint.plugin.UiPlugin
                    +class octoprint.plugin.UiPlugin

                    Bases: OctoPrintPlugin, SortablePlugin

                    The UiPlugin mixin allows plugins to completely replace the UI served by OctoPrint when requesting the main page hosted at /.

                    @@ -1960,7 +1960,7 @@ only exemplary) UI if the requesting client has a UserAgent string hinting at it being a mobile device:

                    - +
                    # coding=utf-8
                     from __future__ import absolute_import
                     
                    @@ -1990,7 +1990,7 @@
                     
                    - +
                    <html>
                         <head>
                             <title>Dummy Mobile OctoPrint UI</title>
                    @@ -2042,36 +2042,36 @@
                     server startup (basically eager caching instead of lazily waiting for the first request).

                    See below for details on this.

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_additional_etag(default_additional)
                    +get_ui_additional_etag(default_additional)

                    Allows to provide a list of additional fields to use for ETag generation.

                    By default the same list will be returned that is also used in the stock UI (and injected via the parameter default_additional).

                    -
                    Parameters
                    +
                    Parameters:

                    default_additional (list) – The list of default fields added to the ETag of the default UI

                    -
                    Returns
                    +
                    Returns:

                    A list of additional fields for the ETag generation, or None

                    -
                    Return type
                    +
                    Return type:

                    (list)

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_additional_key_data_for_cache()
                    +get_ui_additional_key_data_for_cache()

                    Allows to return additional data to use in the cache key.

                    -
                    Returns
                    +
                    Returns:

                    A list or tuple of strings to use in the cache key. Will be joined by OctoPrint

                    using : as separator and appended to the existing ui:<identifier>:<base url>:<locale> cache key. Ignored if None is returned.

                    @@ -2079,165 +2079,165 @@

                    -
                    Return type
                    +
                    Return type:

                    list, tuple

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_additional_request_data_for_preemptive_caching()
                    +get_ui_additional_request_data_for_preemptive_caching()

                    Allows defining additional request data to persist in the preemptive cache configuration and to use for the fake request used for populating the preemptive cache.

                    Keys and values are used as keyword arguments for creating the Werkzeug EnvironBuilder used for creating the fake request.

                    -
                    Returns
                    +
                    Returns:

                    Additional request data to persist in the preemptive cache configuration and to

                    use for request environment construction.

                    -
                    Return type
                    +
                    Return type:

                    dict

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_additional_tracked_files()
                    +get_ui_additional_tracked_files()

                    Allows to return additional files to track for validating existing caches. By default OctoPrint will track all declared templates, assets and translation files in the system. Additional files can be added by a plugin through this callback.

                    -
                    Returns
                    +
                    Returns:

                    A list of paths to additional files whose modification to track for (in)validating

                    the cache. Ignored if None is returned.

                    -
                    Return type
                    +
                    Return type:

                    list

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_custom_etag()
                    +get_ui_custom_etag()

                    Allows to use a custom way to calculate the ETag, instead of the default method (hashing OctoPrint’s version, tracked file paths and LastModified value).

                    -
                    Returns
                    +
                    Returns:

                    An alternatively calculated ETag value. Ignored if None is returned (default).

                    -
                    Return type
                    +
                    Return type:

                    str

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_custom_lastmodified()
                    +get_ui_custom_lastmodified()

                    Allows to calculate the LastModified differently than using the most recent modification date of all tracked files.

                    -
                    Returns
                    +
                    Returns:

                    An alternatively calculated LastModified value. Ignored if None is returned (default).

                    -
                    Return type
                    +
                    Return type:

                    int

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_custom_template_filter(default_template_filter)
                    +get_ui_custom_template_filter(default_template_filter)

                    Allows to specify a custom template filter to use for filtering the template contained in the render_kwargs provided to the templating sub system.

                    Only relevant for UiPlugins that actually utilize the stock templates of OctoPrint.

                    By default simply returns the provided default_template_filter.

                    -
                    Parameters
                    +
                    Parameters:

                    default_template_filter (callable) – The default template filter used by the default UI

                    -
                    Returns
                    +
                    Returns:

                    (callable) A filter function accepting the template_type and template_key of a template and returning True to keep it and False to filter it out. If None is returned, no filtering will take place.

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_custom_tracked_files()
                    +get_ui_custom_tracked_files()

                    Allows to define a complete separate set of files to track for (in)validating the cache. If this method returns something, the templates, assets and translation files won’t be tracked, only the files specified in the returned list.

                    -
                    Returns
                    +
                    Returns:

                    A list of paths representing the only files whose modification to track for (in)validating

                    the cache. Ignored if None is returned.

                    -
                    Return type
                    +
                    Return type:

                    list

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_data_for_preemptive_caching()
                    +get_ui_data_for_preemptive_caching()

                    Allows defining additional data to be persisted in the preemptive cache configuration, on top of the request path, base URL and used locale.

                    -
                    Returns
                    +
                    Returns:

                    Additional data to persist in the preemptive cache configuration.

                    -
                    Return type
                    +
                    Return type:

                    dict

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_permissions()
                    +get_ui_permissions()

                    Determines a list of permissions that need to be on the current user session. If these requirements are not met, OctoPrint will instead redirect to a login screen.

                    @@ -2246,7 +2246,7 @@ view renders, in which case it will fall to your plugin to implement its own login logic.

                    -
                    Returns
                    +
                    Returns:

                    (list) A list of permissions which to check the current user session against. May be empty to indicate that no permission checks should be made by OctoPrint.

                    @@ -2255,35 +2255,35 @@
                    -get_ui_preemptive_caching_additional_unless()
                    +get_ui_preemptive_caching_additional_unless()

                    Allows defining additional reasons for temporarily not adding a preemptive cache record for your plugin’s UI.

                    OctoPrint will call this method when processing a UI request, to determine whether to record the access or not. If you return True here, no record will be created.

                    -
                    Returns
                    +
                    Returns:

                    Whether to suppress a record (True) or not (False, default)

                    -
                    Return type
                    +
                    Return type:

                    bool

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -get_ui_preemptive_caching_enabled()
                    +get_ui_preemptive_caching_enabled()

                    Allows to control whether the view provided by the plugin should be preemptively cached on server startup (default) or not.

                    Have this return False if you do not want your plugin’s UI to ever be preemptively cached.

                    -
                    Returns
                    +
                    Returns:

                    Whether to enable preemptive caching (True, default) or not (False)

                    -
                    Return type
                    +
                    Return type:

                    bool

                    @@ -2291,7 +2291,7 @@
                    -on_ui_render(now, request, render_kwargs)
                    +on_ui_render(now, request, render_kwargs)

                    Called by OctoPrint to retrieve the response to send to the client for the request to /. Only called if will_handle_ui() returned True.

                    @@ -2299,10 +2299,10 @@ will contain the following key and value pairs (note that not all key value pairs contained in the dictionary are listed here, only those you should depend on as a plugin developer at the current time):

                    -

                    mandatory

                    +
                    --++ @@ -2315,10 +2315,10 @@

                    debug

                    version

                    OctoPrint’s version information. This is a dict with the following keys:

                    - +
                    --++ @@ -2344,10 +2344,10 @@

                    number

                    Template data to render in the UI. Will be a dict containing entries for all known template types.

                    The sub structure for each key will be as follows:

                    - +
                    --++ @@ -2383,7 +2383,7 @@

                    On top of that all additional template variables as provided by get_template_vars() will be contained in the dictionary as well.

                    -
                    Parameters
                    +
                    Parameters:
                    • now (datetime.datetime) – The datetime instance representing “now” for this request, in case your plugin implementation needs this @@ -2394,7 +2394,7 @@ would usually be provided to the core UI render function.

                    -
                    Returns
                    +
                    Returns:

                    Should return a Flask Response

                    object that can be served to the requesting client directly. May be created with flask.make_response combined with something like @@ -2403,7 +2403,7 @@

                    -
                    Return type
                    +
                    Return type:

                    flask.Response

                    @@ -2411,7 +2411,7 @@
                    -will_handle_ui(request)
                    +will_handle_ui(request)

                    Called by OctoPrint to determine if the mixin implementation will be able to handle the request provided as a parameter.

                    Return True here to signal that your implementation will handle @@ -2420,19 +2420,19 @@

                    The execution order of calls to this method can be influenced via the sorting context UiPlugin.will_handle_ui.

                    -
                    Parameters
                    +
                    Parameters:

                    request (flask.Request) –

                    A Flask Request object.

                    -
                    Returns
                    +
                    Returns:

                    True if the implementation will serve the request,

                    False otherwise.

                    -
                    Return type
                    +
                    Return type:

                    bool

                    @@ -2442,22 +2442,22 @@
                    -

                    WebcamProviderPlugin

                    +

                    WebcamProviderPlugin

                    -class octoprint.plugin.WebcamProviderPlugin
                    +class octoprint.plugin.WebcamProviderPlugin

                    Bases: OctoPrintPlugin

                    The WebcamProviderPlugin can be used to provide one or more webcams visible on the frontend and used for snapshots/timelapses.

                    For an example of how to utilize this, see the bundled classicwebcam plugin, or the testpicture plugin available here.

                    -get_webcam_configurations()
                    +get_webcam_configurations()

                    Used to retrieve a list of available webcams

                    -
                    Returns
                    +
                    Returns:

                    The available webcams, can be empty if none available.

                    -
                    Return type
                    +
                    Return type:

                    A list of Webcam

                    @@ -2465,13 +2465,13 @@
                    -take_webcam_snapshot(webcamName)
                    +take_webcam_snapshot(webcamName)

                    Used to take a JPEG snapshot of the webcam. This method may raise an exception, you can expect failures to be handled.

                    -
                    Parameters
                    +
                    Parameters:

                    webcamName (str) – The name of the webcam to take a snapshot of as given by the configurations

                    -
                    Returns
                    +
                    Returns:

                    An iterator over bytes of the JPEG image

                    @@ -2481,10 +2481,10 @@
                    -

                    WizardPlugin

                    +

                    WizardPlugin

                    -class octoprint.plugin.WizardPlugin
                    +class octoprint.plugin.WizardPlugin

                    Bases: OctoPrintPlugin, ReloadNeedingPlugin

                    The WizardPlugin mixin allows plugins to report to OctoPrint whether the wizard templates they define via the TemplatePlugin @@ -2545,20 +2545,20 @@

                    WizardPlugin is a ReloadNeedingPlugin.

                    -get_wizard_details()
                    +get_wizard_details()

                    Called by OctoPrint when the wizard wrapper dialog is shown. Allows the plugin to return data that will then be made available to the view models via the view model callback onWizardDetails.

                    Use this if your plugin’s view model that handles your wizard dialog needs additional data to perform its task.

                    -
                    Returns
                    +
                    Returns:

                    a dictionary containing additional data to provide to the frontend. Whatever the plugin

                    returns here will be made available on the wizard API under the plugin’s identifier

                    -
                    Return type
                    +
                    Return type:

                    dict

                    @@ -2566,7 +2566,7 @@
                    -get_wizard_version()
                    +get_wizard_version()

                    The version of this plugin’s wizard. OctoPrint will only display a wizard of the same plugin and wizard version once to the user. After they finish the wizard, OctoPrint will remember that it already showed this @@ -2575,7 +2575,7 @@ of changes in the required settings), increasing this value is the way to notify OctoPrint of these changes.

                    -
                    Returns
                    +
                    Returns:

                    an int signifying the current wizard version, should be incremented by plugins whenever there

                    are changes to the plugin that might necessitate reshowing the wizard if it is required. None will also be accepted and lead to the wizard always be ignored unless it has never been finished @@ -2584,7 +2584,7 @@

                    -
                    Return type
                    +
                    Return type:

                    int or None

                    @@ -2592,7 +2592,7 @@
                    -classmethod is_wizard_ignored(seen_wizards, implementation)
                    +classmethod is_wizard_ignored(seen_wizards, implementation)

                    Determines whether the provided implementation is ignored based on the provided information about already seen wizards and their versions or not.

                    A wizard is ignored if

                    @@ -2615,7 +2615,7 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • seen_wizards (dict) – A dictionary with information about already seen wizards and their versions. Mappings from the identifiers of @@ -2624,14 +2624,14 @@

                    • implementation (object) – The plugin implementation to check.

                    -
                    Returns
                    +
                    Returns:

                    False if the provided implementation is either not a WizardPlugin

                    or has not yet been seen (in this version), True otherwise

                    -
                    Return type
                    +
                    Return type:

                    bool

                    @@ -2639,7 +2639,7 @@
                    -is_wizard_required()
                    +is_wizard_required()

                    Allows the plugin to report whether it needs to display a wizard to the user or not.

                    Defaults to False.

                    @@ -2652,7 +2652,7 @@
                    -on_wizard_finish(handled)
                    +on_wizard_finish(handled)

                    Called by OctoPrint whenever the user finishes a wizard session.

                    The handled parameter will indicate whether that plugin’s wizard was included in the wizard dialog presented to the user (so the plugin providing @@ -2660,7 +2660,7 @@ ignored/had already been seen).

                    Use this to do any clean up tasks necessary after wizard completion.

                    -
                    Parameters
                    +
                    Parameters:

                    handled (bool) – True if the plugin’s wizard was previously reported as required, not ignored and thus presented to the user, False otherwise

                    diff --git a/maintenance/plugins/python3_migration.html b/maintenance/plugins/python3_migration.html index 9a3272085..b6412fa84 100644 --- a/maintenance/plugins/python3_migration.html +++ b/maintenance/plugins/python3_migration.html @@ -1,26 +1,26 @@ - + - + Migrating to Python 3 — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -151,7 +151,7 @@
                    -

                    Migrating to Python 3

                    +

                    Migrating to Python 3

                    Python 2 is now EOL as of January 1st 2020. With the release of 1.4.0 OctoPrint will be compatible to both Python 2 and Python 3.

                    However, the same doesn’t automatically hold true for all of the third party plugins for OctoPrint out there - it will @@ -159,7 +159,7 @@

                    This guide is supposed to help plugin authors in making sure their plugins run under Python 2 as well as Python 3, which for now is the goal for OctoPrint’s ecosystem, as we’ll have to live with existing legacy Python 2 installations for a while to come (the plan is to stay Python 2 compatible until roughly a year after the release of 1.4.0).

                    - +
                    -

                    How to get a Python 3 virtual environment with OctoPrint

                    +

                    How to get a Python 3 virtual environment with OctoPrint

                    In order to test your plugins for Python 3 compatibility and also to allow for ongoing maintenance against both Python versions, you should create a Python 3 virtual environment next to your Python 2 one. You can then quickly switch between Python 2 and Python 3 simply by activate-ing whichever one you need.

                    @@ -229,7 +229,7 @@
                    -

                    Telling OctoPrint your plugin is Python 3 ready

                    +

                    Telling OctoPrint your plugin is Python 3 ready

                    In order for OctoPrint to even load your plugin when it’s running under Python 3, it first needs to know your plugin is compatible to a Python 3 environment. By default OctoPrint will assume your plugin isn’t and refuse to load it when running under Python 3 itself.

                    @@ -277,7 +277,7 @@
                    -

                    Common pitfalls during migration

                    +

                    Common pitfalls during migration

                    Some of the changes in Python 3 compared to Python 2 are sadly backwards incompatible and usually cause a number of common issues in code written for Python 2 when run under Python 3. By now they are pretty well documented and there exist a number of helpful and comprehensive migration guides, three of which I want to mention here.

                    @@ -299,7 +299,7 @@ imports, changes in integer division behaviour and the switch of map, filter and zip to return iterators instead of lists and causing issues in the following code due to that.

                    -

                    Bytes vs unicode

                    +

                    Bytes vs unicode

                    One of if not the most problematic change between Python 2 and 3 surely must be the change in string handling. Under Python 2 your basic string was a byte string, but it could also magically turn into a unicode string depending on what you wrote into it. That did cause some confusion, especially in APIs, and caused quite a mess, which is why the decision @@ -335,7 +335,7 @@ cheat sheet.

                    -

                    Absolute imports

                    +

                    Absolute imports

                    Python 3 now defaults to absolute imports, meaning that trying to import a sub package with a

                    import my_sub_package
                     
                    @@ -354,7 +354,7 @@ the book.

                    -

                    Version specific imports

                    +

                    Version specific imports

                    Sometimes it is necessary to use an import statement that is explicitly related to a specific Python version, e.g. due to a package change between Python 2 and 3. You can do this by first trying the Python 3 import and if that doesn’t work out trying the Python 2 import instead:

                    @@ -375,7 +375,7 @@
                    -

                    Integer division

                    +

                    Integer division

                    When you divide two integers in Python 2 you’ll get back an integer, rounded down. In Python 3 however you’ll now get a float. That means you might have to revisit some places where you do integer divisions and might rely on the result to be an integer as well (e.g. when using a calculation result as an index in an array or something like that).

                    @@ -388,7 +388,7 @@ and in the cheat sheet.

                    -

                    Iterators instead of list from map, filter, zip

                    +

                    Iterators instead of list from map, filter, zip

                    The built-in functions map, filter and zip return a list with their result in Python 2. In Python 3 they have been switched to returning iterators. That can cause trouble with code handling the result (e.g. if you try to return it as part of a JSON response on an API endpoint).

                    @@ -405,7 +405,7 @@
                    -

                    Checklist

                    +

                    Checklist

                    As a summary, follow this checklist to migrate your plugin to be compatible to both Python 2 and 3:

                      @@ -437,7 +437,7 @@
                    -

                    Further reading

                    +

                    Further reading

                    See also

                    diff --git a/maintenance/plugins/viewmodels.html b/maintenance/plugins/viewmodels.html index fa53a887c..232ccb305 100644 --- a/maintenance/plugins/viewmodels.html +++ b/maintenance/plugins/viewmodels.html @@ -1,26 +1,26 @@ - + - + Viewmodels — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + @@ -147,8 +147,8 @@
                    -

                    Viewmodels

                    -
                    +

                    Viewmodels

                    +
                    +

                    When implementing frontend components, you’ll sooner or later want to define your own KnockoutJS view models in order to provide custom functionality.

                    -

                    Registering custom viewmodels

                    +

                    Registering custom viewmodels

                    Register your view model with OctoPrint’s web app by pushing a config object unto the global array OCTOPRINT_VIEWMODELS.

                    Possible properties in this config object are:

                    @@ -221,7 +221,7 @@ and optional dependencies cannot be specified with this format. It should be considered deprecated. Still, an example of how that would look in practice is provided here as well:

                    -
                    Listing 38 Old tuple-based configuration format, consider this deprecated
                    +
                    Listing 38 Old tuple-based configuration format, consider this deprecated
                    $(function() {
                         function MyCustomViewModel(parameters) {
                             var self = this;
                    @@ -244,7 +244,7 @@
                     
                    -

                    Dependencies

                    +

                    Dependencies

                    OctoPrint will try to inject all view model dependencies requested by your view model. In order to do this it will perform multiple passes iterating over all registered view models and collecting the necessary dependencies prior to construction. Circular dependencies (A depends on B, B on C, C on A) naturally cannot be resolved and will cause an @@ -303,7 +303,7 @@ config object, plus any configured additionalNames.

                    -

                    Callbacks

                    +

                    Callbacks

                    OctoPrint’s web application will call several callbacks on all registered view models, provided they implement them. Those are listed below:

                    @@ -433,9 +433,9 @@
                    -

                    Lifecycle diagrams

                    +

                    Lifecycle diagrams

                    -

                    Web interface startup

                    +

                    Web interface startup

                    sequenceDiagram participant Main @@ -519,7 +519,7 @@ deactivate Main

                    -

                    Web interface reconnect

                    +

                    Web interface reconnect

                    sequenceDiagram participant onServerConnect diff --git a/maintenance/py-modindex.html b/maintenance/py-modindex.html index 782c83b53..bb4caa1fe 100644 --- a/maintenance/py-modindex.html +++ b/maintenance/py-modindex.html @@ -1,25 +1,25 @@ - + Python Module Index — OctoPrint maintenance documentation - - - + + + - - - - - - - + + + + + + + diff --git a/maintenance/search.html b/maintenance/search.html index 43b084360..090981d96 100644 --- a/maintenance/search.html +++ b/maintenance/search.html @@ -1,12 +1,12 @@ - + Search — OctoPrint maintenance documentation - - - + + + @@ -14,13 +14,13 @@ - - - - - - - + + + + + + + diff --git a/maintenance/searchindex.js b/maintenance/searchindex.js index 742f9873c..c3eeadb4d 100644 --- a/maintenance/searchindex.js +++ b/maintenance/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "terms": {"avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "system": [0, 2, 3, 5, 10, 11, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "Will": [0, 4, 7, 9, 10, 13, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 79, 80, 82, 86, 92, 95], "recent": [0, 23, 33, 83, 86, 95], "credenti": [0, 4, 23, 58, 83, 95], "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 83, 85, 88, 90, 92, 95, 96], "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "assign": [0, 2, 4, 33, 48, 57, 61, 80, 92], "subgroup": [0, 2], "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 34, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "409": [0, 3, 6, 9, 10], "conflict": [0, 3, 6, 9, 10], "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "doe": [0, 2, 3, 6, 9, 10, 13, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "individu": [0, 16, 37, 39, 42, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "record": [0, 4, 16, 25, 37, 47, 82, 95], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "usernam": [0, 4, 17, 23, 25, 33, 47, 58, 70, 76], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "activ": [0, 2, 3, 4, 6, 9, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "fals": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "deactiv": [0, 4], "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 83, 84, 85, 86, 90, 92, 94, 95, 97], "properti": [0, 2, 3, 9, 10, 13, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 81, 82, 83, 86, 90, 92, 95, 96], "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "presenc": [0, 4, 33, 37, 82, 95], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "t": [0, 3, 4, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "403": [0, 4, 13, 31, 83], "forbidden": [0, 4, 13, 31], "mismatch": [0, 4, 46], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 83, 84, 86, 92, 95], "person": [0, 2, 33, 94], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "apikei": [0, 2, 4, 11, 13, 57, 58, 62, 70, 76, 83, 92], "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 79, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "kei": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "dev": [1, 37, 41, 42, 56, 79, 84, 90], "ttyacm0": [1, 37, 84], "250000": [1, 84], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "_default": [1, 10, 37, 82], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "230400": 1, "115200": [1, 37, 92], "57600": 1, "38400": 1, "19200": 1, "9600": 1, "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "portprefer": [1, 81], "baudrateprefer": [1, 81], "printerprofileprefer": 1, "autoconnect": [1, 37, 59, 79, 81, 82], "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "reconnect": [1, 32, 62, 70, 93], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "prefer": [1, 37, 42, 62, 81, 82, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 83, 88, 92, 97], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "new": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 41, 42, 45, 47, 48, 49, 50, 52, 54, 55, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "automat": [1, 3, 9, 16, 23, 24, 33, 34, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "configur": [1, 2, 4, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "fake_ack": [1, 79, 81], "fake": [1, 59, 81, 95], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "got": [1, 4, 23, 37, 47, 90, 92, 95], "lost": [1, 46, 47, 81], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "stall": [1, 92], "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "emerg": [1, 9, 21, 47, 82], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "investig": [1, 47], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "symptom": 1, "solver": 1, "my_printer_profil": 1, "fakeack": [1, 59, 62], "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "autodetect": [1, 24, 37, 47, 82, 92], "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textual": [2, 6], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "few": [2, 41, 52, 90, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "sdreadi": [2, 9, 81], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "redund": [2, 90], "unrecover": [2, 47], "occur": [2, 9, 15, 17, 47, 90], "readi": [2, 4, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "closedorerror": [2, 9, 81], "possibli": [2, 42, 92, 95], "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "null": [2, 9, 19, 37, 46, 97], "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 34, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "unix": [2, 31, 83], "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "enumer": [2, 9, 82], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "transmit": [2, 83, 97], "ratio": [2, 46, 82], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "estimatedprinttim": [2, 3, 6, 78, 81], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "estim": [2, 38, 78, 79, 81, 82, 93], "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "lastprinttim": [2, 81], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "mm": [2, 3, 9, 10, 66, 78, 81, 82, 86], "volum": [2, 3, 6, 10, 51, 52, 78, 81], "cm\u00b3": [2, 78], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "filepo": [2, 6, 81], "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "printtim": [2, 6, 37, 79, 81, 82, 92], "spent": 2, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95, 97], "linear": [2, 37, 82], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "approxim": [2, 48], "calcul": [2, 37, 82, 83, 86, 95, 96], "after": [2, 3, 6, 9, 11, 16, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "stabil": 2, "averag": [2, 37, 82], "total": [2, 37, 57, 82, 90], "past": [2, 17, 23, 37, 47, 82, 96], "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "mix": [2, 37, 82, 95], "mixtur": [2, 37, 82], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96, 97], "gco": [2, 3, 51, 61], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "anywher": 2, "fit": [2, 83, 95], "ascii": [2, 37, 82, 86], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "potenti": [2, 10, 41, 42, 70, 80], "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 83, 86, 90, 95], "unicod": [2, 37, 78, 82, 93], "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "turtl": 2, "a_turtle_turtl": 2, "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "subfold": [2, 3, 61, 78, 90], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "machinecod": [2, 3, 47, 78, 81, 92], "Or": [2, 48], "children": [2, 3, 37, 51, 61, 78, 79, 82], "node": [2, 47, 49, 78, 90], "popul": [2, 57, 78, 83, 90, 95], "typepath": [2, 3, 78], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "tree": [2, 13, 42, 61, 92, 95], "stl": [2, 3, 11, 47, 78, 95], "who": [2, 23, 47, 48, 78, 83, 95], "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "creat": [2, 4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "recurs": [2, 3, 61, 78, 86, 90], "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "md5": 2, "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "sdcard": [2, 3, 11, 47, 61, 81, 92], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 42, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 79, 81, 82, 83, 85, 90, 95, 96, 97], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "ref": [2, 3, 31], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "gcodeanalysi": [2, 3, 37, 79, 82], "previou": [2, 4, 11, 52, 90, 97], "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "dimens": [2, 78], "depth": [2, 10, 51, 61, 78, 81, 96], "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "width": [2, 10, 51, 78, 81, 90, 95], "printingarea": [2, 78], "area": [2, 10, 46, 78], "maxx": [2, 78], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "maxi": [2, 78], "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "maxz": [2, 78], "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "minx": [2, 78], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "mini": [2, 78], "minz": [2, 78], "travelarea": [2, 78], "bound": [2, 10, 78, 81, 90, 95, 97], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "traveldimens": [2, 78], "travel": [2, 9, 78], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 95, 96], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "failur": [2, 3, 17, 37, 47, 79, 80, 82, 92, 95], "fail": [2, 3, 9, 17, 23, 24, 33, 37, 42, 47, 74, 81, 82, 83, 92, 96, 97], "averageprinttim": 2, "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 82, 83, 84, 86, 92, 97], "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "implicit": [2, 95, 97], "inherit": [2, 25, 95, 96], "danger": [2, 37, 51, 82, 92], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "high": [2, 14, 22, 37, 49, 78, 82], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 81, 82, 83, 85, 92, 95, 96, 97], "default_group": [2, 92], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "changeabl": 2, "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "toggleabl": 2, "role": [2, 48, 76, 84, 92, 95, 97], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "space": [3, 31, 33, 37, 40, 82], "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "overrid": [3, 14, 34, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "refresh": [3, 9, 42, 66, 82, 89, 97], "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 34, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "bandwidth": [3, 83], "restrict": [3, 15, 23, 92, 95], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "files_list": 3, "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "whistle_v2": [3, 6], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "1468987": [3, 6], "1378847754": [3, 6], "1188": 3, "810": [3, 6], "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "36": [3, 6, 90], "23": [3, 40, 46, 48, 92, 95], "1387144346": 3, "whistle_": 3, "foldera": 3, "whistle_v2_copi": 3, "free": [3, 31, 33, 46, 56, 86, 95, 96], "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "2gb": 3, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "1234": [3, 25, 74], "test2": 3, "1334": 3, "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "nor": [3, 11, 83, 85, 88, 92], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "most": [3, 7, 33, 34, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "multipart": [3, 4, 7, 57, 83, 92], "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92, 95], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "foldernam": 3, "creation": [3, 16, 17, 24, 49, 61, 83, 85], "201": [3, 14, 23], "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "files_upload": 3, "boundari": [3, 81], "webkitformboundarydec2e3iwbtv1pwmc": 3, "430": 3, "disposit": [3, 4, 83], "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "octet": [3, 57, 83], "m109": [3, 46], "t0": [3, 46, 52, 82, 92], "s220": [3, 46], "000000": 3, "g21": 3, "g90": [3, 37, 51, 52, 82, 92], "done": [3, 21, 23, 37, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 82, 83, 86, 90, 92, 95, 96, 97], "effectiveselect": 3, "effectiveprint": 3, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "rfc": [3, 4], "5987": [3, 4], "263": 3, "20mm": [3, 10], "c3": 3, "bcml": 3, "a4ut": 3, "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "umlaut": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "246": 3, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "basic": [3, 4, 11, 17, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "parent": [3, 61, 78, 80, 83, 95], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 86, 90, 92, 95, 96], "implicitli": [3, 33], "userdata": [3, 47, 61], "interpret": [3, 9, 36, 42, 81, 92], "along": [3, 78], "metadata": [3, 47, 77, 78, 80, 87, 88, 90, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "pars": [3, 17, 33, 36, 47, 77, 80, 83, 92, 95], "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "busi": [3, 37, 46, 82], "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "415": 3, "unsupport": [3, 17], "media": [3, 90], "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "500": [3, 15, 17, 44, 83, 92], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "direct": [3, 4, 10, 23, 51, 82, 86], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "files_select": 3, "unselect": [3, 81], "isn": [3, 23, 48, 90, 96], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "background": [3, 11, 90, 96], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "engin": [3, 52, 80, 81, 95], "cura": [3, 13, 14], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "center": [3, 10, 79, 81, 85, 95], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 85, 86, 90, 92, 95], "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "strip": [3, 78, 86, 92], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "often": [3, 11, 34, 45, 95], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "diamet": [3, 10, 52, 78, 81], "infil": 3, "finish": [3, 5, 16, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "suppos": [3, 15, 88, 92, 96], "anymor": [3, 9, 55, 90, 92], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "entir": [3, 34, 48, 92], "202": [3, 23], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "abridg": [3, 14], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "destin": [3, 11, 56, 61, 79, 85, 95], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "some_fold": [3, 78], "some_model": 3, "first_tri": 3, "my_custom_reprap": 3, "high_qual": [3, 14], "75": [3, 9], "fill_dens": 3, "15": [3, 37, 82], "some_other_fold": 3, "and_a_subfold": 3, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 83, 92, 95, 97], "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "files_delet": 3, "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 78, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "lack": [3, 9, 11, 42, 52], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "fulfil": 3, "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "global": [4, 23, 57, 62, 77, 80, 81, 82, 83, 86, 88, 90, 91, 92, 97], "app": [4, 23, 33, 37, 42, 62, 79, 82, 83, 97], "workflow": [4, 30, 62, 95], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 47, 51, 66, 70, 82, 84, 85, 90, 92, 95], "advis": [4, 37, 81, 82, 92], "fallback": [4, 47, 79, 80, 82, 83, 86, 95], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "rare": 4, "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "bearer": [4, 17, 83], "token": [4, 17, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "purpos": [4, 37, 80, 90, 92, 95], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "variant": [4, 33, 40, 62, 89, 92], "treat": 4, "unauthent": 4, "anonym": [4, 30, 33, 48, 56, 83, 95], "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 95, 96], "deni": [4, 23, 48], "outright": [4, 33, 54], "11": [4, 22, 26, 34, 37, 42, 82, 83, 86, 90, 92, 95], "up": [4, 11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "webinterfac": [4, 23], "work": [4, 6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "under": [4, 6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "circumst": [4, 24, 92], "inject": [4, 11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "html": [4, 37, 42, 44, 82, 90, 92, 95], "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 95, 96, 97], "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "caus": [4, 26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "confus": [4, 40, 90, 96], "alarm": 4, "among": [4, 10, 37, 77, 81, 82, 86, 92, 94, 95], "didn": [4, 15, 44, 80], "contribut": [4, 43], "secur": [4, 26, 37, 48, 79, 82, 83, 95], "platform": [4, 42, 48, 56, 77, 79, 80, 92, 95], "meaning": 4, "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "final": [4, 33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "abandon": 4, "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "password": [4, 17, 25, 33, 37, 58, 70, 73, 82, 83, 91], "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "revok": [4, 23], "charset": [4, 83], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "decod": [4, 17, 78, 86, 92], "iso": [4, 47], "8859": 4, "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 84, 86, 90, 92, 95], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "websit": [4, 22, 56, 78, 80, 90], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "share": [4, 10, 46, 77, 81, 86, 94, 95], "cor": [4, 83, 92], "question": [4, 9, 23, 33, 83, 92], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "localhost": [4, 37, 82], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "allowcrossorigin": [4, 37, 79, 82], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "yml": [4, 90], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 83, 86, 92, 95, 96], "checkbox": 4, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "xmlhttprequest": [4, 57], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "8081": 4, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "imposs": [4, 9, 90], "authent": [4, 9, 11, 17, 23, 33, 37, 47, 48, 57, 58, 82, 83, 92, 95], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "reus": [4, 33, 90], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "therefor": [4, 90, 95, 97], "attack": 4, "affect": [4, 32, 83, 96], "doubl": [4, 25, 40, 83], "submit": [4, 89], "mitig": 4, "strategi": [4, 43, 56, 96], "recoveri": [4, 55, 82, 92], "csrf_token_p": 4, "_r": 4, "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "side": [4, 37, 46, 83, 95], "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "toward": [4, 81, 96], "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "reli": [4, 37, 57, 82, 95, 96], "rather": [4, 37, 82], "csrf_token": 4, "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 90, 95], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "ajax": [4, 37, 57, 62, 82], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "sever": [4, 47, 95, 96, 97], "framework": [4, 9], "owasp": 4, "cheatsheet": 4, "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "octoprintcli": [4, 23, 30, 56, 62], "getcooki": [4, 57, 62], "gethead": 4, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "construct": [4, 25, 78, 80, 84, 92, 95, 97], "passiv": [4, 11, 58, 97], "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "401": 4, "unauthor": [4, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "wrong": [4, 23, 48, 52, 57, 92, 95], "bug": [4, 9, 26, 41, 42, 45, 54, 55], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "rememb": [4, 37, 58, 82, 90, 95, 97], "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "sens": [4, 40, 47, 48, 86, 90, 92, 95], "currentus": 4, "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "_is_external_cli": 4, "extern": [4, 33, 37, 42, 45, 82, 95], "network": [4, 25, 37, 48, 82], "guest": [4, 48, 97], "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "protect": [5, 82, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "logout": [5, 11, 58, 62, 92], "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 85, 90, 92, 95, 97], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "pack": [5, 55, 62, 64, 90], "chamber": [5, 10, 46, 66, 81], "arbitrari": [5, 47, 60, 80, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "regener": [5, 11, 37, 82], "wide": [5, 42, 68], "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "execut": [5, 17, 33, 37, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "unrend": [5, 37, 57, 72, 82], "variou": [5, 25, 33, 34, 35, 37, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "common": [5, 34, 40, 48, 52, 56, 80, 91, 93], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "toggl": 6, "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 83, 85, 86, 93], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "stai": [6, 40, 51, 92, 96], "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "earlier": [6, 37, 42, 77, 82, 88, 90], "iter": [6, 52, 78, 83, 92, 93, 95, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 80, 82, 90, 92, 95, 96], "dedic": [6, 23, 48], "seem": [6, 37, 42, 82, 90, 96], "clumsi": 6, "chosen": [6, 40], "prior": [6, 48, 57, 78, 81, 92, 95, 97], "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "precondit": 6, "8811": 6, "tool0": [6, 9, 66, 78, 81], "2298468264184775": 6, "337942": 6, "276": 6, "912": 6, "offlin": [6, 47, 51, 81, 82], "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "exhaust": [6, 48, 53], "language_pack": 7, "_core": 7, "some_plugin": [7, 33, 37], "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "de": [7, 87, 90], "locale_displai": 7, "deutsch": 7, "locale_english": 7, "german": [7, 90], "last_upd": 7, "1474574597": 7, "gina": [7, 90], "h\u00e4u\u00dfg": 7, "italiano": 7, "italian": 7, "1470859680": 7, "transifex": 7, "team": [7, 33], "zip": [7, 24, 32, 33, 54, 90, 93], "tar": [7, 32], "gz": [7, 32, 83], "tgz": [7, 32], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "translat": [7, 55, 79, 82, 90, 95], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "display": [7, 82, 85], "meta": [7, 41, 80, 85, 95], "english": [7, 90], "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "former": [8, 47, 65], "adapt": [8, 65, 78, 86], "soon": [8, 65, 90], "mostli": [9, 13, 83], "achiev": [9, 34, 37, 48, 89, 90, 96, 97], "reflect": [9, 13, 17, 66, 90], "compon": [9, 13, 33, 37, 39, 42, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "know": [9, 40, 90, 95, 96, 97], "jog": [9, 62, 66, 79, 81, 92], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "ax": [9, 10, 51, 66, 81], "offset": [9, 10, 11, 66, 81], "hotend": [9, 46, 52, 66, 81, 82], "histori": [9, 66, 81, 97], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 42, 45, 48, 56, 66, 93, 96], "besid": [9, 89, 90], "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "wonder": 9, "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "webserv": [9, 92], "thread": [9, 37, 81, 82, 86, 92], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "program": [9, 42, 90], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "backend": [9, 83, 90, 92, 95], "sleep": [9, 46, 86, 92], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "flask": [9, 56, 79, 91, 92, 95], "wsgi": [9, 83], "synchron": 9, "natur": [9, 97], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "wasn": 9, "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "respond": [9, 15, 17, 46, 81, 83], "repli": [9, 17, 46], "idea": [9, 48, 90, 92, 95], "thank": [9, 42, 43, 52], "larg": [9, 37, 82], "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "particular": [9, 81, 95, 97], "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "pretti": [9, 48, 89, 90, 96], "much": [9, 48, 89, 90, 92, 96], "hit": 9, "situat": [9, 81, 92, 96], "wors": 9, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "distinguish": [9, 37, 92], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "subscrib": [9, 11, 26, 82], "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "exclud": [9, 24, 37, 42, 66, 80, 82], "214": 9, "8821": 9, "220": [9, 46, 66, 92], "tool1": [9, 66, 78, 81], "25": [9, 10, 37, 82, 92], "50": [9, 66, 82, 92], "221": 9, "70": 9, "1395651928": 9, "1395651926": 9, "212": 9, "32": 9, "49": 9, "1123": 9, "comma": [9, 66], "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "ye": [9, 40, 96], "printhead": [9, 92], "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "axi": [9, 10, 11, 51, 66, 78, 81], "distanc": [9, 51, 81], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "append": [9, 36, 37, 57, 83, 90, 92, 95], "signifi": [9, 15, 80, 92, 95], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "feedrat": [9, 47, 52, 66], "factor": [9, 10, 11, 66, 81, 86, 95], "movement": [9, 78], "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "10mm": [9, 51, 66], "5mm": [9, 66], "02mm": 9, "02": [9, 31, 92, 95], "feed": [9, 22, 32, 52, 81], "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "105": [9, 46], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "05": [9, 17, 82], "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "retract": [9, 16, 37, 52, 66, 81, 82], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "heater": [9, 37, 46, 48, 52, 81, 82], "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "neg": [9, 23, 86], "flowrat": [9, 66], "flow": [9, 81, 83], "extrus": [9, 10, 52, 81, 85], "125": 9, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "205": [9, 66], "3mm": 9, "95": 9, "outsid": [9, 40, 47, 80, 92, 96], "plu": [9, 37, 41, 85, 95, 97], "init": [9, 66, 80, 84], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "revers": [9, 37, 77, 78, 82], "won": [9, 32, 48, 87, 91, 95], "monitor_termin": 9, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "consequ": [9, 47], "mintemp": 9, "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "omg": 9, "kill": [9, 46], "faq": [9, 47, 56], "n2685": 9, "g1": [9, 47, 51, 52, 92], "x147": 9, "748": 9, "y108": 9, "411": 9, "e627": 9, "83763": 9, "85": 9, "recv": [9, 11, 37, 82], "n2686": 9, "x148": 9, "522": 9, "286": 9, "8963": 9, "98": 9, "n2687": 9, "866": 9, "174": 9, "92338": 9, "87": 9, "n2688": 9, "x149": 9, "494": 9, "y107": 9, "868": 9, "97566": 9, "91": 9, "n2689": 9, "731": 9, "779": 9, "9946": 9, "96": 9, "n2690": 9, "69": [9, 90], "032": 9, "e628": 9, "01378": 9, "101": [9, 90], "n2691": 9, "252": 9, "y112": 9, "3785": 9, "107": 9, "n2692": 9, "x145": 9, "082": 9, "253": 9, "54089": 9, "93": 9, "monitor": [9, 92], "interfer": [9, 49], "m106": [9, 37, 51, 52, 88, 92], "m18": [9, 52], "s0": [9, 21, 37, 52, 82, 92], "mutual": [9, 51, 82], "exclus": [9, 51, 79, 82], "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stat": [9, 11, 48], "histor": 9, "datapoint": 9, "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "pair": [9, 40, 52, 57, 60, 66, 86, 95], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "variabl": [9, 24, 34, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "ad": [9, 10, 22, 33, 37, 47, 48, 49, 50, 51, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "org": [9, 17, 32, 33, 34, 37, 42, 54, 56, 74, 82, 90], "link": [9, 32, 33, 47, 78, 90, 92, 95], "physic": [10, 37, 48, 82], "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "reprap": [10, 49], "formfactor": [10, 81], "rectangular": [10, 79, 81], "lowerleft": [10, 79, 81], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "6000": 10, "invert": [10, 81], "300": [10, 17, 22, 37, 83, 92], "my_profil": 10, "my": [10, 23, 37, 57, 88, 96], "basedon": [10, 67], "some_profil": 10, "cool": [10, 47, 51], "some_other_profil": 10, "circular": [10, 79, 81, 97], "150": [10, 33], "21": [10, 46, 92, 95], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "partial": [10, 13, 73, 92], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "collect": [10, 40, 77, 90, 95, 96, 97], "overwritten": [10, 14, 70, 78, 85, 86, 90], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "titl": [10, 22, 37, 82, 95], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "red": [10, 22, 37, 51, 79, 82, 95], "orang": [10, 37, 79, 82], "yellow": [10, 22, 37, 79, 82], "green": [10, 37, 79, 82], "blue": [10, 37, 79, 82], "black": [10, 13], "custom_box": [10, 81], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86, 95], "exceed": 10, "min_x": 10, "smaller": [10, 92], "max_x": 10, "larger": [10, 39, 92], "min_i": 10, "max_i": 10, "min_z": 10, "max_z": 10, "nozzlediamet": [10, 81], "nozzl": [10, 29, 46, 52, 81], "sharednozzl": [10, 46, 52, 81, 82], "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "defaultextrusionlength": [10, 81], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "25mm": 10, "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "quo": [11, 14], "streamlin": [11, 14], "consumpt": [11, 14, 89], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "drop": [11, 13, 14, 46, 82], "email": [11, 13, 14, 33, 90], "real": [11, 46, 83, 86, 92], "exchang": [11, 23], "sockj": [11, 56, 62, 70, 79, 93], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "3rd": 11, "establish": [11, 17, 37, 81, 82, 92], "reauthrequir": 11, "reauthent": [11, 37, 82], "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "stale": [11, 23], "suffic": [11, 52, 92], "accumul": 11, "twice": [11, 90], "flood": [11, 96], "printfail": [11, 47], "movierenderdon": 11, "determin": [11, 16, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "With": [11, 52, 55, 85, 96], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "cap": 11, "wish": [11, 37, 82, 87, 90, 92], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "subscript": [11, 37, 47, 79, 82], "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "kind": [11, 48, 92, 95, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "obtain": [11, 23, 33, 43, 51, 82, 90], "someus": [11, 33, 37, 90], "lgz0trf8by": 11, "roundtrip": 11, "throttl": [11, 33, 34, 46, 62, 81], "fast": [11, 70], "signal": [11, 21, 23, 49, 92, 95], "multipli": [11, 66], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "500m": [11, 70], "produc": [11, 21, 83, 86, 90, 95], "maxim": [11, 70], "branch": [11, 33, 43, 45, 54, 56, 89, 95], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "display_vers": [11, 95], "plugin_hash": 11, "config_hash": [11, 79, 84], "currentz": [11, 81], "temp": [11, 81], "plot": 11, "resend": [11, 37, 46, 47, 82, 92], "statist": [11, 37, 82], "additional_state_data": [11, 93], "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "source_loc": [11, 95], "moment": [11, 17, 57, 78, 92], "source_path": [11, 47, 85, 95], "dest_loc": 11, "dest_path": [11, 85], "safemod": [12, 55], "incomplete_startup": 12, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 83, 90, 95], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "settings_read": 13, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "sort": [13, 37, 42, 80, 82, 92, 95], "changelog": [13, 82], "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "thirdparti": [13, 37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_id": 13, "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "plugin_nam": [13, 54, 90], "plugin_announc": [13, 37, 82], "announc": [13, 30, 56], "navbar": [13, 37, 79, 82, 90, 95], "systemmenu": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "section_print": [13, 37, 82], "terminalfilt": [13, 37, 79, 82], "gcodescript": [13, 37, 47, 52, 82, 92], "section_featur": [13, 37, 82], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "accesscontrol": [13, 37, 48, 79, 82, 93], "gcodevisu": [13, 37], "section_octoprint": [13, 37, 82], "plugin_log": [13, 37, 82], "plugin_softwareupd": [13, 37, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "section_plugin": [13, 37], "plugin_action_command_prompt": 13, "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "action_command_prompt": [13, 21], "plugin_curalegaci": 13, "legaci": [13, 14, 77, 90, 96], "curalegaci": [13, 14, 37], "sidebar": [13, 20, 37, 79, 82, 95, 97], "plugin_printer_safety_check": 13, "safeti": [13, 28, 34], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "printer_safety_check": [13, 34], "gcodeview": [13, 29, 37], "viewer": [13, 30, 38, 48, 56, 97], "userset": [13, 37, 79, 82, 95], "beta": [13, 89], "sizethreshold": [13, 29, 37], "mobilesizethreshold": [13, 29, 37], "timelapsetmp": 13, "timelapse_tmp": [13, 37, 79, 82], "settingsplugin": [13, 90, 92, 93, 94], "subtre": [13, 78, 95], "portopt": 13, "baudrateopt": 13, "timeoutconnect": 13, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutdetect": 13, "timeoutcommun": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "temperaturetargetset": [13, 37, 79, 82], "timeoutsdstatu": 13, "sdstatu": [13, 37, 79, 82, 84], "maxtimeoutsidl": 13, "maxcommunicationtimeout": [13, 37, 79, 82], "idl": [13, 37, 79, 82], "maxtimeoutsprint": 13, "maxtimeoutslong": 13, "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "streamurl": 13, "snapshoturl": 13, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "ffmpegpath": 13, "ffmpeg": [13, 37, 47, 79, 82], "hand": [14, 32, 42, 48, 92, 95], "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "multi": [14, 52, 92, 95], "displaynam": [14, 33, 79, 82], "qualiti": [14, 81], "medium_qu": 14, "medium": 14, "quick_test": 14, "bottom_layer_spe": 14, "bottom_thick": 14, "brim_line_count": 14, "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "layer": [14, 39, 40, 47, 48, 81, 85, 92], "skirt": 14, "layer_height": 14, "skirt_line_count": 14, "succe": [14, 70, 85], "anywai": 14, "incl": [14, 92], "samedevic": 14, "devic": [14, 25, 37, 48, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "strong": 15, "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "disrupt": [15, 54], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 95, 96], "reboot": 15, "divid": [15, 37, 40, 81, 82, 96], "malform": 15, "zero": [15, 86], "expos": [15, 24, 33, 48, 91], "menu": [15, 37, 55, 82, 89, 90, 92], "programmat": [15, 95], "realli": [15, 33, 37, 48, 55, 82, 90], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "async": [15, 37, 83, 92], "timelapse_list": 16, "timelapse_delet": 16, "timelapse_manage_unrend": 16, "across": [16, 40, 46, 58, 97], "timelapse_admin": 16, "thumbnail": 16, "zchang": [16, 37, 47, 79, 82], "postrol": [16, 37, 79, 82], "roll": [16, 37, 82], "fp": [16, 37, 79, 82], "frame": [16, 17, 37, 47, 82, 92, 96], "video": [16, 17, 37, 82, 95], "retractionzhop": [16, 37, 79, 82], "hop": [16, 37, 82], "mindelai": 16, "interv": [16, 24, 34, 37, 46, 79, 82, 86], "vase": 16, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "renderafterprint": [16, 37, 79, 82], "shot": 16, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "check_typ": [17, 74], "dir": [17, 37], "check_access": [17, 74], "r": [17, 37, 74, 77, 80, 83, 92], "w": [17, 24, 46, 95], "allow_create_dir": 17, "check_writable_dir": 17, "writabl": [17, 78, 79], "small": [17, 42, 52, 90, 92, 95, 96], "testballoon": 17, "txt": [17, 24, 25, 90, 95], "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "validssl": 17, "ssl": [17, 37, 82, 83], "basicauth": 17, "digestauth": 17, "digest": 17, "bearerauth": 17, "199": 17, "299": 17, "redirect": [17, 30, 82, 83, 95], "399": 17, "client_error": 17, "499": 17, "server_error": 17, "599": 17, "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "base64": [17, 74], "content_type_whitelist": 17, "imag": [17, 37, 47, 74, 82, 95, 96], "plain": [17, 57, 83], "content_type_blacklist": 17, "togeth": [17, 51, 78, 82, 90], "broader": 17, "whitelist": [17, 86], "disallow": [17, 83], "png": [17, 47], "blacklist": [17, 37, 79, 80, 82, 86], "reach": [17, 51, 56, 82, 92], "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "ip": [17, 25, 33, 37, 47, 48, 82, 83], "tcp": 17, "udp": [17, 74], "hostnam": [17, 37, 82, 91], "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "dn": [17, 25, 37, 82], "lookup": [17, 83], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "remot": [17, 33, 37, 47, 82, 83, 90, 92], "lan": [17, 48], "subnet": [17, 37, 48, 82], "cidr": [17, 37, 82], "typeok": 17, "missing_fil": 17, "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "gif": [17, 74, 92], "r0lgodlhaqabaiaaaaaaap": 17, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "reachabl": [17, 25, 48, 74, 92, 95], "53": [17, 37, 74, 82, 90], "192": [17, 37, 48, 82], "168": [17, 37, 48, 82], "is_lan_address": 17, "16": [17, 33, 82, 92], "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "checktyp": 17, "overal": [17, 84], "inde": 18, "genuin": 18, "firstrun": [19, 37, 79, 82, 95], "were": [19, 47, 55, 78, 90, 92, 95, 96], "skip": [19, 29, 37, 82, 83, 95], "wizardplugin": [19, 93, 97], "on_wizard_finish": [19, 95], "seen": [19, 90, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "plugin_action_command_notification_show": 20, "These": [20, 37, 42, 51, 52, 82, 88, 95], "shown": [20, 37, 82, 95, 97], "popup": [20, 81], "panel": [20, 24, 37, 82, 95, 97], "clear": [20, 49, 90, 92], "plugin_action_command_notification_clear": 20, "enable_popup": 20, "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "hello": [20, 24, 37, 82, 86, 92, 93, 95], "world": [20, 37, 86, 90, 92, 95], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "action_command_notif": 20, "choos": 21, "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "proceed": [21, 48, 90], "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "choic": [21, 39], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "enable_emergency_send": 21, "jump": 21, "queue": [21, 78, 86, 92, 94, 95, 96], "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "enable_sign": 21, "p1": 21, "m876": 21, "prompt_begin": 21, "prompt_choic": 21, "prompt_button": 21, "prompt_show": 21, "tell": [21, 42, 78, 88, 90, 92, 93], "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "prompt_end": 21, "unload": [21, 79, 80, 87, 88], "swap": 21, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 95, 97], "complic": [21, 90], "runout": 21, "abort": [21, 23, 50, 78, 92, 95], "channel": [22, 26, 33, 41, 89], "rss": 22, "atom": 22, "notif": [22, 30, 33, 37, 55, 56, 82], "reader": 22, "preconfigur": [22, 83, 92], "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "uniqu": [22, 26, 29, 34, 81, 90, 95], "prioriti": [22, 37, 78, 82], "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "unus": [22, 23, 37, 82, 95], "act": [22, 33, 37, 82, 90, 92, 97], "enabled_channel": 22, "forced_channel": 22, "_import": 22, "sparingli": [22, 81, 88], "channel_ord": 22, "ttl": [22, 33, 37, 79, 82], "live": [22, 32, 33, 37, 82, 92, 96], "minut": [22, 33, 37, 82], "hour": [22, 82, 89, 92], "display_limit": 22, "summary_limit": 22, "interact": [23, 37, 49, 66, 82, 90, 97], "behalf": [23, 92], "administr": [23, 42, 48, 90, 92, 95], "ask": [23, 82], "blown": [23, 51, 52, 82], "light": [23, 40], "weight": [23, 37, 82], "implementat": 23, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "auth_dialog": 23, "At": [23, 44, 57, 78], "appkei": [23, 82, 95], "fall": [23, 24, 92, 95, 96], "insensit": [23, 33, 83, 86], "grant": [23, 47, 48], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "app_token": 23, "user_token": 23, "plugin_appkeys_gr": 23, "plugin_appkeys_admin": [23, 92], "belong": [23, 33, 85, 90, 95], "fresh": [23, 37, 82, 83, 90], "awesom": [23, 90, 92, 95], "app_id": 23, "user_id": [23, 83], "api_kei": 23, "abcdef1234567890": 23, "revoc": 23, "owner": [23, 47], "getkei": 23, "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "getallkei": 23, "generatekei": 23, "revokekei": 23, "revokekeyforapp": 23, "requestforus": 23, "checkdecis": 23, "conveni": [23, 80, 84, 90], "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "goe": [23, 52, 92], "reject": [23, 37, 57, 82], "some_us": 23, "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "our": [23, 78, 83, 88, 90, 92, 95, 97], "u": [23, 25, 90], "restor": [24, 48], "easi": [24, 33, 40, 90, 95, 96], "migrat": [24, 41, 56, 84, 93, 95], "newli": [24, 42, 48, 80, 89], "loss": 24, "As": [24, 34, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "adher": [24, 41, 42, 45], "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "restore_unsupport": 24, "environ": [24, 33, 34, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "octoprint_backup_restore_unsupport": 24, "touch": [24, 25, 32, 37, 48, 56, 82, 90], "best": [24, 81, 90, 92, 96], "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "subsystem": [24, 80, 88, 89, 94, 95], "exit": [24, 33, 36, 37, 92, 96], "combin": [24, 48, 83, 92, 95], "cronjob": 24, "cli": [24, 38, 56, 79, 93], "plugin_backup_backup_cr": 24, "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "additional_excludes_hook": 24, "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95], "kwarg": [24, 32, 33, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 92, 95], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "react": [24, 34, 54, 80, 87, 90, 92, 95], "foo": [24, 83, 86, 92, 95], "o": [24, 37, 43, 46, 82, 86, 92, 95], "io": [24, 26, 78, 83], "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "backupexcludetestplugin": 24, "octoprintplugin": [24, 79, 80, 92, 94, 95], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "join": [24, 78, 83, 95], "get_plugin_data_fold": [24, 79, 80, 94, 95], "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_hooks__": [24, 32, 33, 88, 92], "before_backup_hook": 24, "after_backup_hook": 24, "before_restore_hook": 24, "after_restore_hook": 24, "export": [24, 32, 91], "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "backupplugin": 24, "create_backup_help": 24, "get_help": [24, 79, 80, 91], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "claus": 24, "delete_backup_help": 24, "examplebackup": 24, "silent": [24, 37, 78, 82, 83, 84], "verifi": [24, 83, 89, 95], "unavail": 24, "offici": [24, 32, 54, 56, 90, 93, 96], "homepag": [24, 90], "reinstal": [24, 33, 90], "latest": [24, 33, 42, 49], "ssdp": [25, 91], "upnp": 25, "known": [25, 37, 47, 50, 52, 78, 82, 92, 95], "bonjour": 25, "avahi": 25, "microsoft": 25, "icon": [25, 32, 33, 95, 97], "explor": 25, "frontend": [25, 51, 87, 92, 93, 95, 97], "safari": 25, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89, 90], "brows": [25, 42, 91], "scan": 25, "discov": [25, 80, 90, 95], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "publicport": 25, "public": [25, 33, 48, 56, 90], "pathprefix": 25, "usessl": 25, "httpusernam": 25, "httppassword": 25, "upnpuuid": 25, "uuid": 25, "autogener": 25, "vendor": [25, 32], "vendorurl": 25, "obligatori": [25, 95], "txt_record": 25, "publish": [25, 33, 89, 90, 91, 95], "eth0": [25, 48], "443": 25, "_someservic": 25, "field1": 25, "value1": [25, 40, 86], "field2": 25, "value2": [25, 86], "scheme": [25, 37, 41, 82, 83], "sentri": 26, "gather": 26, "especi": [26, 40, 90, 95, 96], "valuabl": [26, 34], "candid": [26, 29, 33, 34, 92], "rc": [26, 33, 41], "stabl": [26, 29, 33, 37, 41, 42, 82], "kindli": 26, "servic": [26, 30, 37, 48, 95, 96], "complianc": 26, "privaci": [26, 34, 37, 80, 88], "polici": [26, 34, 80, 88], "enabled_unreleas": 26, "unreleas": [26, 29], "unique_id": [26, 34], "errortrack": 26, "project": [27, 28, 42, 90, 96], "cycl": [27, 28, 47, 52], "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90, 95], "formerli": [28, 31], "alex": 29, "ustyantsev": 29, "ever": [29, 35, 37, 48, 81, 82, 95], "2013": [29, 35, 48], "extract": [29, 35, 80, 83, 92, 95], "skipuntilthi": 29, "search": 29, "prime": [29, 52], "preview": [29, 41], "backup": [30, 39, 48, 56, 79, 84, 93, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "discoveri": [30, 39, 56, 88, 91], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "1393158814": 31, "43712": 31, "1392628936": 31, "2014": 31, "17": [31, 90, 95, 96], "13205": 31, "1798419": 31, "12237201408": 31, "listlog": 31, "deletelog": 31, "downloadlog": 31, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "uninstal": [32, 34, 55, 80, 87], "whl": 32, "archiv": [32, 33, 54, 90], "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "jneilliii": 32, "bedlevelvisu": 32, "master": [32, 33, 41, 42, 54, 83, 90, 95], "eyal0": 32, "printtimegeniu": 32, "logic": [32, 51, 80, 82, 83, 95], "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "littl": [32, 33, 90, 95], "wrench": [32, 33], "upper": [32, 33, 70, 92, 95], "corner": [32, 33, 81, 90], "repository_ttl": 32, "1440": [32, 33, 82], "notic": [32, 90, 95], "notices_ttl": 32, "360": [32, 33], "shouldn": [32, 33, 48, 90], "pip_arg": 32, "pip_force_us": 32, "dependency_link": [32, 90], "hidden": [32, 42, 77, 79, 80, 84, 97], "plugin_pluginmanager_install_plugin": 32, "source_typ": [32, 47], "plugin_pluginmanager_uninstall_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_disabled_plugin": 32, "reconnect_hooks_hook": 32, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "exampleplugin": 32, "some_custom_hook": 32, "some_other_custom_hook": 32, "notifi": [33, 57, 92, 95], "themselv": [33, 39, 88, 92, 95, 97], "switch": [33, 42, 51, 81, 90, 92, 96, 97], "git": [33, 42, 45, 54, 90, 95], "commit": [33, 41, 42, 45], "fire": [33, 47, 92, 95, 97], "navig": [33, 37, 82, 90, 95, 97], "therein": [33, 42, 92, 96], "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "target_vers": 33, "checkout": [33, 42, 90], "pi": [33, 48, 90, 96], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "raspberri": [33, 48, 90], "guid": [33, 42, 82, 96], "bleed": [33, 41], "edg": [33, 41, 46], "temporarili": [33, 95, 96], "internet": [33, 47, 48], "24h": 33, "pend": [33, 80, 86, 92], "leav": [33, 37, 82, 86, 90, 95], "reserv": [33, 41], "github_releas": 33, "foosel": 33, "repo": 33, "pip_command": 33, "cache_ttl": 33, "notify_us": 33, "pisupport": 33, "ignore_throttl": 33, "mb": [33, 39], "minimum_free_storag": 33, "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "check_overlay_url": 33, "update_check_overlai": 33, "6h": 33, "check_overlay_ttl": 33, "github_commit": 33, "regularli": [33, 54], "doc": [33, 37, 42, 48, 52, 82, 95], "en": [33, 82, 90], "pro": 33, "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_us": 33, "bitbucket_password": 33, "prereleas": 33, "prerelease_branch": [33, 89], "commitish": 33, "target_commitish": 33, "stable_branch": [33, 89], "prerelease_channel": 33, "stable_channel": 33, "versionad": 33, "release_compar": 33, "compar": [33, 83, 86, 92, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "comparison": 33, "packag": [33, 54, 87, 88, 90, 93, 94, 96], "newer": [33, 42, 92], "semant": [33, 45, 52, 90], "semantic_vers": 33, "unequ": 33, "api_us": 33, "privat": 33, "api_password": 33, "hint": [33, 90, 95, 96], "ssh": [33, 48], "accord": [33, 37, 47, 85, 90], "my_us": 33, "my_repo": 33, "git_commit": 33, "checkout_fold": 33, "pypi_releas": 33, "pypi": [33, 54], "httpheader": 33, "etag": [33, 83, 95], "header_url": 33, "avoid": [33, 42, 48, 92, 96], "duplic": [33, 95], "single_file_plugin": 33, "header_nam": 33, "header_method": 33, "header_prefix": 33, "jsondata": 33, "command_lin": 33, "stdout": [33, 39, 86], "python_check": 33, "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "always_curr": 33, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "current_vers": 33, "never_curr": 33, "local_vers": 33, "remote_vers": 33, "ing": [33, 96], "impli": 33, "pip_cwd": 33, "force_reinstal": 33, "guarante": [33, 61, 81, 90, 95], "re": [33, 81, 82, 92, 95], "update_script": 33, "update_fold": 33, "python_updat": 33, "sleep_a_bit": 33, "durat": [33, 37, 82], "countdown": 33, "meantim": 33, "correctli": [33, 37, 48, 52, 55, 82], "devel": [33, 37, 41, 42, 79, 82, 90], "someplugin": 33, "declar": [33, 77, 80, 87, 91, 92, 95, 97], "mainten": [33, 41, 45, 96], "tag": [33, 45, 81, 90, 92], "And": [33, 46, 48, 92], "gist": 33, "somegist": 33, "whenev": [33, 48, 55, 95], "alongsid": 33, "githubusercont": [33, 42], "gistid": 33, "my_plugin": 33, "bit": [33, 37, 40, 48, 90, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "pick": [33, 90, 92], "around": [33, 37, 51, 81, 82, 90, 95], "lot": [33, 37, 40, 57, 82, 92], "higher": [33, 70, 95], "pure": [33, 95], "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "plugin_softwareupdate_update_succeed": 33, "succeed": 33, "from_vers": 33, "to_vers": 33, "plugin_softwareupdate_update_fail": 33, "update_config_hook": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "signatur": [33, 57, 85, 86, 92], "get_latest": 33, "checker": [33, 94], "perform_upd": 33, "fiction": 33, "updateplugindemo": 33, "get_update_inform": [33, 88, 89], "_plugin_nam": [33, 79, 80, 94], "displayvers": 33, "_plugin_vers": [33, 79, 80, 94], "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "insight": [34, 90], "mani": [34, 37, 46, 66, 81, 82, 92], "metric": 34, "earli": 34, "better": [34, 37, 40, 90], "tailor": 34, "ping": 34, "15min": 34, "granular": [34, 48, 92, 95], "unlock": 34, "commerror": 34, "printjob": 34, "octoprint_tracking_dis": 34, "ci": [34, 41], "simul": [35, 37, 46], "quirk": 35, "heavili": 35, "virtual_print": [35, 46, 92], "manipul": [36, 49, 92], "append_valu": 36, "behind": [36, 37, 82, 90, 92], "insert_valu": 36, "insert": [36, 80], "remove_valu": 36, "appdata": [37, 39, 51, 52, 54, 55, 84, 89, 90], "deviat": 37, "filebas": [37, 82], "usermanag": [37, 79, 80, 82, 83, 92, 94], "filebasedusermanag": [37, 82, 92], "userfil": [37, 79, 82], "localnetwork": [37, 48, 79, 82], "autologina": [37, 48, 79, 82], "autologinloc": [37, 48, 79, 82], "logon": [37, 82], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "googl": [37, 82], "haproxi": [37, 82], "wiki": [37, 49, 54, 90], "forwardfor": 37, "127": [37, 48, 74, 82, 88, 92], "24": [37, 82, 89, 92], "trust": [37, 48, 82, 83], "front": [37, 82, 96], "lock": [37, 81, 82], "down": [37, 47, 48, 78, 82, 84, 95, 96], "trustbasicauthent": [37, 79, 82, 83], "caution": [37, 48, 82], "checkbasicauthenticationpassword": [37, 79, 82], "proxi": [37, 82, 83, 92], "trustremoteus": [37, 79, 82, 83], "convei": [37, 82], "remoteuserhead": [37, 79, 82], "remote_us": [37, 82], "addremoteus": [37, 79, 82], "impact": [37, 82], "defaultreauthenticationtimeout": [37, 79, 82], "some_vers": 37, "pubkei": 37, "rsa": 37, "tweak": 37, "violet": [37, 79, 82], "transpar": [37, 82, 97], "acryl": [37, 82], "colortranspar": [37, 79, 82], "showinternalfilenam": [37, 79, 82], "prepend": [37, 57, 92], "plugin_pi_support": [37, 82], "plugin_firmware_check": 37, "plugin_gcodeview": [37, 82], "plugin_appkei": [37, 82], "plugin_backup": [37, 82], "plugin_track": [37, 82], "plugin_errortrack": [37, 82], "plugin_corewizard_acl": [37, 82], "critic": [37, 47, 79, 82], "defaultlanguag": [37, 79, 82], "reorder": 37, "plugin_": [37, 80, 90, 92, 95], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "redefin": [37, 39], "plugin_helloworld": 37, "fan": [37, 51, 52, 82, 88, 92], "layout": [37, 51, 79, 82], "horizont": [37, 51, 79, 82, 90], "parametric_command": 37, "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "255": [37, 48, 51, 82], "m107": [37, 51, 52, 88, 92], "rerend": [37, 82], "preemptiv": [37, 79, 82, 95], "stylesheet": [37, 79, 82, 90, 95], "product": [37, 80, 82, 92], "compil": [37, 81, 82, 90], "css": [37, 42, 79, 82, 92, 93, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "asset": [37, 62, 82, 90, 94, 95], "minifi": [37, 79, 82], "webasset": [37, 62, 79, 82, 90], "reduc": [37, 82, 90, 95], "minif": [37, 82], "regardless": [37, 62, 82, 87, 92, 95, 96], "minify_plugin": [37, 79, 82], "clean_on_startup": [37, 79, 82], "anim": [37, 82], "showloadinganim": [37, 79, 82], "compens": [37, 82], "fact": [37, 40, 81, 82, 92], "accuraci": [37, 82], "statsweighinguntil": [37, 79, 82], "elaps": [37, 47, 81, 82, 92], "far": [37, 48, 52, 53, 82, 83, 90, 95], "validityrang": [37, 79, 82], "dumb": [37, 82], "forcedumbfromperc": [37, 79, 82], "forcedumbaftermin": [37, 79, 82], "30": [37, 82, 86, 90], "fluctuat": [37, 82], "stablethreshold": [37, 79, 82], "60": [37, 82, 86, 92], "shell": [37, 42], "consum": [37, 56, 92], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "lcd": [37, 82], "m115": [37, 46, 47, 92], "m117": [37, 46, 47, 51, 82, 92], "g28": [37, 47, 51, 82], "logfil": [37, 80, 97], "graph": [37, 82], "temperaturegraph": [37, 79, 82], "sdsupport": [37, 79, 82], "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "poll": [37, 82, 92], "watch": [37, 42, 79, 82, 95], "pollwatch": [37, 79, 82], "modelsizedetect": [37, 79, 82], "printcancelconfirm": [37, 79, 82], "uppercas": [37, 82, 92], "autouppercaseblacklist": [37, 79, 82], "m118": [37, 82], "g91": [37, 51, 52, 82, 92], "influenc": [37, 82, 92, 95], "g90influencesextrud": [37, 79, 82], "univers": [37, 82], "filesystem": [37, 82, 83], "fine": [37, 46, 57, 81, 82, 90, 96], "revert": [37, 47, 82], "older": [37, 41, 82, 95], "enforcereallyuniversalfilenam": [37, 79, 82], "temporari": [37, 82, 83, 85], "tmp": [37, 82, 83], "virtualsd": [37, 79, 82], "mount": 37, "quickli": [37, 55, 90, 96], "resid": [37, 80, 87, 92], "slicingprofil": [37, 79, 82, 85, 95], "pertain": 37, "saniti": [37, 82, 92], "maxextrud": [37, 79, 82], "throttle_normalprio": [37, 79, 82], "01": [37, 46, 82, 90], "throttle_highprio": [37, 79, 82], "mobil": [37, 90, 95], "2mb": 37, "2097152": [37, 39], "20mb": 37, "20971520": 37, "_disabl": [37, 82], "_forcedcompat": [37, 82, 96], "tier": [37, 82], "_sortingord": [37, 82], "some_hook": 37, "some_other_hook": 37, "some_set": [37, 40, 95], "some_other_set": 37, "defaultprofil": [37, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "beforeprintstart": [37, 52, 79, 82, 92], "afterprintcancel": [37, 52, 79, 82], "motor": [37, 48, 52, 82], "nm84": [37, 82], "disable_hotend": [37, 52, 82], "nm140": 37, "nm106": [37, 82], "afterprintdon": [37, 52, 79, 82], "afterprintpaus": [37, 52, 92], "beforeprintresum": [37, 52], "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "m104": [37, 52, 82], "endfor": [37, 51, 52, 82, 92], "decreas": [37, 70, 82], "experienc": [37, 39, 82], "sec": 37, "communicationbusi": [37, 79, 82], "dead": [37, 82], "max": [37, 51, 79, 80, 82, 83], "written": [37, 80, 82, 83, 96], "maxwritepass": [37, 79, 82], "glob": [37, 82, 92], "additionalport": [37, 79, 82], "myprintersymlink": 37, "baud": [37, 47, 82], "additionalbaudr": [37, 79, 82], "123456": 37, "becaus": [37, 40, 62, 82, 83, 95], "m0": [37, 47, 82], "m1": [37, 47, 82], "blockedcommand": [37, 79, 82], "m600": [37, 47, 82], "ignoredcommand": [37, 79, 82], "pausingcommand": [37, 79, 82], "m25": [37, 82], "dwell": [37, 47, 82], "longrunningcommand": [37, 79, 82], "g4": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "m400": [37, 82], "m226": [37, 47, 82], "checksum": [37, 46, 82], "m110": [37, 82, 92], "checksumrequiringcommand": [37, 79, 82], "handshak": [37, 82, 83], "n0": [37, 82], "simpli": [37, 42, 48, 52, 95, 96], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "hellocommand": [37, 79, 82], "disconnectonerror": [37, 79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "invalu": [37, 82], "logresend": [37, 79, 82], "waitforstartonconnect": [37, 79, 82], "capabl": [37, 46, 79, 82, 93], "waittoloadsdfilelist": [37, 79, 82], "linenumb": [37, 46, 82], "repeti": [37, 46, 82], "alwayssendchecksum": [37, 79, 82], "express": [37, 39, 51, 81, 82, 86, 92, 95], "gm": [37, 82], "sendchecksumwithunknowncommand": [37, 79, 82], "unknowncommandsneedack": [37, 79, 82], "swallowokafterresend": [37, 79, 82], "sdrelativepath": [37, 79, 82], "sdalwaysavail": [37, 79, 82], "style": [37, 42, 46, 48, 51, 82, 93, 95], "targetextr0": [37, 46, 82], "m105": [37, 46, 82, 92], "repetiertargettemp": [37, 79, 82], "heatup": [37, 82], "externalheatupdetect": [37, 79, 82], "ident": [37, 82, 95], "ignoreidenticalresend": [37, 79, 82], "ignoredidenticalresend": 37, "identicalresendscount": 37, "supportfascommand": [37, 79, 82], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "firmwaredetect": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "supportresendswithoutok": [37, 79, 82], "talk": [37, 62, 82], "latin_1": [37, 82], "codec": [37, 82], "shut": [37, 47, 82, 95], "enableshutdownactioncommand": [37, 79, 82], "m29": [37, 46, 82], "buggi": [37, 82], "triggerokform29": [37, 79, 82], "resendratiothreshold": [37, 79, 82], "autoreport": [37, 82], "autoreport_temp": [37, 46, 79, 82], "shorten": [37, 82], "busy_protocol": [37, 79, 82], "bind": [37, 82, 90, 95, 97], "5000": [37, 82, 84], "startonceinsafemod": [37, 55, 79, 82], "incomplet": [37, 82, 97], "ignoreincompletestartup": [37, 79, 82], "secret": [37, 82], "encrypt": [37, 82], "randomli": [37, 82], "secretkei": [37, 79, 82], "somesecretkei": 37, "nginx": [37, 82, 83], "apach": [37, 82], "reverseproxi": [37, 79, 82], "prefixhead": [37, 79, 82], "schemehead": [37, 79, 82], "hosthead": [37, 79, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "said": [37, 47, 48, 82], "prefixfallback": [37, 79, 82], "schemefallback": [37, 79, 82], "hostfallback": [37, 79, 82], "trustlocalhostproxi": [37, 79, 82], "trustedproxi": [37, 79, 82], "ensur": [37, 42, 48, 54, 55, 77, 78, 80, 81, 82, 83, 86, 90, 92, 95, 96], "embed": [37, 82, 90, 95], "samesit": [37, 79, 82, 83], "allowfram": [37, 79, 82], "lax": [37, 79, 82], "strict": [37, 40, 79, 82, 86], "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "www": [37, 82, 83, 86], "chromestatu": [37, 82], "5088147346030592": [37, 82], "5633521622188032": [37, 82], "3482": [37, 82], "suffix": [37, 57, 82, 83, 84, 92, 95], "nifti": [37, 82], "memori": [37, 82, 83], "rewrit": [37, 82, 83, 92], "incom": [37, 70, 82, 83, 95], "1gb": [37, 82], "maxsiz": [37, 79, 82, 86], "1073741824": [37, 82], "namesuffix": [37, 79, 82], "pathsuffix": [37, 79, 82], "100kb": [37, 82, 92], "102400": [37, 82], "serverrestartcommand": [37, 79, 82], "sudo": [37, 42, 48, 96], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "h": 37, "localpipcommand": [37, 79, 82], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "concern": [37, 45], "aka": [37, 40], "pluginblacklist": [37, 79, 82], "diskspac": [37, 79, 82], "threshold": [37, 82, 83], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "spars": [37, 82], "500mb": [37, 82], "63488000": 37, "200mb": [37, 82], "209715200": [37, 82], "preemptivecach": [37, 79, 82, 92], "dai": [37, 82], "ipcheck": [37, 79, 82], "notat": [37, 82], "trustedsubnet": [37, 79, 82], "baseurl": [37, 57, 58, 62, 70], "mention": [37, 49, 52, 88, 90, 96], "coupl": [37, 41, 70, 90], "emb": [37, 48, 62, 95], "build": [37, 43, 52, 78, 90, 97], "domain": [37, 57, 82, 83], "refus": [37, 78, 96], "insecur": [37, 48, 82], "ticket": 37, "twitter": 37, "solv": [37, 81, 96], "ship": [37, 54, 55, 82], "scari": [37, 48], "defaultslic": [37, 79, 82], "dropdown": 37, "desir": [37, 42, 49, 92], "ab": [37, 82], "210": [37, 82, 92], "pla": [37, 82], "180": [37, 82], "suppress": [37, 47, 81, 82, 92, 95], "pbn": [37, 82], "bclpr": [37, 82], "m27": [37, 82, 92], "echo": [37, 46, 82, 92, 95], "mjpg": [37, 82], "streamer": [37, 82], "binari": [37, 42, 57, 82, 90, 95, 96], "rpi1": 37, "ffmpegthread": [37, 79, 82], "videocodec": [37, 82], "mpeg2video": 37, "ffmpegvideocodec": [37, 79, 82], "bitrat": [37, 79, 82], "5000k": 37, "watermark": [37, 79, 82], "movi": [37, 47, 48, 82], "flip": [37, 82], "fliph": [37, 79, 82], "vertic": [37, 51, 79, 82], "flipv": [37, 79, 82], "rotat": [37, 82], "90": [37, 66, 82], "counter": [37, 82, 86], "clockwis": [37, 82], "rotate90": [37, 79, 82], "framer": [37, 82], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "pictur": [37, 82], "captur": [37, 47, 82, 93], "capturepostrol": [37, 79, 82], "cleantmpafterdai": [37, 79, 82], "primer": [38, 48, 51, 55, 56], "rule": [38, 42, 92, 95, 96], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "formatt": [38, 42], "rollov": 39, "editor": [39, 40, 42, 48, 51, 55], "loglevel": 39, "increas": [39, 41, 45, 70, 86, 92, 95], "highest": 39, "filemanag": [39, 56, 79, 80, 93, 94, 95], "expand": [39, 92], "deem": 39, "find": [39, 41, 42, 48, 52, 53, 80, 83, 87, 89, 90, 95, 96], "serialfil": 39, "streamhandl": 39, "ext": [39, 84, 95], "sy": [39, 86, 96], "timedrotatingfilehandl": 39, "backupcount": 39, "rotatingfilehandl": 39, "maxbyt": 39, "1024": [39, 92], "no_color": 39, "referenc": [39, 92], "asctim": 39, "levelnam": 39, "log_color": 39, "statement": [39, 90, 92, 96], "pathnam": 39, "lineno": 39, "logrecord": 39, "hood": 40, "shed": 40, "excel": 40, "veri": [40, 41, 48, 54, 62, 70, 81, 83, 90, 95, 97], "quot": [40, 49], "indent": [40, 48], "illeg": 40, "whitespac": 40, "matter": [40, 93, 96], "plai": [40, 84], "comment": [40, 49, 92], "piec": [40, 88], "mistaken": 40, "syntax": [40, 51, 52, 80, 82, 90], "thumb": [40, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "liter": [40, 96], "escap": [40, 83, 90], "backslash": 40, "span": [40, 83], "break": [40, 41, 45, 48, 95], "spread": 40, "42": [40, 48, 90], "colon": 40, "bracket": 40, "phew": 40, "yai": 40, "multilin": 40, "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "four": [40, 92, 95], "paragraph": 40, "But": [40, 90], "57": 40, "organ": [40, 54], "anotherkei": 40, "explain": 40, "quit": [40, 90, 92, 96], "complex": [40, 51, 90], "visibl": [40, 95, 97], "some_valu": [40, 95], "a_list": 40, "some_flag": [40, 95], "quoted_str": 40, "setting1": 40, "setting2": 40, "subsetting21": 40, "value11": 40, "subsetting22": 40, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "the_end": 40, "guess": [40, 48, 83, 90], "unquot": 40, "saw": 40, "mind": [40, 78, 90, 92], "trick": [40, 92], "dash": 40, "clearer": 40, "ideal": [40, 47, 48], "highlight": 40, "white": 40, "tremend": [40, 41, 90], "sensit": [40, 51, 82, 95], "improv": [41, 83], "spot": 41, "rock": 41, "solid": [41, 90], "good": [41, 48, 90, 92, 96, 97], "dev114": 41, "big": [41, 95], "major": [41, 45], "kept": [41, 77], "sometim": [41, 42, 96], "stuff": [41, 51, 90], "encount": [41, 47, 80, 81, 96], "dev123": 41, "stage": [41, 42], "bugfix": 41, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "graduat": 41, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "0rc1": [41, 96], "0rc2": 41, "dev3": 41, "0rc": 41, "dev12": 41, "pop": 41, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "slowli": [41, 70], "agnost": 42, "prerequisit": 42, "setuptool": [42, 89, 90], "virtualenv": [42, 90, 96], "13": [42, 55, 70, 90], "clone": [42, 90], "cd": [42, 90], "python3": [42, 96], "venv": [42, 90, 96], "bin": [42, 54, 55, 89, 90, 96], "bash": 42, "upgrad": 42, "revis": 42, "blame": 42, "ignorerevsfil": 42, "rev": 42, "suit": 42, "pytest": 42, "rebuild": 42, "sphinx": 42, "_build": 42, "scan_dep": 42, "substitut": 42, "apt": 42, "distribut": [42, 48, 56, 93], "debian": 42, "ubuntu": 42, "libyaml": 42, "essenti": 42, "Then": [42, 48, 90, 92, 96], "pull": [42, 96], "2019": 42, "msvcv142": 42, "x64": 42, "x86": 42, "sdk": 42, "ex": [42, 96], "m": [42, 81, 86, 90, 92], "easili": [42, 48, 92], "3df4550c": 42, "eebd": 42, "496c": 42, "a189": 42, "e55f2f8b01c": 42, "commandlin": [42, 56, 79], "startingdirectori": 42, "tabtitl": 42, "suppressapplicationtitl": 42, "forum": [42, 56, 96], "myself": 42, "privileg": 42, "xcode": 42, "suitabl": 42, "el": 42, "capitan": 42, "xcodebuild": 42, "homebrew": 42, "rubi": 42, "curl": 42, "fssl": 42, "brew": 42, "ensurepip": 42, "visualstudio": 42, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "defaultinterpreterpath": 42, "formatonsav": 42, "codeactionsonsav": 42, "fixal": 42, "ruff": 42, "explicit": [42, 95, 96], "organizeimport": 42, "defaultformatt": 42, "charliermarsh": 42, "lint": 42, "pylinten": 42, "flake8en": 42, "unittesten": 42, "pytesten": 42, "task": [42, 54, 57, 80, 95], "label": [42, 47, 51, 57, 82, 90], "clean": [42, 86, 88, 95], "artifact": 42, "interpreterpath": 42, "dep": 42, "dependson": 42, "launch": [42, 44, 95], "cwd": 42, "workspacefold": 42, "prelaunchtask": 42, "summari": [42, 96], "press": [42, 51, 82, 86], "f5": 42, "ctrl": 42, "shift": [42, 90], "outdat": [42, 95, 96], "repeat": [42, 61], "modulesdkpath": 42, "projectfiledir": 42, "sadli": [42, 53, 90, 95, 96, 97], "hiccup": 42, "pyinterpreterdirectori": 42, "cmd": [42, 88, 92], "watcher": 42, "scope": [42, 83], "filepath": [42, 78], "footer": 42, "2016": [42, 92], "debugg": 42, "mac": [43, 51, 54, 89, 90], "studio": 43, "vscode": 43, "pycharm": 43, "guidelin": 43, "perfprofil": 44, "modulenotfounderror": 44, "pyinstrument": 44, "pep440": 45, "minor": 45, "contract": [45, 92], "hotfix": 45, "maintain": [45, 95], "nearest": 45, "dev68": 45, "g46c7a9c": 45, "uncommit": 45, "dirti": 45, "footnot": [45, 51, 54, 89, 90], "segment": [45, 46], "concept": [45, 56, 84, 93], "mandat": 45, "henceforth": 45, "furthermor": 46, "condit": [46, 86], "hard": [46, 54], "reproduc": [46, 55], "pane": [46, 95], "tune": 46, "behavior": 46, "okafterresend": 46, "throw": [46, 57], "forcechecksum": 46, "okwithlinenumb": 46, "numextrud": 46, "pin": 46, "pinnedextrud": 46, "34": [46, 90], "t1": [46, 92], "43": [46, 90], "includecurrenttoolintemp": 46, "m23": 46, "27": [46, 82], "includefilenameinopen": 46, "hasb": 46, "haschamb": 46, "repetierstyletargettemperatur": 46, "repetierstyleresend": 46, "inlin": [46, 51], "m20": [46, 82], "okbeforecommandoutput": 46, "smoothietemperaturereport": 46, "sdfile": 46, "files": 46, "hex": 46, "longnam": 46, "outgo": 46, "buffer": [46, 83], "waitinterv": 46, "rx": 46, "sendwait": 46, "rxbuffer": 46, "64": 46, "slot": [46, 86], "commandbuff": 46, "m112": [46, 47, 82], "supportm112": 46, "echoonm117": 46, "broken": 46, "brokenm29": 46, "supportf": 46, "firmwarenam": 46, "marlin": 46, "sendbusi": 46, "simulatereset": 46, "resetlin": 46, "mi": 46, "fill": [46, 80, 95], "runtim": [46, 87, 95, 96], "prepare_ok": 46, "preparedok": 46, "lastn": 46, "okformatstr": 46, "firmare_nam": 46, "m115formatstr": 46, "firmware_nam": [46, 92], "protocol_vers": [46, 92], "m115reportcap": 46, "autoreport_sd_statu": 46, "autoreport_po": [46, 79, 82], "emergency_pars": [46, 79, 82], "extended_m20": [46, 79, 82], "lfn_write": [46, 79, 82], "m115_geometry_report": 46, "m115reportarea": 46, "ambient": 46, "ambienttemperatur": 46, "eg": [46, 95], "m105targetformatstr": 46, "2f": 46, "m105notargetformatstr": 46, "eeprom": [46, 51, 82], "m500": 46, "enable_eeprom": 46, "m503": 46, "support_m503": 46, "nois": 46, "resend_ratio": 46, "simulated_error": 46, "resend_with_timeout": 46, "110": 46, "missing_lineno": 46, "115": 46, "checksum_mismatch": 46, "plugin_virtual_printer_seri": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "action_custom": 46, "dont_answ": 46, "go_awol": 46, "trigger_resend_lineno": 46, "trigger_resend_checksum": 46, "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "drop_connect": 46, "enqueu": [46, 66, 78, 79, 92], "sleep_aft": 46, "sleep_after_next": 46, "start_sd": 46, "select_sd": 46, "cancel_sd": 46, "misc": 46, "carri": 47, "growl": [47, 54, 90, 91], "mygrowlserv": 47, "raspi": 47, "octoprint_logo": 47, "printstart": [47, 52], "printdon": [47, 52], "printcancel": [47, 52], "__eventnam": 47, "__currentz": 47, "__filenam": 47, "NO": 47, "__filepath": 47, "__fileorigin": 47, "__progress": 47, "percent": [47, 81], "__data": 47, "__now": 47, "8601": 47, "register_custom_ev": [47, 93], "clientopen": 47, "remoteaddress": 47, "clientauth": 47, "clientclos": 47, "userloggedin": 47, "userloggedout": 47, "connectivitychang": 47, "old": [47, 48, 52, 57, 90, 95, 97], "life": [47, 90], "thermal": 47, "runawai": 47, "recov": 47, "resend_loop": 47, "start_print": [47, 79, 81], "printerstatechang": 47, "state_id": 47, "get_state_id": [47, 79, 81], "state_str": 47, "effective_select": 47, "effective_print": 47, "filead": 47, "hierarchi": [47, 57, 80], "fileremov": 47, "filemov": 47, "source_nam": 47, "destination_path": [47, 95], "destination_nam": 47, "destination_typ": 47, "updatedfil": 47, "folderad": 47, "folderremov": 47, "foldermov": 47, "printabl": [47, 92], "modif": [47, 78, 81, 84, 85, 95], "supersed": 47, "metadataanalysisstart": 47, "metadataanalysisfinish": 47, "metadatastatisticsupd": 47, "fileselect": 47, "filedeselect": 47, "transferstart": 47, "transfer": [47, 92], "transferdon": 47, "took": [47, 90], "firmwareerror": 47, "m114": [47, 51, 52, 82], "accur": 47, "fileposit": 47, "printpaus": [47, 52], "printresum": [47, 52], "scriptnam": [47, 92], "chartmark": 47, "chart": 47, "pluginname_eventtyp": 47, "styliz": 47, "short": [47, 83, 95], "word": [47, 84], "epoch": 47, "poweron": 47, "m80": [47, 92], "poweroff": 47, "m81": 47, "g0": [47, 92], "m245": 47, "alert": [47, 95], "m300": 47, "conveyor": 47, "m240": 47, "eject": 47, "m40": 47, "estop": 47, "filamentchang": 47, "m701": 47, "m702": 47, "positionupd": 47, "toolchang": 47, "commandsuppress": 47, "explan": [47, 66], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "misconfigur": 47, "invalidtoolreport": 47, "suppressedcommand": 47, "capturestart": 47, "capturedon": 47, "capturefail": 47, "caught": [47, 80], "movierend": 47, "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "returncod": [47, 86], "no_fram": 47, "slicingstart": 47, "stl_locat": 47, "gcode_loc": 47, "progressavail": 47, "slicingprogress": 47, "slicingdon": 47, "slicingcancel": [47, 79, 85, 95], "slicingfail": 47, "slicingprofilead": 47, "12": [47, 95], "slicingprofilemodifi": 47, "slicingprofiledelet": 47, "settingsupd": [47, 80], "pluginset": [47, 79, 80, 92, 94], "trigger_ev": [47, 80, 84], "printerprofilemodifi": 47, "mere": [48, 92], "customis": 48, "predefin": [48, 53, 92, 95], "aspect": [48, 82], "involv": [48, 81, 92], "plan": [48, 54, 57, 96], "measur": [48, 70], "everyon": [48, 90], "stepper": [48, 52], "publicli": [48, 95], "bypass": 48, "inconvi": 48, "isol": 48, "benefit": 48, "huge": 48, "underestim": 48, "risk": [48, 49, 95], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "unsecur": 48, "happili": 48, "harder": 48, "listen": [48, 83, 95], "someon": [48, 92], "malwar": 48, "endless": 48, "benchi": 48, "permit": 48, "improperli": 48, "compromis": 48, "extrem": 48, "sound": 48, "figur": [48, 95], "pc": 48, "mask": 48, "rout": [48, 93, 95], "grep": 48, "wlan0": 48, "awk": 48, "ipv6": 48, "sai": [48, 55, 88, 93], "youraddressrang": 48, "easiest": [48, 96], "screen": [48, 90, 95], "understand": [48, 90], "roughli": [48, 92, 96], "learn": [48, 90], "dont": 48, "central": [48, 80], "let": [48, 51, 89, 90, 92, 95], "outlin": [48, 95], "nano": 48, "salt": [48, 79, 82], "aabbccddee1234523452345": 48, "yourusernam": 48, "128": [48, 82], "everyth": [48, 52, 57, 77, 90, 96], "cp": 48, "went": [48, 57], "think": 48, "almost": 48, "certainli": [48, 90], "ipv4": [48, 82], "highli": [48, 89], "discourag": [48, 80], "regret": 48, "alon": [48, 95], "Such": 49, "preced": [49, 92], "pronterfac": 49, "he": 49, "had": [49, 50, 90, 95], "sd_insert": 49, "sd_eject": 49, "sd_updat": 49, "abus": [49, 81], "malici": 49, "comm": [49, 50, 88, 93], "elsewher": [50, 80], "contrari": [50, 57], "custom_command": 50, "atcommand": [50, 93], "jinja2": [51, 52, 62, 90, 92, 95], "hierarch": [51, 95], "hesit": 51, "slider": [51, 79, 82], "element": [51, 57, 61, 78, 90, 95, 97], "feedback": [51, 81, 97], "3000mm": 51, "x10": [51, 92], "f3000": 51, "parametr": 51, "3000": 51, "fun": [51, 93, 96], "danc": 51, "repetit": 51, "yield": [51, 78, 86, 90], "fig": [51, 55], "latter": [51, 92, 95, 97], "closer": 51, "lai": [51, 82], "bottom": [51, 82, 86], "met": [51, 82, 83, 95], "sophist": [51, 52, 82, 95], "eval": [51, 82], "controlviewmodel": [51, 82, 97], "additionalclass": [51, 79, 82], "btn": [51, 82, 90], "tick": [51, 82], "rendit": [51, 82, 95], "hi": [51, 82, 92], "accident": [51, 82], "aren": [51, 52], "getadditionalcontrol": [51, 97], "view": [51, 83, 84, 86, 90, 92, 95, 97], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "center_x": 51, "center_i": 51, "speed_x": 51, "speed_i": 51, "speed_z": 51, "p500": 51, "z10": 51, "z1": 51, "endif": [51, 52, 82], "x2": 51, "y2": 51, "x0": [51, 52], "y0": [51, 52], "occas": 52, "jinja": [52, 90, 92, 95], "beforeprinterdisconnect": [52, 79, 82], "unexpect": [52, 90], "cut": [52, 82, 83], "beforetoolchang": [52, 79, 82], "tn": 52, "aftertoolchang": [52, 79, 82], "emit": [52, 93], "capit": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptafterprintdonefinish": 52, "reusabl": 52, "spectrum": 52, "last_posit": 52, "last_temperatur": 52, "degre": 52, "celsiu": [52, 81], "necessarili": [52, 81, 92], "last_fanspe": 52, "myplugin": [52, 57, 88, 92, 95, 96], "myvari": [52, 92], "pause_posit": 52, "advanc": [52, 89, 90], "pause_temperatur": 52, "pause_fanspe": 52, "cancel_posit": 52, "cancel_temperatur": 52, "cancel_fanspe": 52, "multitud": 52, "peopl": [52, 90], "m84": 52, "disable_b": [52, 82], "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "m140": [52, 82], "inact": 52, "uncom": 52, "xyze": 52, "m83": 52, "slightli": [52, 57, 83], "upward": 52, "f4500": 52, "m82": 52, "e5": 52, "xyz": 52, "g92": 52, "design": [52, 90], "autologin": [53, 82], "diagnos": 54, "observ": [54, 55, 90, 92], "unpack": 54, "oprint": [54, 55, 89, 90, 96], "advent": 55, "becam": [55, 86], "appar": 55, "tracker": 55, "easier": [55, 90], "identif": 55, "introduc": [55, 81], "culprit": 55, "yamlpatch": 55, "forget": [55, 62, 78, 89, 90, 96], "wherev": 55, "remind": 55, "snappi": 56, "3d": 56, "gnu": 56, "affero": 56, "v3": 56, "Its": 56, "wouldn": 56, "financi": 56, "enjoi": 56, "focus": 56, "primarili": [56, 96], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "viewmodel": [56, 93], "tutori": [56, 89, 93, 95], "schema": [56, 79], "tornado": [56, 79, 92], "instanti": [57, 62, 88, 90, 92, 97], "registr": [57, 78, 89, 92, 96], "registerplugincompon": [57, 62], "unsolv": 57, "concurr": [57, 86], "architectur": 57, "intact": 57, "factori": [57, 80, 84, 93], "typeof": 57, "amd": 57, "var": [57, 58, 61, 62, 70, 74, 90, 97], "myplugincli": 57, "prototyp": 57, "somefunct": 57, "getbaseurl": [57, 62], "canon": [57, 86], "trail": [57, 78], "getrequesthead": [57, 62], "entail": 57, "datatyp": 57, "ajaxwithdata": [57, 62], "getwithqueri": [57, 62], "OR": 57, "getblueprinturl": [57, 62], "contenttyp": 57, "postjson": [57, 62], "somekei": 57, "somevalu": 57, "putjson": [57, 62], "patchjson": [57, 62], "usabl": [57, 78, 80], "selector": [57, 90], "tri": [57, 58, 70, 80, 83], "replic": [57, 92], "textstatu": 57, "formdata": 57, "blueprint": [57, 83, 92, 95], "fileinput": 57, "progressoutput": 57, "myfilenam": 57, "dat": 57, "math": 57, "round": [57, 70, 86, 92, 96], "issuecommand": [57, 62], "trivial": 57, "myendpoint": 57, "mycommand": 57, "someparamet": 57, "someotherparamet": 57, "someothervalu": 57, "getsimpleapiurl": [57, 62], "proper": [57, 90, 93, 95], "simpleapiplugin": [57, 93], "simpleapiget": [57, 62], "simpleapicommand": [57, 62], "otherparamet": 57, "othervalu": 57, "blueprintplugin": [57, 92, 93], "createrejecteddef": [57, 62], "shortcut": [57, 74, 83, 90], "defer": 57, "createcustomexcept": [57, 62], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "stack": [57, 83, 86], "subclass": [57, 78, 83, 86, 90, 92, 95], "mycustomexcept": 57, "horribli": 57, "clientclass": 57, "registri": 57, "dosometh": 57, "invalidargumenterror": [57, 62], "myusernam": [58, 70], "mypassword": [58, 70], "passivelogin": [58, 62, 70], "getset": [59, 62, 73], "getcustomcontrol": [60, 62], "sendgcod": [60, 62], "sendgcodewithparamet": [60, 62], "sendgcodescript": [60, 62], "enhanc": 60, "sendgcodescriptwithparamet": [60, 62], "preprocess": [61, 92, 95], "undefin": [61, 97], "recursivelyprintnam": 61, "isfold": 61, "_": [61, 62, 80, 90, 91, 92, 95], "child": [61, 78, 86], "listforloc": [61, 62], "truthi": 61, "createfold": [61, 62], "somefil": 61, "pathforentri": [61, 62], "entryforpath": [61, 62], "funni": 61, "somepathstofind": 61, "packed_cli": 62, "js_client": 62, "asset_url": 62, "endasset": 62, "url_for": [62, 92, 95], "lodash": 62, "lib": [62, 90], "moreov": 62, "assembl": 62, "singular": 62, "client1": 62, "octoprint1": 62, "apikey1": 62, "client2": 62, "octoprint2": 62, "apikey2": 62, "togglepaus": [62, 63], "getfullst": [62, 66], "gettoolst": [62, 66], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "selecttool": [62, 66], "setflowr": [62, 66], "getbedst": [62, 66], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "getchamberst": [62, 66], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "getsdstat": [62, 66], "initsd": [62, 66], "refreshsd": [62, 66], "releasesd": [62, 66], "getpluginset": [62, 68], "savepluginset": [62, 68], "generateapikei": [62, 68, 73, 79, 84], "listallslicersandprofil": [62, 69], "listprofilesforslic": [62, 69], "getprofileforslic": [62, 69], "addprofileforslic": [62, 69], "updateprofileforslic": [62, 69], "deleteprofileforslic": [62, 69], "onmessag": [62, 70], "removemessag": [62, 70], "sendmessag": [62, 70], "sendauth": [62, 70], "onratetoolow": [62, 70], "onratetoohigh": [62, 70], "increaser": [62, 70], "decreaser": [62, 70], "sampl": 62, "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "executecommand": [62, 71], "listrend": [62, 72], "listunrend": [62, 72], "deleteunrend": [62, 72], "renderunrend": [62, 72], "getconfig": [62, 72], "saveconfig": [62, 72], "changepassword": [62, 73], "resetapikei": [62, 73], "saveset": [62, 73], "testpath": [62, 74], "testexecut": [62, 74], "testurl": [62, 74], "testserv": [62, 74], "testresolut": [62, 74], "shorthand": 63, "2mm": 66, "cover": 66, "profileid": 69, "40": [70, 95], "rateslidingwindows": 70, "eventobj": 70, "const": 70, "userid": [70, 92], "trip": 70, "lower": [70, 81, 86, 90, 92, 95, 97], "slide": 70, "faster": 70, "slower": 70, "half": [70, 95], "unto": [73, 97], "criteria": [74, 92], "mimetyp": [74, 83], "jpeg": [74, 95], "split": [74, 78, 92], "someimag": 74, "idonotexist": 74, "anonymousus": [76, 79], "apius": [76, 79], "corruptuserstorag": [76, 79], "invalidusernam": [76, 79], "unknownrol": [76, 79], "unknownus": [76, 79], "passwordhash": 76, "asdict": [76, 79, 80], "as_dict": 76, "useralreadyexist": [76, 79], "hiddenopt": [77, 79], "param_decl": 77, "sequenc": [77, 92], "show_default": 77, "union": [77, 82, 83, 86], "confirmation_prompt": 77, "prompt_requir": 77, "hide_input": 77, "is_flag": 77, "flag_valu": 77, "allow_from_autoenv": 77, "paramtyp": 77, "show_choic": 77, "show_envvar": 77, "attr": [77, 90], "octoprintcontext": [77, 79], "configfil": [77, 84], "basedir": [77, 84], "verbos": 77, "safe_mod": 77, "bulk_opt": [77, 79], "decor": [77, 83, 86, 95], "invers": 77, "intuit": 77, "hidden_opt": [77, 79], "keyword": [77, 80, 83, 85, 86, 92, 95], "unchang": [77, 83], "param": [77, 78, 81, 83, 86, 92], "init_platform_for_cli": [77, 79], "ctx": [77, 83, 92], "subset": 77, "_identifi": [77, 79, 80, 94], "_logger": [77, 79, 80, 90, 92, 94, 95], "_connectivity_check": [77, 79, 80, 94], "_environment_detector": 77, "_event_bu": [77, 79, 80, 94], "_set": [77, 90, 91, 92, 94, 95], "init_platform": 77, "legacy_opt": [77, 79], "pass_octoprint_ctx": [77, 79, 92], "te": 77, "concaten": [77, 78, 80, 97], "set_ctx_obj_opt": [77, 79], "eager": [77, 95], "standard_opt": [77, 79], "octoprintdevelcommand": [77, 79], "multicommand": [77, 92], "get_command": [77, 79], "cmd_name": 77, "list_command": [77, 79], "subcommand": 77, "octoprintplugincommand": [77, 79, 92], "plugin_manag": [77, 79, 80, 92], "daemon_opt": [77, 79], "daemon": [77, 86, 92], "pid": 77, "run_serv": [77, 79], "v6_onli": 77, "allow_root": 77, "logging_config": 77, "ignore_blacklist": 77, "octoprint_daemon": 77, "disable_color": 77, "server_opt": [77, 79], "iknowwhatimdo": 77, "contenttypedetector": [78, 79], "detector": [78, 79], "alia": 78, "contenttypemap": [78, 79], "content_typ": [78, 79, 83, 92], "nosuchstorag": [78, 79], "abstractanalysisqueu": [78, 79, 92], "finished_callback": 78, "gcodeanalysisqueu": [78, 79, 92, 95], "analyz": [78, 94], "_do_analysi": [78, 79], "high_prior": 78, "_current": 78, "_do_abort": [78, 79], "reenqueu": 78, "priorit": 78, "queueentri": [78, 79], "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "queue_factori": 78, "invok": [78, 80, 86, 92, 95], "register_finish_callback": 78, "oneself": 78, "unregister_finish_callback": 78, "substructur": 78, "toolx": 78, "absolute_path": 78, "localfilestorag": [78, 79], "basefold": [78, 80, 95], "really_univers": 78, "sanit": [78, 79, 86, 92], "lru": 78, "minim": [78, 83, 86, 95], "overhead": [78, 92], "path_on_disk": [78, 79], "add_fil": [78, 79], "file_object": [78, 92], "allow_overwrit": [78, 85, 92, 95], "rais": [78, 80, 81, 83, 84, 85, 86, 95], "add_fold": [78, 79], "ignore_exist": 78, "add_link": [78, 79], "href": [78, 90], "analysis_backlog": [78, 79], "analys": [78, 92], "un": 78, "canonic": [78, 79], "copy_fil": [78, 79], "copy_fold": [78, 79], "file_exist": [78, 79], "file_in_path": [78, 79], "folder_exist": [78, 79], "get_additional_metadata": [78, 79], "get_lastmodifi": [78, 79], "get_metadata": [78, 79], "get_siz": [78, 79], "has_analysi": [78, 79], "join_path": [78, 79, 83], "qualifi": [78, 86], "last_modifi": [78, 79, 84], "defatul": 78, "list_fil": [78, 79], "force_refresh": 78, "dive": [78, 90], "some_sub_fold": 78, "some_fil": [78, 95], "sha1": 78, "move_fil": [78, 79], "move_fold": [78, 79], "path_in_storag": [78, 79], "opposit": 78, "unsupportedoper": 78, "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "apart": [78, 90], "remove_link": [78, 79], "deriv": [78, 83, 85, 86, 97], "slash": 78, "sanitize_nam": [78, 79], "valueerror": [78, 80, 83, 84, 85, 86], "sanitize_filenam": 78, "sanitize_path": [78, 79], "set_additional_metadata": [78, 79], "overwrit": [78, 81, 83, 90, 92, 95], "split_path": [78, 79], "storageinterfac": [78, 79], "abstractfilewrapp": [78, 79, 92], "wrapper": [78, 83, 85, 95], "iobas": 78, "diskfilewrapp": [78, 79], "preserv": 78, "lineprocessorstream": [78, 79, 92, 96], "input_stream": 78, "process_lin": [78, 79, 92, 96], "rawiobas": 78, "fly": [78, 90, 95], "flush": 78, "oserror": 78, "seekabl": [78, 79], "random": [78, 82, 92], "seek": 78, "truncat": 78, "multistream": [78, 79], "streamwrapp": [78, 79, 92], "dump": [78, 79, 83, 86], "plugin_set": [79, 80, 92], "call_plugin": [79, 80], "get_int": [79, 80, 95], "get_float": [79, 80], "get_boolean": [79, 80, 95], "set_int": [79, 80], "set_float": [79, 80], "set_boolean": [79, 80], "add_overlai": [79, 80, 84], "remove_overlai": [79, 80, 84], "get_plugin_logfile_path": [79, 80, 92], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "disable_plugin": [79, 80], "enable_plugin": [79, 80], "get_filtered_implement": [79, 80], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_plugin": [79, 80], "get_plugin_info": [79, 80], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_obsolete_hook": [79, 80], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hook_matches_hook": [79, 80], "is_obsolete_hook": [79, 80], "is_plugin_mark": [79, 80], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "mark_plugin": [79, 80], "plugin_hook": [79, 80], "register_message_receiv": [79, 80], "reload_plugin": [79, 80], "send_plugin_messag": [79, 80], "unregister_message_receiv": [79, 80], "plugininfo": [79, 80, 94], "disabling_discourag": [79, 80], "forced_dis": [79, 80], "invalid_syntax": [79, 80], "long_str": [79, 80], "looks_like_plugin": [79, 80], "needs_restart": [79, 80], "parsed_metadata": [79, 80], "privacypolici": [79, 80], "pythoncompat": [79, 80], "_basefold": [79, 80, 94], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "restartneedingplugin": [79, 80, 87, 93], "sortableplugin": [79, 80, 95], "get_sorting_kei": [79, 80, 92, 95], "_printer_profile_manag": [79, 80, 94], "_analysis_queu": [79, 80, 94], "_slicing_manag": [79, 80, 94], "_file_manag": [79, 80, 94], "_printer": [79, 80, 94], "_app_session_manag": [79, 80], "_plugin_lifecycle_manag": [79, 80], "_user_manag": [79, 80, 94], "_data_fold": [79, 80], "on_plugin_pending_uninstal": [79, 80, 87], "reloadneedingplugin": [79, 80, 87, 93], "get_connection_opt": [79, 81], "printerinterfac": [79, 80, 81, 92, 94], "can_modify_fil": [79, 81], "cancel_print": [79, 81], "change_tool": [79, 81], "feed_rat": [79, 81], "flow_rat": [79, 81], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_transport": [79, 81], "is_cancel": [79, 81], "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_oper": [79, 81], "is_paus": [79, 81], "is_print": [79, 81], "is_readi": [79, 81], "job_on_hold": [79, 81], "log_lin": [79, 81], "pause_print": [79, 81], "register_callback": [79, 81], "resume_print": [79, 81], "select_fil": [79, 81], "send_initial_callback": [79, 81], "set_job_on_hold": [79, 81], "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "toggle_pause_print": [79, 81], "unregister_callback": [79, 81], "unselect_fil": [79, 81], "valid_ax": [79, 81], "valid_heater_regex": [79, 81], "valid_heater_regex_no_curr": [79, 81], "valid_tool_regex": [79, 81], "printercallback": [79, 81, 92], "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "bedformfactor": [79, 81], "bedorigin": [79, 81], "saveerror": [79, 81], "couldnotoverwriteerror": [79, 81], "invalidprofileerror": [79, 81], "basemodel": [79, 82], "model_dump": [79, 82], "printerparamet": [79, 82], "accesscontrolconfig": [79, 82], "autologinheadsupacknowledg": [79, 82], "groupmanag": [79, 82], "groupfil": [79, 82], "permissionmanag": [79, 82], "remotegroupshead": [79, 82], "remotegroupsmap": [79, 82], "trustremotegroup": [79, 82], "apiconfig": [79, 82], "appearanceconfig": [79, 82], "closemodalswithclick": [79, 82], "coloricon": [79, 82], "fuzzytim": [79, 82], "showfahrenheitalso": [79, 82], "colorenum": [79, 82], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "containerconfig": [79, 82], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "layoutenum": [79, 82], "develcacheconfig": [79, 82], "develconfig": [79, 82], "enablecsrfprotect": [79, 82], "enableratelimit": [79, 82], "plugintim": [79, 82], "sockjsconnecttimeout": [79, 82], "usefrozendictforprinterst": [79, 82], "develwebassetsconfig": [79, 82], "stylesheetenum": [79, 82], "estimationconfig": [79, 82], "printtimeestimationconfig": [79, 82], "eventsubscript": [79, 82], "eventsconfig": [79, 82], "subscriptiontypeenum": [79, 82], "featureconfig": [79, 82], "enabledragdropupload": [79, 82], "printstartconfirm": [79, 82], "rememberfilefold": [79, 82], "uploadoverwriteconfirm": [79, 82], "folderconfig": [79, 82], "gcodeanalysisconfig": [79, 82], "bedz": [79, 82], "runat": [79, 82], "throttle_lin": [79, 82], "runatenum": [79, 82], "pluginsconfig": [79, 82], "forced_compat": [79, 82], "sorting_ord": [79, 82], "printerparametersconfig": [79, 82], "pausetrigg": [79, 82], "printerprofilesconfig": [79, 82], "gcodescriptsconfig": [79, 82], "afterprintresum": [79, 82], "beforeprintpaus": [79, 82], "scriptsconfig": [79, 82], "alwaysdetectneverenum": [79, 82], "infowarnneverenum": [79, 82], "serialcap": [79, 82], "autoreport_sdstatu": [79, 82], "serialconfig": [79, 82], "abortheatuponcancel": [79, 82], "ackmax": [79, 82], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "disablesdprintingdetect": [79, 82], "emergencycommand": [79, 82], "identicalresendscountdown": [79, 82], "ignoreemptyport": [79, 82], "lastlinebuffers": [79, 82], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "lowlat": [79, 82], "maxconsecutiveresend": [79, 82], "maxnotsdprint": [79, 82], "neversendchecksum": [79, 82], "notifysuppressedcommand": [79, 82], "resendratiostart": [79, 82], "sanitychecktool": [79, 82], "sdcancelcommand": [79, 82], "sdlowercas": [79, 82], "sendm112onerror": [79, 82], "supportwait": [79, 82], "suppresssecondhello": [79, 82], "terminallogs": [79, 82], "useparityworkaround": [79, 82], "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "baudratedetectionpaus": [79, 82], "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "posautoreport": [79, 82], "positionlogwait": [79, 82], "resendok": [79, 82], "sdstatusautoreport": [79, 82], "temperatureautoreport": [79, 82], "commandsconfig": [79, 82], "cookiesconfig": [79, 82], "diskspaceconfig": [79, 82], "ipcheckconfig": [79, 82], "onlinecheckconfig": [79, 82], "pluginblacklistconfig": [79, 82], "preemptivecacheconfig": [79, 82], "pythoneolcheckconfig": [79, 82], "pythoneolentri": [79, 82], "last_octoprint": [79, 82], "reverseproxyconfig": [79, 82], "portfallback": [79, 82], "porthead": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "samesiteenum": [79, 82], "serverconfig": [79, 82], "allowedloginredirectpath": [79, 82], "heartbeat": [79, 82, 83], "pythoneolcheck": [79, 82], "seenwizard": [79, 82], "uploadsconfig": [79, 82], "slicingconfig": [79, 82], "actionconfig": [79, 82], "async_": [79, 82], "systemconfig": [79, 82], "temperatureconfig": [79, 82], "cutoff": [79, 82], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "temperatureprofil": [79, 82], "terminalfilterentri": [79, 82], "renderafterprintenum": [79, 82], "timelapseconfig": [79, 82], "timelapseopt": [79, 82], "timelapsetypeenum": [79, 82], "webcamconfig": [79, 82], "defaultwebcam": [79, 82], "ffmpegcommandlin": [79, 82], "ffmpegthumbnailcommandlin": [79, 82], "snapshotwebcam": [79, 82], "timelapseen": [79, 82], "webcamen": [79, 82], "ratioenum": [79, 82], "four_thre": [79, 82], "sixteen_nin": [79, 82], "cansnapshot": [79, 82], "extra": [79, 82, 83, 89, 90], "snapshotdisplai": [79, 82], "webcamcompat": [79, 82], "cachebust": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamwebrtciceserv": [79, 82], "cannotstartserverexcept": [79, 83], "octoprintanonymousident": [79, 83], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "get_api_kei": [79, 83], "get_user_for_apikei": [79, 83], "get_user_for_authorization_head": [79, 83], "get_user_for_remote_user_head": [79, 83], "has_permiss": [79, 83], "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "optionsalloworigin": [79, 83], "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "validate_local_redirect": [79, 83], "lesssimplecach": [79, 83], "octoprintflaskrequest": [79, 83], "server_nam": [79, 83], "server_port": [79, 83], "octoprintflaskrespons": [79, 83], "delete_cooki": [79, 83], "set_cooki": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintsessioninterfac": [79, 83], "save_sess": [79, 83], "should_set_cooki": [79, 83], "pluginassetresolv": [79, 83], "resolve_output_to_path": [79, 83], "split_prefix": [79, 83], "prefixawarejinjaenviron": [79, 83], "settingscheckupdat": [79, 83], "build_don": [79, 83], "needs_rebuild": [79, 83], "check_lastmodifi": [79, 83], "firstrun_only_access": [79, 83], "get_cookie_suffix": [79, 83], "get_flask_user_from_request": [79, 83], "make_api_error": [79, 83], "make_text_respons": [79, 83], "no_firstrun_access": [79, 83], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "redirect_to_tornado": [79, 83], "require_credentials_checked_rec": [79, 83], "restricted_access": [79, 83], "threadsafesess": [79, 83], "remove_handl": [79, 83], "set_handl": [79, 83], "corssupportmixin": [79, 83, 92], "set_default_head": [79, 83], "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "handle_stream": [79, 83], "deprecatedendpointhandl": [79, 83, 92], "dynamiczipbundlehandl": [79, 83], "generatingdatahandl": [79, 83], "globalheadertransform": [79, 83], "largeresponsehandl": [79, 83, 92], "compute_etag": [79, 83], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "original_absolute_path": [79, 83], "set_extra_head": [79, 83], "streamed_get": [79, 83], "requestlessexceptionloggingmixin": [79, 83], "log_except": [79, 83], "staticdatahandl": [79, 83, 92], "staticzipbundlehandl": [79, 83], "systeminfobundlehandl": [79, 83], "uploadstoragefallbackhandl": [79, 83], "body_method": [79, 83], "data_receiv": [79, 83], "is_multipart": [79, 83], "on_finish": [79, 83, 86], "urlproxyhandl": [79, 83, 92], "webcamsnapshothandl": [79, 83], "wsgiinputcontain": [79, 83], "handle_request": [79, 83], "access_validation_factori": [79, 83], "enable_per_message_deflate_extens": [79, 83], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "path_validation_factori": [79, 83, 92], "default_set": [79, 84], "valid_boolean_tru": [79, 84], "overlay_kei": [79, 84], "add_path_update_callback": [79, 84], "checkbasefold": [79, 84], "config_yaml": [79, 84], "deleteapikei": [79, 84], "effective_hash": [79, 84], "effective_yaml": [79, 84], "getbasefold": [79, 80, 84], "getboolean": [79, 80, 84], "getfloat": [79, 80, 84], "getint": [79, 80, 84, 91], "last_modified_or_made_dirti": [79, 84], "listscript": [79, 84], "loadscript": [79, 84], "load_overlai": [79, 84], "remove_path_update_callback": [79, 84], "sanity_check_fold": [79, 84], "savescript": [79, 84], "setbasefold": [79, 84], "setboolean": [79, 80, 84], "setfloat": [79, 80, 84], "setint": [79, 80, 84], "warn_about_risky_set": [79, 84], "temporaryprofil": [79, 85], "slicingmanag": [79, 80, 85, 92, 94], "all_profil": [79, 85], "cancel_sl": [79, 85, 95], "configured_slic": [79, 85], "default_slic": [79, 85], "delete_profil": [79, 85], "get_profile_path": [79, 85], "get_slic": [79, 85], "get_slicer_profile_path": [79, 85], "load_profil": [79, 85], "profiles_last_modifi": [79, 85], "registered_slic": [79, 85], "reload_slic": [79, 85], "save_profil": [79, 85], "set_default_profil": [79, 85], "slicing_en": [79, 85], "slicingexcept": [79, 85], "slicerexcept": [79, 85], "unknownslic": [79, 85], "slicernotconfigur": [79, 85], "profileexcept": [79, 85], "unknownprofil": [79, 85], "profilealreadyexist": [79, 85], "caseinsensitiveset": [79, 84, 86], "defaultordereddict": [79, 86], "prependablequeu": [79, 86], "repeatedtim": [79, 86], "resettabletim": [79, 86], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "chunk": [79, 83, 86], "deseri": [79, 86], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "fallback_dict": [79, 86], "filter_non_ascii": [79, 86], "get_bom": [79, 86], "get_class": [79, 86], "get_exception_str": [79, 86], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "is_allowed_fil": [79, 86], "pending_deprec": [79, 86], "pp": [79, 86], "to_byt": [79, 86, 96], "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "commandlinecal": [79, 86], "checked_cal": [79, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "commandlineerror": [79, 86], "delimitercaptur": [79, 86], "clean_ansi": [79, 86], "close_fd": [79, 86], "get_o": [79, 86], "is_os_compat": [79, 86], "set_close_exec": [79, 86], "plugin_fold": 80, "plugin_bas": 80, "plugin_entry_point": 80, "plugin_disabled_list": 80, "plugin_sorting_ord": 80, "plugin_blacklist": 80, "plugin_restart_needing_hook": 80, "plugin_obsolete_hook": 80, "plugin_considered_bundl": 80, "plugin_flag": 80, "plugin_valid": 80, "compatibility_ignored_list": 80, "singleton": [80, 84], "namespac": [80, 90], "startswith": [80, 86, 92, 95], "obsolet": 80, "although": 80, "plugin_kei": 80, "get_preprocessor": 80, "set_preprocessor": 80, "get_settings_default": [80, 90, 95], "getter": [80, 84, 95], "preprocessor": [80, 84, 93, 95], "setter": [80, 81, 84, 95], "error_callback": 80, "sorting_context": [80, 92], "my_success_callback": 80, "my_error_callback": 80, "exc": 80, "startupplugin": [80, 90, 92, 93], "on_startup": [80, 90, 92, 95], "my_host": 80, "my_port": 80, "invoc": [80, 92], "likewis": [80, 85, 87], "greater": 80, "convers": [80, 84, 96], "equal": [80, 95], "at_end": [80, 84], "postfix": [80, 92], "slicingplugin": [80, 95], "folder_typ": 80, "orward": 80, "logging_prefix": 80, "customiz": 80, "initialize_implement": 80, "require_en": 80, "required_en": 80, "fnmatch": 80, "force_reload": 80, "reload": [80, 87, 90, 95, 97], "unregist": [80, 81], "attr_author": 80, "attr_check": 80, "lambda": [80, 86, 92, 95, 96], "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "show_bundl": 80, "bundled_str": 80, "show_loc": 80, "location_str": 80, "show_en": 80, "enabled_str": 80, "fourth": [80, 92], "entrypointorigin": 80, "folderorigin": 80, "moduleorigin": 80, "ast": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "phase": [80, 88, 93, 96], "additional_valid": 80, "before_import": 80, "before_load": 80, "after_load": 80, "attr_vers": 80, "sortabl": 80, "irrelev": [80, 92], "ascend": 80, "eventmanag": [80, 92, 94], "sessionmanag": 80, "lifecyclemanag": [80, 92], "connectivitycheck": [80, 94], "deeper": [81, 90], "ly": 81, "abstract": 81, "decid": [81, 89, 90, 95], "vanish": 81, "throughout": [81, 90, 92], "lifecycl": [81, 92, 93], "awai": [81, 84, 87], "queu": [81, 92], "anew": 81, "millimet": 81, "materi": 81, "stuck": 81, "classmethod": [81, 83, 95], "connection_str": 81, "open_seri": 81, "detect_seri": 81, "detect_baudr": 81, "closed_with_error": 81, "transfering_fil": 81, "transport": [81, 93], "contextmanag": 81, "park_printhead": 81, "take_snapshot": 81, "send_printhead_back": 81, "park": 81, "somewher": [81, 90], "WILL": 81, "held": [81, 84], "acquir": 81, "catch": 81, "runtimeexcept": 81, "thrown": [81, 84, 85], "unknownscriptexcept": 81, "printafterselect": 81, "po": 81, "invalidfiletyp": 81, "invalidfileloc": 81, "finer": 81, "forev": 81, "enclosur": 81, "unconfigur": [81, 85], "degc": 81, "ccm": 81, "x_min": 81, "y_min": 81, "z_min": 81, "x_max": 81, "y_max": 81, "z_max": 81, "use_enum_valu": 82, "access_control": 82, "filebasedgroupmanag": 82, "remote_group": 82, "plugin_logging_seriallog": 82, "plugin_logging_plugintimingslog": 82, "plugin_health_check": 82, "plugin_firmware_check_warn": 82, "plugin_firmware_check_info": 82, "plugin_eventmanag": 82, "plugin_softwareupdate_upd": 82, "plugin_corewizard_onlinecheck": 82, "plugin_achiev": 82, "plugin_achievements_2": 82, "systeminfo": [82, 93], "m707": 82, "m708": 82, "gcode_analysi": 82, "printer_paramet": 82, "m108": 82, "m410": 82, "900": 82, "eol": [82, 92, 96], "2023": [82, 90], "06": [82, 90], "2024": 82, "31": [82, 90, 92], "524288000": 82, "libx264": 82, "10000k": 82, "vcodec": 82, "containerformat": 82, "sseof": 82, "q": 82, "classic": 82, "formatstr": 82, "drag": 82, "timelas": 82, "batch": 82, "_flag": 82, "band": 82, "parser": 82, "low": 82, "latenc": 82, "Be": [82, 92], "implic": 82, "decis": [82, 95, 96], "cloudflar": 82, "resolut": 82, "yyyi": [82, 86], "dd": [82, 86], "v6": 82, "1107": 82, "extra_data": 82, "quick": [82, 90], "mozilla": 82, "regular_express": 82, "unstructur": 82, "stun": 82, "l": [82, 86], "19302": 82, "bust": 82, "certif": [82, 83], "mjpeg": 82, "nativ": 82, "webrtc": 82, "before_request": [83, 93], "resp": 83, "after_request": [83, 93], "crf": 83, "httputil": 83, "httpserverrequest": 83, "shall": 83, "pragma": 83, "expir": 83, "allowed_path": 83, "netloc": 83, "default_timeout": 83, "simplecach": 83, "pickl": 83, "pickleerror": 83, "httpstatu": 83, "direct_passthrough": 83, "httponli": 83, "site": [83, 90], "ineffici": 83, "exce": 83, "max_cookie_s": 83, "max_ag": 83, "datetim": [83, 86, 95], "object_": 83, "obj": 83, "ensure_ascii": 83, "sort_kei": 83, "is_null_sess": 83, "perman": 83, "session_refresh_each_request": 83, "unresolv": 83, "rel_path": 83, "loader": 83, "rebuilt": 83, "lastmodifi": [83, 95], "timezon": 83, "awar": [83, 87, 92], "utc": 83, "func": [83, 95], "_not_": 83, "albeit": 83, "databas": 83, "302": 83, "login_requir": 83, "conn": 83, "session_id": 83, "expiri": 83, "detach": 83, "start_heartbeat": 83, "requesthandl": [83, 92], "similarli": 83, "is_client": 83, "http1connect": 83, "max_body_s": 83, "default_max_body_s": 83, "http1connectionparamet": 83, "iostream": 83, "http1serverconnect": 83, "_server_request_loop": 83, "httpserver": 83, "max_default_body_s": 83, "coroutin": 83, "tcpserver": 83, "ssliostream": 83, "wait_for_handshak": 83, "npn": 83, "alpn": 83, "path_valid": [83, 92], "path_processor": 83, "as_attach": [83, 92], "attachment_nam": 83, "access_valid": [83, 93], "compress": [83, 86], "httperror": 83, "staticfilehandl": [83, 92], "deliveri": [83, 92], "default_filenam": 83, "subdirectori": 83, "allow_client_cach": 83, "etag_gener": 83, "name_gener": 83, "mime_type_guess": 83, "mime": 83, "is_pre_compress": 83, "gzip": 83, "comput": [83, 97], "abspath": 83, "sha": 83, "512": 83, "stream_bodi": 83, "uncompress": 83, "include_bodi": 83, "typ": 83, "tb": 83, "uncaught": 83, "trace": [83, 90], "fallbackhandl": 83, "rewritten": [83, 92], "webkitformboundarypyisux63abamht5c": 83, "my_funny_apikei": 83, "tmpzupkro": 83, "349182": 83, "_process_multipart_data": 83, "file_prefix": 83, "file_suffix": 83, "cleanup": 83, "counterpart": 83, "httpclient": 83, "asynchttpcli": 83, "basenam": [83, 92], "wsgi_appl": 83, "executor": 83, "forced_head": 83, "removed_head": 83, "wsgi_app": 83, "octoprint_app": 83, "wsgicontain": 83, "__call__": 83, "bytesio": 83, "websocket": 83, "websockethandl": 83, "get_compression_opt": 83, "permessag": 83, "deflat": 83, "json_encod": 83, "jsonencod": 83, "frozendict": 83, "_httprequestcontext": 83, "_apply_xhead": 83, "remote_ip": 83, "downstream": 83, "blindli": [83, 95, 96], "proto": 83, "check_origin": 83, "rfc6454": 83, "path_filt": 83, "status_cod": [83, 92], "vice": 84, "versa": 84, "__overlay__": 84, "allow_fallback": 84, "check_writ": 84, "deep_check_writ": 84, "script_typ": [84, 92], "error_on_path": 84, "encapsul": 85, "display_nam": 85, "my_slic": 85, "save_slicer_profil": [85, 95], "my_default_profil": 85, "my_overrid": 85, "profile_path": [85, 95], "do_slic": [85, 95], "printer_profile_manag": [85, 92], "importantli": 85, "require_configur": 85, "slicer_nam": 85, "couldnotdeleteprofil": 85, "must_exist": 85, "slicerplugin": [85, 93], "ioerror": [85, 95], "stamp": 85, "require_exist": 85, "profile_nam": 85, "callback_arg": 85, "callback_kwarg": 85, "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "printer_profile_id": 85, "_analysi": 85, "_error": 85, "_cancel": 85, "calle": 85, "_progress": [85, 95], "commonli": 86, "default_factori": 86, "kw": 86, "shallow": 86, "od": 86, "run_first": 86, "on_condition_fals": 86, "on_cancel": 86, "repeatedli": 86, "timer": 86, "loop": [86, 92, 95], "exactli": [86, 95], "dynam": [86, 90, 95], "period": [86, 95], "sequenti": 86, "on_reset": 86, "ran": 86, "item_typ": 86, "stackoverflow": [86, 90], "312464": 86, "2028598": [86, 90], "gen": 86, "len": [86, 92], "stacklevel": 86, "includedoc": 86, "extenddoc": 86, "mod": 86, "offend": 86, "docstr": 86, "__doc__": 86, "caller": [86, 92], "shadow": 86, "getattr": 86, "zlib": 86, "decompress": 86, "deep": 86, "fnord": 86, "some_other_bar": 86, "whose": [86, 88, 92, 95], "filter_funct": 86, "key1": 86, "key2": 86, "other_kei": 86, "other_valu": 86, "k": [86, 92], "traceback": 86, "assertionerror": 86, "flatten": 86, "a1": 86, "a2": 86, "leaf_merg": 86, "in_plac": 86, "xormedia": 86, "isinst": [86, 92, 96], "l1": 86, "l2": 86, "diff": 86, "predic": 86, "bom": 86, "importerror": [86, 88, 96], "fmt": 86, "hh": 86, "num": 86, "unit": 86, "yte": 86, "ilo": 86, "ega": 86, "iga": 86, "era": 86, "decim": 86, "1094933": 86, "timedelta": 86, "ss": 86, "2020083": 86, "fqcn": 86, "comprehensive_json": 86, "s_or_u": 86, "renam": [86, 90], "stderr": 86, "do_something_with_the_passed_lin": 86, "sarg": 86, "underneath": [86, 90], "log_stdout": 86, "log_stderr": 86, "log_cal": 86, "err": 86, "delimit": 86, "buffer_s": 86, "output_timeout": 86, "_async": 86, "ansi": 86, "popen": 86, "win32": 86, "darwin": 86, "freebsd": 86, "compatibility_entri": 86, "current_o": 86, "close_exec": 86, "bunch": [87, 90, 94, 95], "plug": 87, "correspondingli": 87, "circumv": 87, "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_load__": [88, 91, 92], "whatev": [88, 92, 95], "__plugin_version__": [88, 90, 92, 94], "__plugin_description__": [88, 90, 92], "__plugin_author__": [88, 90], "__plugin_url__": [88, 90], "webpag": 88, "__plugin_license__": [88, 90], "__plugin_privacypolicy__": 88, "precaut": 88, "handle_gcode_s": 88, "comm_inst": [88, 92], "cmd_type": [88, 92], "getlogg": [88, 91, 92], "__name__": [88, 91, 92], "__plugin_check__": 88, "some_depend": 88, "check_config": [88, 93], "__plugin_unload__": 88, "__plugin_enable__": 88, "__plugin_disable__": 88, "__plugin_settings_overlay__": 88, "necessit": [88, 95], "5001": 88, "__init": 89, "py__": 89, "helloworld": [89, 90, 95], "cookiecutt": [89, 90], "md": [89, 90], "eleg": 89, "writeup": 89, "cours": [90, 92, 95], "fledg": [90, 95, 97], "pain": 90, "favor": [90, 97], "resembl": 90, "14": 90, "35": 90, "122": 90, "124": 90, "135": 90, "19": 90, "loadabl": 90, "modern": 90, "helloworldplugin": 90, "on_after_startup": [90, 91, 92, 95], "792": 90, "neat": 90, "greet": [90, 92], "convent": 90, "skeleton": 90, "delta": 90, "kib": 90, "plugin_packag": 90, "octoprint_helloworld": 90, "repo_nam": 90, "full_nam": 90, "net": 90, "github_usernam": 90, "yourgithubnam": 90, "plugin_vers": 90, "plugin_descript": 90, "todo": 90, "plugin_licens": 90, "agplv3": 90, "plugin_homepag": 90, "plugin_sourc": 90, "plugin_installurl": 90, "bug_report": 90, "feature_request": 90, "readm": 90, "__init__": [90, 92, 95, 96], "editorconfig": 90, "gitignor": 90, "babel": 90, "cfg": 90, "manifest": 90, "curios": 90, "prefil": 90, "plugin_identifi": 90, "octoprint_": 90, "plugin_author": 90, "mail": 90, "plugin_author_email": 90, "plugin_url": 90, "plugin_requir": 90, "sdist": 90, "14159430": 90, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_ignored_packag": 90, "octoprint_setuptool": 90, "create_plugin_setup_paramet": 90, "somedepend": 90, "additional_setup_paramet": 90, "somerepo": 90, "egg": 90, "python_requir": 90, "remain": 90, "pyc": 90, "discover": 90, "pyenv": 90, "env": 90, "py311": 90, "132": 90, "134": 90, "818": 90, "38": [90, 92], "997": 90, "ugli": 90, "nice": 90, "46": 90, "33": 90, "786": 90, "squash": 90, "48": 90, "54": 90, "templateplugin": [90, 92, 93], "wikipedia": 90, "helloworld_navbar": 90, "hello_world": [90, 95], "ve": [90, 96], "2015": [90, 95], "41": 90, "058": 90, "knockout": [90, 95], "get_template_var": [90, 95], "plugin_helloworld_url": 90, "hallo": 90, "welt": 90, "programm": 90, "47": 90, "18": [90, 92], "634": 90, "friendli": 90, "helloworld_set": 90, "div": [90, 92, 95], "settingsviewmodel": [90, 97], "void": 90, "navigationviewmodel": [90, 97], "unbind": 90, "get_template_config": [90, 92, 95], "custom_bind": [90, 95], "congratul": 90, "nav": 90, "ifram": 90, "helloworld_tab": 90, "xxlarg": 90, "newurl": 90, "primari": 90, "gotourl": 90, "currenturl": 90, "600px": 90, "border": 90, "1px": 90, "808080": 90, "assetplugin": [90, 93], "get_asset": [90, 95], "helloworldviewmodel": 90, "ko": 90, "dom": 90, "_after_": 90, "onbeforebind": [90, 97], "octoprint_viewmodel": [90, 97], "tab_plugin_helloworld": 90, "shini": 90, "desktop": [90, 95], "articl": 90, "squish": 90, "great": 90, "hardcod": 90, "nicer": 90, "Of": [90, 95], "lessj": 90, "bigger": 90, "forgot": 90, "85a134": 90, "compact": 90, "cleaner": 90, "invit": 90, "haven": 90, "curaengin": 90, "navbartemp": 90, "gh": 90, "newplugin": 90, "winless": 90, "__plugin_helpers__": 91, "zeroconf": 91, "excerpt": 91, "pybonjour": 91, "discoveryplugin": 91, "ssdp_brows": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "hopefulli": 91, "_register_growl": 91, "on_api_get": [91, 95], "jsonifi": [91, 92, 95], "browsing_en": 91, "browse_result": 91, "_gntp": 91, "_tcp": 91, "growl_inst": 91, "sibl": 92, "_gcode_hook": 92, "_pluginmanag": 92, "_gcodescript_hook": 92, "retval": 92, "to_list": 92, "scriptlin": 92, "custom_action_command": 92, "customactioncommandplugin": 92, "custom_action_handl": 92, "ordertest": 92, "ordertestplugin": 92, "oneorderedhook": 92, "anotherorderedhook": 92, "yetanotherhook": 92, "orderedhook": 92, "03": 92, "09": 92, "29": 92, "342": 92, "355": 92, "357": 92, "358": 92, "861": 92, "additional_permissions_hook": 92, "my_permiss": 92, "plugin_example_my_permiss": 92, "accessviewmodel": 92, "admin_group": 92, "user_group": 92, "readonly_group": 92, "guest_group": 92, "get_additional_permiss": 92, "gettext": 92, "user_manager_factory_hook": 92, "event_bu": 92, "analysis_queu": 92, "slicing_manag": 92, "file_manag": 92, "plugin_lifecycle_manag": 92, "preemptive_cach": 92, "stock": [92, 95], "settingsmanag": 92, "acl_keyvalidator_hook": 92, "obviou": 92, "educ": 92, "custom_keyvalid": 92, "findus": 92, "cli_commands_hook": 92, "cli_group": 92, "annot": 92, "custom_cli_command": 92, "clitest_command": 92, "greet_command": 92, "pass_context": 92, "random_greet_command": 92, "buon": 92, "giorno": 92, "hola": 92, "konnichiwa": 92, "oh": 92, "hai": 92, "hei": 92, "salv": 92, "randrang": 92, "morn": 92, "stranger": 92, "plugin_settings_from_settings_plugin": 92, "get_cli_command": 92, "plugin_settings_for_settings_plugin": 92, "bu": [92, 94, 95], "firmware_info_hook": 92, "firmware_data": 92, "firmware_vers": 92, "computation": 92, "expens": 92, "machinecom": 92, "firmware_capability_hook": 92, "already_defin": 92, "firmware_capability_report_hook": 92, "firmware_cap": 92, "protocol_action_hook": 92, "some_command": 92, "protocol_atcommandphase_hook": 92, "li": [92, 95], "mirror": 92, "custom_atcommand_handl": 92, "infinit": 92, "setpaus": 92, "protocol_gcodephase_hook": 92, "subcod": 92, "postprocess": 92, "expans": 92, "afterward": 92, "command_phas": 92, "traffic": 92, "2018": 92, "213": 92, "216": 92, "multi_gcode_test": 92, "217": 92, "219": 92, "230": 92, "00m": 92, "232": 92, "234": 92, "242": 92, "243": 92, "552": 92, "553": 92, "f6000": 92, "555": 92, "556": 92, "558": 92, "temperature_pol": 92, "sd_status_pol": 92, "categori": 92, "difficult": 92, "intent": 92, "my_custom_tag": 92, "honest": 92, "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "sent_m106": 92, "gcode_received_hook": 92, "machine_typ": 92, "read_m115_respons": 92, "detect_machine_typ": 92, "parse_firmware_lin": 92, "printer_data": 92, "gcode_error_hook": 92, "error_messag": 92, "recover": 92, "worst": 92, "comm_error_handler_test": 92, "_handled_error": 92, "handle_error": 92, "lower_error": 92, "error_handler_test": 92, "protocol_scripts_hook": 92, "script_nam": 92, "newlin": 92, "message_on_connect": 92, "gcode_script_vari": 92, "protocol_temperatures_received_hook": 92, "parsed_temperatur": 92, "thereof": 92, "45": 92, "178": 92, "prone": 92, "garbag": 92, "sane": [92, 95], "sanitize_temperatur": 92, "parsed_temp": 92, "is_san": 92, "additional_port_names_hook": 92, "serial_factory_hook": 92, "read_timeout": 92, "analogu": 92, "pyseri": 92, "readlin": 92, "connection_timeout": 92, "_changest": 92, "state_detect_seri": 92, "serial_obj": 92, "_detectport": 92, "_log": 92, "_errorvalu": 92, "state_error": 92, "geterrorstr": 92, "writetimeout": 92, "10000": 92, "pariti": 92, "parity_odd": 92, "parity_non": 92, "register_custom_events_hook": 92, "Their": [92, 97], "transform": [92, 95], "camel_cas": 92, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "my_custom_ev": 92, "my_other_custom_ev": 92, "analysis_queue_factory_hook": 92, "leaf": 92, "mycustomgcodeanalysisqueu": 92, "custom_gcode_analysis_queu": 92, "file_extension_hook": 92, "x3g": 92, "s3g": 92, "support_x3g_machinecod": 92, "file_preprocessor_hook": 92, "untouch": 92, "_strip": 92, "strip_all_com": 92, "strip_com": 92, "commentstripp": 92, "decoded_lin": 92, "valid_file_typ": [92, 95], "splitext": 92, "endswith": 92, "some_file_strip": 92, "additional_state_data_hook": 92, "beneath": [92, 95], "printer_factory_hook": 92, "printerinst": 92, "user_manag": 92, "power": [92, 95], "print_time_estimator_factori": 92, "printtimeestim": 92, "job_typ": 92, "denot": 92, "nonsens": 92, "customprinttimeestim": 92, "cleanedprinttim": 92, "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "2h": 92, "create_estimator_factori": 92, "sd_card_upload_hook": 92, "start_callback": 92, "success_callback": 92, "failure_callback": 92, "local_filenam": 92, "remote_filenam": 92, "success_or_failure_callback": 92, "dummi": [92, 95], "ten": 92, "nop_upload_to_sd": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_fail": 92, "remote_nam": 92, "_get_free_remote_nam": 92, "op": 92, "sd_upload_success": 92, "sd_upload_failur": 92, "after_request_handlers_hook": 92, "before_request_handlers_hook": 92, "access_validator_hook": 92, "router": 92, "server_bodysize_hook": 92, "current_max_body_s": 92, "1024kb": 92, "increase_bodys": 92, "bodysizeplugin": 92, "_size": 92, "api_endpoint": 92, "make_respons": [92, 95], "input_nam": 92, "found_fil": 92, "bodysize_hook": 92, "server_route_hook": 92, "server_rout": 92, "deliv": [92, 95], "add_tornado_rout": 92, "camera": [92, 95], "tornadorouteplugin": 92, "route_hook": 92, "is_hidden_path": 92, "demonstr": [92, 95], "urlforwardhandl": 92, "socket_authed_hook": 92, "deauthent": 92, "socket_registration_hook": 92, "socket_emit_hook": 92, "additional_commands_hook": 92, "z0": 92, "get_additional_command": 92, "additional_bundle_files_hook": 92, "get_additional_bundle_fil": 92, "console_log": 92, "timelapse_extension_hook": 92, "get_timelapse_extens": 92, "templatetype_hook": 92, "template_sort": 92, "template_rul": 92, "sake": 92, "custom_append": 92, "custom_prepend": 92, "custom_add_entri": 92, "custom_add_ord": 92, "_plugin_": [92, 95], "to_entri": 92, "custom_template_provid": 92, "customtemplatetypeprovid": 92, "add_templatetyp": 92, "current_ord": 92, "current_rul": 92, "awesometempl": 92, "_awesometempl": 92, "custom_template_provider_set": 92, "h3": 92, "plugin_custom_template_provider_awesometempl": 92, "_div": 92, "h4": 92, "custom_template_consum": 92, "customtemplatetypeconsum": 92, "enabled_plugin": 92, "custom_template_consumer_awesometempl": 92, "ourselv": 92, "spec": 92, "ui_theming_hook": 92, "loginui_them": 92, "capture_pre_hook": 92, "capture_post_hook": 92, "eventhandlerplugin": 93, "mfaplugin": 93, "progressplugin": 93, "shutdownplugin": 93, "uiplugin": 93, "webcamproviderplugin": 93, "keyvalid": 93, "capability_report": 93, "additional_port_nam": 93, "extension_tre": [93, 95], "additional_exclud": 93, "before_backup": 93, "after_backup": 93, "before_restor": 93, "after_restor": 93, "reconnect_hook": 93, "handle_connect": 93, "sdcardupload": 93, "bodys": 93, "additional_command": 93, "additional_bundle_fil": 93, "templatetyp": [93, 95], "theme": 93, "diagram": 93, "grow": 93, "galor": 93, "pitfal": 93, "divis": 93, "checklist": 93, "overview": [94, 95], "_plugin_info": 94, "_datafold": 94, "heart": 95, "asset_plugin": 95, "all_asset": 95, "plugin_asset": 95, "preferred_stylesheet": 95, "supported_stylesheet": 95, "plugin_a": 95, "plugin_b": 95, "plugin_c": 95, "plugin_d": 95, "plugina": 95, "pluginb": 95, "pluginc": 95, "plugind": 95, "typic": 95, "get_asset_fold": 95, "appropri": 95, "clientj": 95, "my_fil": 95, "my_other_fil": 95, "my_styl": 95, "behav": [95, 96], "myblueprintplugin": 95, "myecho": 95, "method_nam": 95, "grace": 95, "is_blueprint_csrf_protect": 95, "exempt": 95, "csrf_exempt": 95, "subject": 95, "hello_y": 95, "hello_m": 95, "errorhandl": 95, "code_or_except": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "static_fold": 95, "template_fold": 95, "get_template_fold": 95, "term": 95, "enforc": 95, "forthcom": 95, "is_blueprint_protect": 95, "on_ev": 95, "mfa": 95, "verif": 95, "totp": 95, "mfatotp": 95, "fixtur": 95, "mfa_dummi": 95, "encourag": 95, "has_mfa_credenti": 95, "wrongmfacredenti": 95, "is_mfa_en": 95, "on_print_progress": 95, "increment": [95, 96], "on_slicing_progress": 95, "destination_loc": 95, "pluginsettingsmanag": 95, "unrel": 95, "experi": [95, 96], "data_fold": 95, "on_settings_sav": 95, "mysettingsplugin": 95, "old_flag": 95, "new_flag": 95, "on_settings_load": 95, "get_settings_restricted_path": 95, "config_version_kei": 95, "_config_vers": 95, "get_settings_preprocessor": 95, "some_kei": 95, "some_other_kei": 95, "some_method": 95, "assert": [95, 96], "some_other_valu": 95, "octoprintpermiss": 95, "admin_onli": 95, "user_onli": 95, "get_settings_vers": 95, "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_migr": 95, "overload": 95, "_config": 95, "conjunct": 95, "cleanli": 95, "on_shutdown": 95, "immin": 95, "boil": 95, "flat": 95, "preliminari": 95, "mysimpleapiplugin": 95, "get_api_command": 95, "command1": 95, "command2": 95, "some_paramet": 95, "on_api_command": 95, "elif": 95, "some_optional_paramet": 95, "2342": 95, "140": 95, "is_api_adminonli": 95, "machinecode_path": 95, "model_path": 95, "your_plugins_slicing_progress": 95, "depict": 95, "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "same_devic": 95, "cpu": 95, "progress_report": 95, "source_file_typ": 95, "destination_extens": 95, "is_slicer_configur": 95, "cloud": 95, "enrich": 95, "_navbar": 95, "myplugin_navbar": 95, "_sidebar": 95, "myplugin_sidebar": 95, "_tab": 95, "myplugin_tab": 95, "alphabet": 95, "myplugin_set": 95, "_userset": 95, "myplugin_userset": 95, "_webcam": 95, "myplugin_webcam": 95, "is_wizard_requir": 95, "_wizard": 95, "myplugin_wizard": 95, "onwizardtabchang": 95, "hasn": 95, "2fa": 95, "_mfa_login": 95, "myplugin_mfa_login": 95, "_usersettings_mfa": 95, "myplugin_usersettings_mfa": 95, "_about": 95, "myplugin_about": 95, "mfa_login": 95, "usersettings_mfa": 95, "myplugin_first_tab": 95, "myplugin_second_tab": 95, "plugin_myplugin": 95, "plugin_myplugin_2": 95, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_2": 95, "plugin_myplugin_1": 95, "myplugin_first_tab_jinja2": 95, "_1st": 95, "myplugin_second_tab_jinja2": 95, "_2nd": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2nd": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2nd": 95, "data_bind": 95, "myclass": 95, "myotherclass": 95, "font": 95, "fa": 95, "fab": 95, "template_head": 95, "classes_wrapp": 95, "classes_cont": 95, "styles_wrapp": 95, "styles_cont": 95, "classes_link": 95, "styles_link": 95, "bold": 95, "myplugin_othertab": 95, "tempt": 95, "is_template_autoescap": 95, "autoescap": 95, "strongli": [95, 96], "entiti": 95, "xss": 95, "will_handle_ui": 95, "on_ui_rend": 95, "_refresh": 95, "altogeth": 95, "exemplari": 95, "userag": 95, "dummy_mobile_ui": 95, "__future__": [95, 96], "absolute_import": [95, 96], "dummymobileuiplugin": 95, "agent": 95, "android": 95, "ipad": 95, "iphon": 95, "user_ag": 95, "render_kwarg": 95, "render_templ": 95, "dummy_mobile_ui_index": 95, "viewport": 95, "scale": 95, "scalabl": 95, "h1": 95, "hope": 95, "disappoint": 95, "ul": 95, "pluginnam": 95, "demand": [95, 97], "lazili": 95, "get_ui_additional_etag": 95, "default_addit": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "werkzeug": 95, "environbuild": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "default_template_filt": 95, "template_typ": 95, "template_kei": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "uiapikei": 95, "freshli": 95, "supportedextens": 95, "classicwebcam": 95, "testpictur": 95, "get_webcam_configur": 95, "take_webcam_snapshot": 95, "webcamnam": 95, "get_wizard_vers": 95, "get_default_set": 95, "reshow": 95, "some_key_unset": 95, "some_other_key_unset": 95, "get_wizard_detail": [95, 97], "onwizarddetail": [95, 97], "is_wizard_ignor": 95, "seen_wizard": 95, "previous": 95, "januari": 96, "1st": 96, "2020": 96, "goal": 96, "ecosystem": 96, "year": 96, "whichev": 96, "python3execut": 96, "usr": 96, "venv3": 96, "btw": 96, "python2": 96, "venv2": 96, "python37": 96, "venv37": 96, "bat": 96, "suggest": 96, "mv": 96, "py2": 96, "anotherplugin": 96, "markdown": 96, "dilig": 96, "comprehens": 96, "sum": 96, "cheat": 96, "sheet": 96, "idiom": 96, "six": 96, "book": 96, "chapter": 96, "troublesom": 96, "overcom": 96, "aim": 96, "upcom": 96, "stick": 96, "scenario": 96, "troubl": 96, "problemat": 96, "magic": 96, "wrote": 96, "mess": 96, "distinct": 96, "obvious": 96, "unicode_liter": 96, "annoyingli": 96, "ain": 96, "outskirt": 96, "anyhow": 96, "weird": 96, "my_sub_packag": 96, "revisit": 96, "penalti": 96, "result1": 96, "my_collect": 96, "result2": 96, "__plugin_pycompat__": 96, "print_funct": 96, "thoroughli": 96, "pai": 96, "attent": 96, "proven": 96, "biggest": 96, "topic": 96, "discuss": 96, "roadmap": 96, "sooner": 97, "knockoutj": 97, "letter": 97, "additionalnam": 97, "mycustomviewmodel": 97, "loginst": 97, "someotherviewmodel": 97, "yourcustomviewmodel": 97, "loginstateviewmodel": 97, "some_div": 97, "some_other_div": 97, "practic": 97, "appearanceviewmodel": 97, "connectionviewmodel": 97, "filesviewmodel": 97, "gcodefilesviewmodel": 97, "firstrunviewmodel": 97, "gcodeviewmodel": 97, "logsviewmodel": 97, "printerprofilesviewmodel": 97, "printerstateviewmodel": 97, "slicingviewmodel": 97, "temperatureviewmodel": 97, "terminalviewmodel": 97, "timelapseviewmodel": 97, "usersviewmodel": 97, "usersettingsviewmodel": 97, "wizardviewmodel": 97, "onstartup": 97, "onafterbind": 97, "onallbound": 97, "allviewmodel": 97, "onstartupcomplet": 97, "onserverdisconnect": 97, "ondataupdaterreconnect": 97, "reestablish": 97, "fromhistorydata": 97, "fromcurrentdata": 97, "onslicingprogress": 97, "modelpath": 97, "machinecodepath": 97, "onev": 97, "eventnam": 97, "oneventprintdon": 97, "fromtimelapsedata": 97, "ondataupdaterpluginmessag": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onbeforeprintstart": 97, "ontabchang": 97, "onaftertabchang": 97, "inclus": 97, "onsettingsshown": 97, "onsettingshidden": 97, "onsettingsbeforesav": 97, "onusersettingsshown": 97, "onusersettingshidden": 97, "onusersettingsbeforesav": 97, "onbeforewizardtabchang": 97, "acl": 97, "onafterwizardtabchang": 97, "onbeforewizardfinish": 97, "onwizardfinish": 97, "onwebcamvisibilitychang": 97, "onwebcamrefresh": 97, "heavi": 97}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings-apikey", "/api/settings/apikey"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 10, 1, "", "ApiUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 14, 1, "", "detector"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 14, 1, "", "content_type"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [95, 10, 1, "", "MfaPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.MfaPlugin": [[95, 12, 1, "", "has_mfa_credentials"], [95, 12, 1, "", "is_mfa_enabled"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"], [95, 12, 1, "", "is_template_autoescaped"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "flags"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_heater_regex_no_current"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 10, 1, "", "Config"], [82, 12, 1, "", "model_dump"]], "octoprint.schema.BaseModel.Config": [[82, 13, 1, "", "use_enum_values"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteGroupsHeader"], [82, 13, 1, "", "remoteGroupsMapping"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteGroups"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "apps"], [82, 13, 1, "", "key"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "flags"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "suppressSecondHello"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "PythonEolCheckConfig"], [82, 10, 1, "", "PythonEolEntry"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.PythonEolCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "fallback"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PythonEolEntry": [[82, 13, 1, "", "date"], [82, 13, 1, "", "last_octoprint"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustLocalhostProxies"], [82, 13, 1, "", "trustedProxies"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "pythonEolCheck"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "RenderAfterPrintEnum"], [82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.RenderAfterPrintEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "failure"], [82, 13, 1, "", "off"], [82, 13, 1, "", "success"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "renderAfterPrint"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "get_api_key"], [83, 8, 1, "", "get_user_for_apikey"], [83, 8, 1, "", "get_user_for_authorization_header"], [83, 8, 1, "", "get_user_for_remote_user_header"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 13, 1, "", "response"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 12, 1, "", "deleteApiKey"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "generateApiKey"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "titleterms": {"access": [0, 2, 37, 48, 76, 92], "control": [0, 2, 9, 37, 48, 51, 60, 88], "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "permiss": [0, 2, 48, 92], "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "all": [0, 3, 10, 14, 15], "group": [0, 2], "get": [0, 1, 96], "add": [0, 10, 14, 90], "new": [0, 10], "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "updat": [0, 10, 11, 14, 33], "delet": [0, 3, 7, 14, 16, 31], "user": [0, 2, 4, 73, 76, 90, 92], "chang": [0, 16, 39], "": [0, 3, 41, 45, 56, 90], "password": 0, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "regener": [0, 13], "api": [0, 5, 13, 23, 31, 37, 92], "kei": [0, 13, 23], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "registr": 0, "request": [0, 4, 9, 10, 14, 23, 44], "connect": [1, 11, 59], "handl": [1, 47], "issu": [1, 3, 6, 9, 16, 23], "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "common": [2, 33, 96], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "relat": 2, "state": [2, 9], "temperatur": [2, 9, 37, 92], "histor": 2, "point": 2, "offset": 2, "resend": 2, "stat": 2, "job": [2, 6, 63], "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "progress": 2, "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "folder": [2, 3, 37], "abridg": 2, "gcode": [2, 29, 37, 47, 51, 52, 92], "analysi": [2, 37, 78, 92], "refer": [2, 31], "print": [2, 9, 47], "histori": [2, 11], "statist": 2, "record": 2, "need": 2, "oper": [3, 6, 9, 10, 55], "from": [3, 90, 96], "specif": [3, 14, 31, 48, 96], "locat": 3, "upload": [3, 7], "creat": 3, "gener": [4, 87, 92, 95], "author": [4, 23], "type": [4, 40, 51, 80], "encod": 4, "cross": 4, "origin": 4, "csrf": 4, "protect": 4, "login": [4, 48], "logout": 4, "current": [4, 6, 9, 11, 13, 16], "rest": 5, "about": [6, 9, 19], "languag": [7, 64], "instal": [7, 54, 89], "pack": 7, "compon": [7, 90], "metadata": 7, "log": [8, 31, 39, 46, 65], "manag": [8, 32, 89], "head": 9, "tool": [9, 42], "bed": 9, "chamber": 9, "an": [9, 10, 16, 23, 70], "sd": 9, "last": 9, "error": [9, 26, 44, 92], "send": 9, "arbitrari": 9, "custom": [9, 51, 90, 97], "full": 9, "profil": [10, 14, 37, 44, 47, 81], "singl": 10, "exist": [10, 23], "remov": 10, "push": 11, "payload": 11, "event": [11, 24, 32, 33, 37, 47, 52, 92], "slicingprogress": 11, "server": [12, 17, 37, 47, 77, 83, 92], "save": 13, "system": [13, 15, 37, 71, 92], "wide": 13, "fetch": [13, 23], "templat": 13, "slice": [14, 37, 47, 69, 85], "slicer": 14, "regist": [15, 19, 89, 92, 97], "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "execut": [15, 92, 95], "client": [15, 23, 31, 62], "definit": 15, "timelaps": [16, 47, 72, 92], "config": [16, 37, 48, 82], "unrend": 16, "render": 16, "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "z": 16, "trigger": 16, "time": 16, "util": [17, 33, 74, 78, 83, 86], "variou": 17, "test": 17, "path": 17, "result": 17, "url": 17, "resolut": 17, "address": 17, "version": [18, 33, 45, 89, 96], "wizard": [19, 75], "addit": 19, "finish": 19, "entri": [19, 23], "action": [20, 21, 49, 92], "notif": 20, "support": [20, 21, 23], "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "exampl": [20, 21, 25, 40, 47, 51, 52], "commun": [20, 21, 47, 70], "firmwar": [20, 21, 28, 92], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "prompt": 21, "announc": [22, 25], "applic": 23, "workflow": 23, "redirect": 23, "auth": [23, 70, 92], "dialog": [23, 92], "probe": 23, "start": [23, 55], "process": [23, 47], "poll": 23, "decis": 23, "decid": 23, "pend": 23, "javascript": [23, 62, 90], "librari": [23, 31, 62], "backup": [24, 92], "line": [24, 33], "usag": [24, 33, 34], "hook": [24, 32, 33, 48, 92], "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "additional_exclud": [24, 92], "before_backup": [24, 92], "after_backup": [24, 92], "before_restor": [24, 92], "after_restor": [24, 92], "helper": [24, 33, 91], "create_backup": 24, "delete_backup": 24, "discoveri": 25, "further": [25, 96], "zeroconf": 25, "servic": 25, "_http": 25, "_tcp": 25, "_octoprint": 25, "track": [26, 34], "check": [27, 28, 33], "viewer": [29, 37], "bundl": [30, 52], "avail": [31, 47, 48, 92, 95], "logfil": 31, "j": 31, "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "pluginmanag": [32, 92], "reconnect_hook": [32, 92], "softwar": 33, "first": 33, "step": [33, 48], "method": 33, "pattern": 33, "global": 33, "credenti": 33, "softwareupd": [33, 92], "check_config": [33, 92], "version_check": 33, "except": [33, 85], "anonym": 34, "virtual": [35, 46, 96], "cli": [36, 77, 92], "yaml": [37, 39, 40, 48], "appear": 37, "develop": [37, 42, 43, 54, 93], "estim": [37, 92], "featur": [37, 53], "script": [37, 51, 52, 92], "serial": [37, 92], "termin": 37, "filter": [37, 96], "webcam": [37, 82], "level": 39, "handler": 39, "formatt": 39, "A": 40, "primer": 40, "basic": 40, "rule": 40, "interest": 40, "scalar": 40, "int": 40, "float": 40, "boolean": 40, "string": 40, "dictionari": 40, "branch": 41, "up": [42, 46, 90], "environ": [42, 96], "obtain": 42, "build": 42, "run": 42, "linux": 42, "todo": 42, "window": 42, "option": [42, 46], "recommend": 42, "mac": 42, "o": 42, "x": 42, "id": 42, "setup": [42, 48, 70], "visual": 42, "studio": 42, "vscode": 42, "pycharm": 42, "strategi": 45, "debug": 46, "enabl": 46, "placehold": 47, "autologin": 48, "gather": 48, "The": 48, "easi": 48, "wai": 48, "us": 48, "autologinconfig": 48, "hard": 48, "manual": [48, 54, 89], "edit": 48, "prepar": 48, "octopi": 48, "If": 48, "you": 48, "ar": 48, "vpn": 48, "your": [48, 89, 90, 96], "absolut": [48, 96], "requir": 48, "disabl": 48, "intern": [48, 79], "extens": [48, 92], "theme": [48, 92], "contain": 51, "parameter": 51, "predefin": 52, "snippet": 52, "context": 52, "more": [52, 90], "nifti": 52, "paus": 52, "resum": 52, "find": 54, "safe": 55, "mode": 55, "how": [55, 90, 96], "differ": 55, "v": [55, 96], "normal": 55, "welcom": 56, "document": 56, "browser": 58, "printerprofil": 67, "socket": 70, "sampl": 70, "throttl": 70, "dev": 77, "filemanag": [78, 92], "destin": 78, "storag": 78, "modul": 79, "core": 80, "schema": 82, "flask": 83, "sockj": [83, 92], "tornado": 83, "commandlin": 86, "platform": 86, "concept": [87, 92, 95], "lifecycl": [87, 97], "properti": [88, 94, 95], "distribut": [89, 90], "proper": 89, "packag": 89, "via": 89, "pip": 89, "offici": 89, "repositori": 89, "after": 89, "releas": 89, "tutori": 90, "sai": 90, "hello": 90, "make": 90, "actual": 90, "do": 90, "someth": 90, "grow": 90, "frontend": 90, "fun": 90, "function": 90, "web": [90, 92, 97], "interfac": [90, 97], "galor": 90, "part": 90, "adjust": 90, "ad": 90, "style": 90, "matter": 90, "inject": [90, 94, 95], "css": 90, "page": 90, "where": 90, "we": 90, "go": 90, "here": 90, "order": [92, 95], "factori": 92, "accesscontrol": 92, "keyvalid": 92, "comm": 92, "protocol": 92, "info": 92, "capabl": 92, "capability_report": 92, "atcommand": 92, "phase": 92, "receiv": 92, "transport": 92, "additional_port_nam": 92, "register_custom_ev": 92, "extension_tre": 92, "preprocessor": 92, "additional_state_data": 92, "handle_connect": 92, "sdcardupload": 92, "after_request": 92, "before_request": 92, "http": 92, "access_valid": 92, "bodys": 92, "rout": 92, "emit": 92, "additional_command": 92, "systeminfo": 92, "additional_bundle_fil": 92, "ui": 92, "templatetyp": 92, "captur": 92, "pre": 92, "post": 92, "mixin": 95, "assetplugin": 95, "blueprintplugin": 95, "eventhandlerplugin": 95, "mfaplugin": 95, "progressplugin": 95, "reloadneedingplugin": 95, "restartneedingplugin": 95, "settingsplugin": 95, "shutdownplugin": 95, "simpleapiplugin": 95, "slicerplugin": 95, "startupplugin": 95, "templateplugin": 95, "uiplugin": 95, "webcamproviderplugin": 95, "wizardplugin": 95, "migrat": 96, "python": 96, "3": 96, "tell": 96, "i": 96, "readi": 96, "pitfal": 96, "dure": 96, "byte": 96, "unicod": 96, "import": 96, "integ": 96, "divis": 96, "iter": 96, "instead": 96, "map": 96, "zip": 96, "checklist": 96, "read": 96, "viewmodel": 97, "depend": 97, "callback": 97, "diagram": 97, "startup": 97, "reconnect": 97}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Access control": [[0, "access-control"], [2, "access-control"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "List all permissions": [[0, "list-all-permissions"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Get group list": [[0, "get-group-list"]], "Add a new group": [[0, "add-a-new-group"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Update a group": [[0, "update-a-group"]], "Delete a group": [[0, "delete-a-group"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Add a new user": [[0, "add-a-new-user"]], "Update a user": [[0, "update-a-user"]], "Delete a user": [[0, "delete-a-user"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Permission list response": [[0, "permission-list-response"]], "Group list response": [[0, "group-list-response"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "User list response": [[0, "user-list-response"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Connection handling": [[1, "connection-handling"]], "Get connection settings": [[1, "get-connection-settings"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Common data model": [[2, "common-data-model"]], "Printer related": [[2, "printer-related"]], "Printer State": [[2, "printer-state"]], "Temperature Data": [[2, "temperature-data"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Temperature offset": [[2, "temperature-offset"]], "Resend stats": [[2, "resend-stats"]], "Job related": [[2, "job-related"]], "Job information": [[2, "job-information"]], "Progress information": [[2, "progress-information"]], "File related": [[2, "file-related"]], "File information": [[2, "file-information"], [31, "file-information"]], "Folders": [[2, "folders"]], "Files": [[2, "files"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "References": [[2, "references"], [31, "references"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "User record": [[2, "user-record"]], "Permission record": [[2, "permission-record"]], "Group record": [[2, "group-record"]], "Needs": [[2, "needs"]], "File operations": [[3, "file-operations"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Issue a file command": [[3, "issue-a-file-command"]], "Delete file": [[3, "delete-file"]], "Retrieve response": [[3, "retrieve-response"]], "Upload response": [[3, "upload-response"]], "General information": [[4, "general-information"]], "Authorization": [[4, "authorization"]], "Content Type": [[4, "content-type"]], "Encoding": [[4, "encoding"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "CSRF Protection": [[4, "csrf-protection"]], "Login": [[4, "login"]], "Logout": [[4, "logout"]], "Current User": [[4, "current-user"]], "Login response": [[4, "login-response"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "REST API": [[5, "rest-api"]], "Job operations": [[6, "job-operations"]], "Issue a job command": [[6, "issue-a-job-command"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Job information response": [[6, "job-information-response"]], "Languages": [[7, "languages"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "List response": [[7, "list-response"], [23, "list-response"]], "Component list": [[7, "component-list"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Log file management": [[8, "log-file-management"]], "Printer operations": [[9, "printer-operations"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Full State Response": [[9, "full-state-response"]], "Temperature State": [[9, "temperature-state"]], "SD State": [[9, "sd-state"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Error Information": [[9, "error-information"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Add or update request": [[10, "add-or-update-request"]], "Profile": [[10, "profile"], [14, "profile"]], "Push updates": [[11, "push-updates"]], "connected payload": [[11, "connected-payload"]], "current and history payload": [[11, "current-and-history-payload"]], "event payload": [[11, "event-payload"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "Server information": [[12, "server-information"]], "Settings": [[13, "settings"], [47, "settings"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Save settings": [[13, "save-settings"]], "Regenerate the system wide API key": [[13, "regenerate-the-system-wide-api-key"]], "Fetch template data": [[13, "fetch-template-data"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Slicer list": [[14, "slicer-list"]], "Slicer": [[14, "slicer"]], "Profile Update Request": [[14, "profile-update-request"]], "System": [[15, "system"], [37, "system"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "List all response": [[15, "list-all-response"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Timelapse": [[16, "timelapse"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Timelapse list": [[16, "timelapse-list"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Path test result": [[17, "path-test-result"]], "URL test result": [[17, "url-test-result"]], "Server test result": [[17, "server-test-result"]], "Resolution test result": [[17, "resolution-test-result"]], "Address test result": [[17, "address-test-result"]], "Version information": [[18, "version-information"]], "Wizard": [[19, "wizard"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Finish wizards": [[19, "finish-wizards"]], "Wizard data entry": [[19, "wizard-data-entry"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Start authorization process": [[23, "start-authorization-process"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Key response": [[23, "key-response"]], "Decision request": [[23, "decision-request"]], "Key list entry": [[23, "key-list-entry"]], "Pending list entry": [[23, "pending-list-entry"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Backup Plugin": [[24, "backup-plugin"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "create_backup": [[24, "create-backup"]], "delete_backup": [[24, "delete-backup"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Example": [[25, "example"], [47, "example"]], "Announced Services": [[25, "announced-services"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "File Check": [[27, "file-check"]], "Firmware Check": [[28, "firmware-check"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Logging": [[31, "logging"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "JS Client Library": [[31, "js-client-library"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "Plugin Manager": [[32, "plugin-manager"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "Software Update Plugin": [[33, "software-update-plugin"]], "First Steps": [[33, "first-steps"]], "Version checks": [[33, "version-checks"]], "Update methods": [[33, "update-methods"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Global credentials": [[33, "global-credentials"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]], "updaters": [[33, "updaters"]], "exceptions": [[33, "exceptions"]], "util": [[33, "util"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Virtual Printer": [[35, "virtual-printer"]], "CLI": [[36, "cli"]], "config.yaml": [[37, "config-yaml"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Appearance": [[37, "appearance"]], "Controls": [[37, "controls"], [51, "controls"]], "Development settings": [[37, "development-settings"]], "Estimation": [[37, "estimation"]], "Feature": [[37, "feature"]], "Folder": [[37, "folder"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Viewer": [[37, "gcode-viewer"]], "Plugin settings": [[37, "plugin-settings"]], "Printer Profiles": [[37, "printer-profiles"]], "Scripts": [[37, "scripts"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Temperature": [[37, "temperature"]], "Terminal Filters": [[37, "terminal-filters"]], "Webcam": [[37, "webcam"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "logging.yaml": [[39, "logging-yaml"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "A YAML Primer": [[40, "a-yaml-primer"]], "Basic Rules": [[40, "basic-rules"]], "Interesting data types": [[40, "interesting-data-types"]], "Scalars": [[40, "scalars"]], "int": [[40, "int"]], "float": [[40, "float"]], "boolean": [[40, "boolean"]], "string": [[40, "string"]], "Lists": [[40, "lists"]], "Dictionaries": [[40, "dictionaries"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "Linux": [[42, "linux"]], "Todo": [[42, "id1"], [42, "id3"]], "Windows": [[42, "windows"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Mac OS X": [[42, "mac-os-x"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "PyCharm": [[42, "pycharm"]], "Development": [[43, "development"]], "Profiling requests": [[44, "profiling-requests"]], "Errors": [[44, "errors"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Log file": [[46, "log-file"]], "Debug commands": [[46, "debug-commands"]], "Placeholders": [[47, "placeholders"]], "Available Events": [[47, "available-events"]], "Printer communication": [[47, "printer-communication"]], "File handling": [[47, "file-handling"]], "Printing": [[47, "printing"]], "GCODE processing": [[47, "gcode-processing"]], "Timelapses": [[47, "timelapses"]], "Printer Profile": [[47, "printer-profile"]], "Autologin": [[48, "autologin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Preparation": [[48, "preparation"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "Action Commands": [[49, "action-commands"]], "@ Commands": [[50, "commands"]], "Custom Controls": [[51, "custom-controls"]], "Types": [[51, "types"]], "Containers": [[51, "containers"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "GCODE Scripts": [[52, "gcode-scripts"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Snippets": [[52, "snippets"]], "Context": [[52, "context"]], "Bundled Scripts": [[52, "bundled-scripts"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Features": [[53, "features"]], "Plugins": [[54, "plugins"]], "Finding Plugins": [[54, "finding-plugins"]], "Installing Plugins": [[54, "installing-plugins"]], "Manual Installation": [[54, "manual-installation"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Safe mode": [[55, "safe-mode"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Communication Throttling": [[70, "communication-throttling"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "Internal Modules": [[79, "internal-modules"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "Lifecycle": [[87, "lifecycle"]], "Control Properties": [[88, "control-properties"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Manual file distribution": [[89, "manual-file-distribution"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.theming.

                    ": [[92, "octoprint-theming-dialog"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Mixins": [[95, "mixins"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "AssetPlugin": [[95, "assetplugin"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "MfaPlugin": [[95, "mfaplugin"]], "ProgressPlugin": [[95, "progressplugin"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "SlicerPlugin": [[95, "slicerplugin"]], "StartupPlugin": [[95, "startupplugin"]], "TemplatePlugin": [[95, "templateplugin"]], "UiPlugin": [[95, "uiplugin"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "WizardPlugin": [[95, "wizardplugin"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "Absolute imports": [[96, "absolute-imports"]], "Version specific imports": [[96, "version-specific-imports"]], "Integer division": [[96, "integer-division"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "Checklist": [[96, "checklist"]], "Further reading": [[96, "further-reading"]], "Viewmodels": [[97, "viewmodels"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Dependencies": [[97, "dependencies"]], "Callbacks": [[97, "callbacks"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Web interface startup": [[97, "web-interface-startup"]], "Web interface reconnect": [[97, "web-interface-reconnect"]]}, "indexentries": {"octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate"]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision"]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide"]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey"]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys"]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey"]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys"]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe"]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request"]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser"]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey"]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp"]], "additional_excludes_hook()": [[24, "additional_excludes_hook"]], "after_backup_hook()": [[24, "after_backup_hook"]], "after_restore_hook()": [[24, "after_restore_hook"]], "before_backup_hook()": [[24, "before_backup_hook"]], "before_restore_hook()": [[24, "before_restore_hook"]], "built-in function": [[24, "additional_excludes_hook"], [24, "after_backup_hook"], [24, "after_restore_hook"], [24, "before_backup_hook"], [24, "before_restore_hook"], [32, "reconnect_hooks_hook"], [33, "update_config_hook"], [92, "access_validator_hook"], [92, "acl_keyvalidator_hook"], [92, "additional_bundle_files_hook"], [92, "additional_commands_hook"], [92, "additional_permissions_hook"], [92, "additional_port_names_hook"], [92, "additional_state_data_hook"], [92, "after_request_handlers_hook"], [92, "analysis_queue_factory_hook"], [92, "before_request_handlers_hook"], [92, "capture_post_hook"], [92, "capture_pre_hook"], [92, "cli_commands_hook"], [92, "file_extension_hook"], [92, "file_preprocessor_hook"], [92, "firmware_capability_hook"], [92, "firmware_capability_report_hook"], [92, "firmware_info_hook"], [92, "gcode_error_hook"], [92, "gcode_received_hook"], [92, "print_time_estimator_factory"], [92, "printer_factory_hook"], [92, "protocol_action_hook"], [92, "protocol_atcommandphase_hook"], [92, "protocol_gcodephase_hook"], [92, "protocol_scripts_hook"], [92, "protocol_temperatures_received_hook"], [92, "register_custom_events_hook"], [92, "sd_card_upload_hook"], [92, "serial_factory_hook"], [92, "server_bodysize_hook"], [92, "server_route_hook"], [92, "templatetype_hook"], [92, "timelapse_extension_hook"], [92, "ui_theming_hook"], [92, "user_manager_factory_hook"]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper"]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper"]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog"]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog"]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs"]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook"]], "update_config_hook()": [[33, "update_config_hook"]], "octoprintclient() (class)": [[57, "OctoPrintClient"]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError"]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax"]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData"]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException"]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred"]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete"]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download"]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get"]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl"]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl"]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie"]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders"]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl"]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery"]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand"]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options"]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch"]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson"]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins"]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post"]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson"]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put"]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson"]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent"]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand"]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet"]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload"]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login"]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout"]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin"]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect"]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect"]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck"]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings"]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls"]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode"]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript"]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters"]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters"]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy"]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder"]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete"]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download"]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath"]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get"]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list"]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation"]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move"]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry"]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select"]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice"]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload"]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel"]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get"]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause"]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart"]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume"]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start"]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause"]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete"]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list"]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload"]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude"]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState"]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState"]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState"]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState"]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState"]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home"]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd"]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog"]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd"]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd"]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool"]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature"]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset"]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature"]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset"]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate"]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate"]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures"]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets"]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add"]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete"]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get"]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list"]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update"]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey"]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get"]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings"]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save"]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings"]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer"]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer"]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer"]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles"]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer"]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer"]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect"]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate"]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect"]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate"]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage"]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh"]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow"]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options"]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect"]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage"]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth"]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage"]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand"]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands"]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource"]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete"]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered"]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download"]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get"]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig"]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list"]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered"]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered"]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered"]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig"]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add"]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword"]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete"]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey"]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get"]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings"]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list"]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey"]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings"]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update"]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test"]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable"]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath"]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution"]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer"]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl"]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish"]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get"]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser"]], "apiuser (class in octoprint.access.users)": [[76, "octoprint.access.users.ApiUser"]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage"]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername"]], "unknownrole": [[76, "octoprint.access.users.UnknownRole"]], "unknownuser": [[76, "octoprint.access.users.UnknownUser"]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User"]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists"]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict"]], "module": [[76, "module-octoprint.access.users"], [77, "module-octoprint.cli"], [77, "module-octoprint.cli.dev"], [77, "module-octoprint.cli.plugins"], [77, "module-octoprint.cli.server"], [78, "module-octoprint.filemanager"], [78, "module-octoprint.filemanager.analysis"], [78, "module-octoprint.filemanager.destinations"], [78, "module-octoprint.filemanager.storage"], [78, "module-octoprint.filemanager.util"], [80, "module-octoprint.plugin"], [80, "module-octoprint.plugin.core"], [80, "module-octoprint.plugin.types"], [81, "module-octoprint.printer"], [81, "module-octoprint.printer.profile"], [82, "module-octoprint.schema"], [82, "module-octoprint.schema.config"], [82, "module-octoprint.schema.config.access_control"], [82, "module-octoprint.schema.config.api"], [82, "module-octoprint.schema.config.appearance"], [82, "module-octoprint.schema.config.controls"], [82, "module-octoprint.schema.config.devel"], [82, "module-octoprint.schema.config.estimation"], [82, "module-octoprint.schema.config.events"], [82, "module-octoprint.schema.config.feature"], [82, "module-octoprint.schema.config.folder"], [82, "module-octoprint.schema.config.gcode_analysis"], [82, "module-octoprint.schema.config.plugins"], [82, "module-octoprint.schema.config.printer_parameters"], [82, "module-octoprint.schema.config.printer_profiles"], [82, "module-octoprint.schema.config.scripts"], [82, "module-octoprint.schema.config.serial"], [82, "module-octoprint.schema.config.server"], [82, "module-octoprint.schema.config.slicing"], [82, "module-octoprint.schema.config.system"], [82, "module-octoprint.schema.config.temperature"], [82, "module-octoprint.schema.config.terminalfilters"], [82, "module-octoprint.schema.config.webcam"], [82, "module-octoprint.schema.webcam"], [83, "module-octoprint.server"], [83, "module-octoprint.server.util"], [83, "module-octoprint.server.util.flask"], [83, "module-octoprint.server.util.sockjs"], [83, "module-octoprint.server.util.tornado"], [84, "module-octoprint.settings"], [85, "module-octoprint.slicing"], [85, "module-octoprint.slicing.exceptions"], [86, "module-octoprint.util"], [86, "module-octoprint.util.commandline"], [86, "module-octoprint.util.platform"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption"]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext"]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands"]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands"]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options"]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options"]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command"]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command"]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option"]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli"]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options"]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands"]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx"]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager"]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server"]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options"]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option"]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings"]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options"]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue"]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper"]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted"]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue"]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector"]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping"]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper"]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue"]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream"]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage"]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream"]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage"]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry"]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface"]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper"]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort"]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis"]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file"]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file"]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder"]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder"]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link"]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link"]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog"]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog"]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize"]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize"]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close"]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close"]], "content_type (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type"]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file"]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file"]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder"]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder"]], "detector (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.detector"]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue"]], "extensions (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions"]], "extensions (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions"]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists"]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists"]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path"]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path"]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists"]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists"]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata"]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata"]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified"]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified"]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata"]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata"]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size"]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size"]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis"]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis"]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path"]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path"]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified"]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified"]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files"]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files"]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file"]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file"]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder"]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage"]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage"]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk"]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk"]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause"]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line"]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable"]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable"]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata"]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata"]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file"]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file"]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder"]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder"]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link"]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link"]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume"]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize"]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize"]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name"]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name"]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path"]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path"]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save"]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save"]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save"]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable"]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable"]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata"]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata"]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path"]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path"]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream"]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream"]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream"]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable"]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable"]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin"]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin"]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo"]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager"]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings"]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin"]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin"]], "_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue"]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager"]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder"]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker"]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder"]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus"]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager"]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier"]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger"]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager"]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager"]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name"]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version"]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer"]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager"]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager"]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager"]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay"]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author"]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted"]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled"]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin"]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check"]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description"]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable"]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin"]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged"]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable"]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin"]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled"]], "flags (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.flags"]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled"]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get"]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean"]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations"]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float"]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers"]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook"]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks"]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation"]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations"]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int"]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin"]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder"]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder"]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info"]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path"]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key"]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get"]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder"]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean"]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float"]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int"]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set"]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean"]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float"]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int"]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks"]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins"]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks"]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks"]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation"]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers"]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden"]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks"]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks"]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation"]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible"]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize"]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax"]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook"]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked"]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook"]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin"]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license"]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load"]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded"]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str"]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin"]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable"]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin"]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name"]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled"]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled"]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall"]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin"]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata"]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks"]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager"]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings"]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins"]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy"]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat"]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver"]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins"]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay"]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save"]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message"]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set"]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean"]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float"]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int"]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload"]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver"]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url"]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate"]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version"]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor"]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin"]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER"]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR"]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError"]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError"]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT"]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback"]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface"]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager"]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR"]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError"]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file"]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print"]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool"]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands"]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect"]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect"]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude"]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack"]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate"]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate"]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options"]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options"]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection"]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data"]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job"]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures"]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id"]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string"]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history"]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport"]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home"]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling"]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error"]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file"]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error"]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational"]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused"]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing"]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing"]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready"]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold"]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog"]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log"]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message"]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature"]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message"]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data"]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data"]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print"]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback"]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print"]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script"]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file"]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback"]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold"]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature"]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset"]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print"]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print"]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback"]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file"]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes"]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex"]], "valid_heater_regex_no_current (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex_no_current"]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex"]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig"]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig"]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum"]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig"]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig"]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel"]], "basemodel.config (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel.Config"]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum"]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig"]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig"]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig"]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig"]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config"]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig"]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig"]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig"]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig"]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig"]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig"]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig"]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig"]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig"]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig"]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription"]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig"]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig"]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig"]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig"]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig"]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum"]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig"]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum"]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig"]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig"]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig"]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig"]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig"]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig"]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig"]], "pythoneolcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig"]], "pythoneolentry (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolEntry"]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum"]], "renderafterprintenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum"]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig"]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum"]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum"]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig"]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities"]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig"]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts"]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig"]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig"]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig"]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum"]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum"]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig"]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig"]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile"]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry"]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig"]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions"]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum"]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig"]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam"]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility"]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig"]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel"]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about"]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about"]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl"]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax"]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action"]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions"]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers"]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates"]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses"]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts"]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled"]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone"]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed"]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected"]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange"]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin"]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming"]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths"]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always"]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always"]], "always (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.always"]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum"]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api"]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance"]], "apps (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.apps"]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_"]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist"]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect"]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs"]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged"]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal"]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh"]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval"]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos"]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus"]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp"]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate"]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause"]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed"]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ"]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused"]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted"]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected"]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange"]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate"]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates"]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts"]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling"]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands"]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue"]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle"]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol"]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache"]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster"]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot"]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities"]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll"]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword"]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands"]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children"]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays"]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup"]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick"]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color"]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon"]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent"]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command"]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command"]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command"]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands"]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands"]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication"]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy"]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat"]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components"]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm"]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm"]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection"]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls"]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies"]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical"]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css"]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff"]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data"]], "date (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.date"]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug"]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default"]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default"]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default"]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage"]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles"]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout"]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer"]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam"]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect"]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive"]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst"]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel"]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection"]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled"]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled"]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors"]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace"]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName"]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands"]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser"]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection"]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload"]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter"]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand"]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled"]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled"]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled"]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled"]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled"]], "enabled (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.enabled"]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled"]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding"]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames"]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation"]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event"]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events"]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions"]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive"]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20"]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection"]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras"]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder"]], "failure (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.failure"]], "fallback (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.fallback"]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature"]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg"]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline"]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads"]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline"]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec"]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection"]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun"]], "flags (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.flags"]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH"]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV"]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder"]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin"]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent"]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible"]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three"]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps"]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes"]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder"]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode"]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode"]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis"]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated"]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic"]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic"]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green"]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager"]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile"]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat"]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand"]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal"]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host"]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host"]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback"]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader"]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown"]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle"]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle"]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts"]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware"]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends"]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup"]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands"]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info"]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input"]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval"]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval"]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck"]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript"]], "key (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.key"]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl"]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize"]], "last_octoprint (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.last_octoprint"]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax"]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout"]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less"]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write"]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks"]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand"]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log"]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel"]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause"]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends"]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs"]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long"]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands"]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency"]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max"]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts"]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends"]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders"]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting"]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize"]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize"]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses"]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min"]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify"]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins"]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection"]], "model_dump() (octoprint.schema.basemodel method)": [[82, "octoprint.schema.BaseModel.model_dump"]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name"]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name"]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name"]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name"]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name"]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name"]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name"]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name"]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name"]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name"]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix"]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar"]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar"]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never"]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never"]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never"]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum"]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none"]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control"]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api"]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance"]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls"]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel"]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation"]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events"]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature"]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder"]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis"]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins"]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters"]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles"]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts"]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial"]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server"]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing"]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system"]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature"]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters"]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "off (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.off"]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off"]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck"]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options"]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange"]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order"]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter"]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix"]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers"]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands"]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager"]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist"]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings"]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins"]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins"]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched"]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port"]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port"]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port"]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback"]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader"]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport"]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait"]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll"]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive"]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache"]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback"]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader"]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation"]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation"]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime"]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters"]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles"]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles"]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing"]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles"]], "pythoneolcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pythonEolCheck"]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red"]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex"]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex"]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder"]], "remotegroupsheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsHeader"]], "remotegroupsmapping (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsMapping"]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader"]], "renderafterprint (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.renderAfterPrint"]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp"]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk"]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart"]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold"]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop"]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy"]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90"]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt"]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt"]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite"]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools"]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback"]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader"]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script"]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts"]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts"]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable"]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand"]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase"]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath"]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus"]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport"]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport"]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey"]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure"]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards"]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically"]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter"]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands"]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError"]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial"]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server"]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback"]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader"]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand"]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings"]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings"]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso"]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename"]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation"]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar"]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar"]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine"]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing"]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles"]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider"]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot"]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay"]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation"]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout"]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam"]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets"]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout"]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order"]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold"]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode"]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil"]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step"]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream"]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio"]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout"]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers"]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict"]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet"]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions"]], "success (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.success"]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand"]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk"]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait"]], "suppresssecondhello (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.suppressSecondHello"]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend"]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system"]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system"]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand"]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand"]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab"]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab"]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature"]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature"]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport"]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph"]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet"]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template"]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters"]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize"]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio"]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines"]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio"]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed"]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse"]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse"]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled"]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp"]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout"]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout"]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations"]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29"]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication"]], "trustlocalhostproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustLocalhostProxies"]], "trustremotegroups (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteGroups"]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser"]], "trustedproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedProxies"]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets"]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl"]], "ttl (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.ttl"]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type"]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type"]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck"]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until"]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation"]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads"]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads"]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url"]], "url (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.url"]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState"]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround"]], "use_enum_values (octoprint.schema.basemodel.config attribute)": [[82, "octoprint.schema.BaseModel.Config.use_enum_values"]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager"]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile"]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings"]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings"]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange"]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical"]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet"]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd"]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect"]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList"]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn"]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning"]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched"]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark"]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets"]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam"]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled"]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard"]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard"]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow"]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange"]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS"]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException"]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin"]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection"]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters"]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection"]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer"]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler"]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler"]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler"]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform"]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler"]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache"]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity"]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest"]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse"]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider"]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface"]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver"]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment"]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin"]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater"]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler"]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler"]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler"]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession"]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler"]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler"]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler"]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer"]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory"]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add"]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done"]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified"]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag"]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies"]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler"]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler"]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler"]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler"]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received"]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default"]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete"]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete"]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie"]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps"]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension"]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ"]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access"]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode"]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling"]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin"]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get"]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get"]], "get_api_key() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_api_key"]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type"]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version"]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix"]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request"]], "get_user_for_apikey() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_apikey"]], "get_user_for_authorization_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_authorization_header"]], "get_user_for_remote_user_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_remote_user_header"]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request"]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream"]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions"]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head"]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize"]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize"]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize"]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize"]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize"]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart"]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path"]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception"]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error"]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response"]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild"]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler"]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler"]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish"]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options"]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin"]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path"]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch"]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory"]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator"]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator"]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post"]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare"]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put"]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado"]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler"]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently"]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with"]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login"]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with"]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path"]], "response (octoprint.server.util.flask.octoprintflaskresponse attribute)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.response"]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access"]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session"]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name"]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port"]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set"]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie"]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers"]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers"]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler"]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie"]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix"]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get"]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect"]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY"]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings"]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay"]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback"]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup"]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder"]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config"]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash"]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml"]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings"]], "deleteapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.deleteApiKey"]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective"]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash"]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml"]], "generateapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.generateApiKey"]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get"]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder"]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean"]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat"]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt"]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has"]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified"]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty"]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts"]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load"]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript"]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay"]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove"]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay"]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback"]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders"]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save"]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript"]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set"]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder"]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean"]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat"]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt"]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings"]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues"]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings"]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists"]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException"]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException"]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured"]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled"]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException"]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager"]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile"]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile"]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile"]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer"]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles"]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing"]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers"]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer"]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile"]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path"]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer"]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path"]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize"]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile"]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified"]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers"]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers"]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile"]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile"]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice"]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer"]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer"]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled"]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS"]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet"]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller"]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError"]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict"]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture"]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue"]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer"]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer"]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue"]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue"]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call"]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call"]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks"]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi"]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy"]], "count() (in module octoprint.util)": [[86, "octoprint.util.count"]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated"]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize"]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean"]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys"]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter"]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten"]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge"]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff"]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize"]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict"]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii"]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get"]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom"]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class"]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string"]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime"]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size"]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta"]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname"]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os"]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file"]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible"]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items"]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call"]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr"]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout"]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation"]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp"]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put"]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run"]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run"]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize"]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec"]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes"]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str"]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str"]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode"]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values"]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated"]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation"]], "access_validator_hook()": [[92, "access_validator_hook"]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook"]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook"]], "additional_commands_hook()": [[92, "additional_commands_hook"]], "additional_permissions_hook()": [[92, "additional_permissions_hook"]], "additional_port_names_hook()": [[92, "additional_port_names_hook"]], "additional_state_data_hook()": [[92, "additional_state_data_hook"]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook"]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook"]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook"]], "capture_post_hook()": [[92, "capture_post_hook"]], "capture_pre_hook()": [[92, "capture_pre_hook"]], "cli_commands_hook()": [[92, "cli_commands_hook"]], "file_extension_hook()": [[92, "file_extension_hook"]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook"]], "firmware_capability_hook()": [[92, "firmware_capability_hook"]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook"]], "firmware_info_hook()": [[92, "firmware_info_hook"]], "gcode_error_hook()": [[92, "gcode_error_hook"]], "gcode_received_hook()": [[92, "gcode_received_hook"]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory"]], "printer_factory_hook()": [[92, "printer_factory_hook"]], "protocol_action_hook()": [[92, "protocol_action_hook"]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook"]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook"]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook"]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook"]], "register_custom_events_hook()": [[92, "register_custom_events_hook"]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook"]], "serial_factory_hook()": [[92, "serial_factory_hook"]], "server_bodysize_hook()": [[92, "server_bodysize_hook"]], "server_route_hook()": [[92, "server_route_hook"]], "templatetype_hook()": [[92, "templatetype_hook"]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook"]], "ui_theming_hook()": [[92, "ui_theming_hook"]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook"]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin"]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin"]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin"]], "mfaplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.MfaPlugin"]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin"]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin"]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin"]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin"]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin"]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin"]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin"]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin"]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin"]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin"]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin"]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing"]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key"]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt"]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice"]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler"]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands"]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder"]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets"]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint"]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes"]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs"]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults"]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors"]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths"]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version"]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile"]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree"]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile"]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles"]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified"]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties"]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs"]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder"]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars"]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag"]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache"]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching"]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files"]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag"]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified"]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter"]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files"]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching"]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions"]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless"]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled"]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations"]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details"]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version"]], "has_mfa_credentials() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.has_mfa_credentials"]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly"]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected"]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected"]], "is_mfa_enabled() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.is_mfa_enabled"]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured"]], "is_template_autoescaped() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.is_template_autoescaped"]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored"]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required"]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup"]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command"]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get"]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event"]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress"]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup"]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized"]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load"]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate"]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save"]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown"]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress"]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup"]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render"]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish"]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route"]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile"]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot"]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui"]]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"@ Commands": [[50, "commands"]], "A YAML Primer": [[40, "a-yaml-primer"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "Absolute imports": [[96, "absolute-imports"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Access control": [[0, "access-control"], [2, "access-control"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Action Commands": [[49, "action-commands"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Add a new group": [[0, "add-a-new-group"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Add a new user": [[0, "add-a-new-user"]], "Add or update request": [[10, "add-or-update-request"]], "Address test result": [[17, "address-test-result"]], "Announced Services": [[25, "announced-services"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Appearance": [[37, "appearance"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "AssetPlugin": [[95, "assetplugin"]], "Authorization": [[4, "authorization"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Autologin": [[48, "autologin"]], "Available Events": [[47, "available-events"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "Backup Plugin": [[24, "backup-plugin"]], "Basic Rules": [[40, "basic-rules"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Bundled Scripts": [[52, "bundled-scripts"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "CLI": [[36, "cli"]], "CSRF Protection": [[4, "csrf-protection"]], "Callbacks": [[97, "callbacks"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Checklist": [[96, "checklist"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Common data model": [[2, "common-data-model"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Communication Throttling": [[70, "communication-throttling"]], "Component list": [[7, "component-list"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Connection handling": [[1, "connection-handling"]], "Containers": [[51, "containers"]], "Content Type": [[4, "content-type"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Context": [[52, "context"]], "Control Properties": [[88, "control-properties"]], "Controls": [[37, "controls"], [51, "controls"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "Current User": [[4, "current-user"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "Custom Controls": [[51, "custom-controls"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Debug commands": [[46, "debug-commands"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Decision request": [[23, "decision-request"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Delete a group": [[0, "delete-a-group"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Delete a user": [[0, "delete-a-user"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Delete file": [[3, "delete-file"]], "Dependencies": [[97, "dependencies"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Development": [[43, "development"]], "Development settings": [[37, "development-settings"]], "Dictionaries": [[40, "dictionaries"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Encoding": [[4, "encoding"]], "Error Information": [[9, "error-information"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Errors": [[44, "errors"]], "Estimation": [[37, "estimation"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Example": [[25, "example"], [47, "example"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Feature": [[37, "feature"]], "Features": [[53, "features"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Fetch template data": [[13, "fetch-template-data"]], "File Check": [[27, "file-check"]], "File handling": [[47, "file-handling"]], "File information": [[2, "file-information"], [31, "file-information"]], "File operations": [[3, "file-operations"]], "File related": [[2, "file-related"]], "Files": [[2, "files"]], "Finding Plugins": [[54, "finding-plugins"]], "Finish wizards": [[19, "finish-wizards"]], "Firmware Check": [[28, "firmware-check"]], "First Steps": [[33, "first-steps"]], "Folder": [[37, "folder"]], "Folders": [[2, "folders"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Full State Response": [[9, "full-state-response"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Further reading": [[96, "further-reading"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Scripts": [[52, "gcode-scripts"]], "GCODE Viewer": [[37, "gcode-viewer"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "GCODE processing": [[47, "gcode-processing"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "General information": [[4, "general-information"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Get connection settings": [[1, "get-connection-settings"]], "Get group list": [[0, "get-group-list"]], "Global credentials": [[33, "global-credentials"]], "Group list response": [[0, "group-list-response"]], "Group record": [[2, "group-record"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Installing Plugins": [[54, "installing-plugins"]], "Integer division": [[96, "integer-division"]], "Interesting data types": [[40, "interesting-data-types"]], "Internal Modules": [[79, "internal-modules"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Issue a file command": [[3, "issue-a-file-command"]], "Issue a job command": [[6, "issue-a-job-command"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "JS Client Library": [[31, "js-client-library"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Job information": [[2, "job-information"]], "Job information response": [[6, "job-information-response"]], "Job operations": [[6, "job-operations"]], "Job related": [[2, "job-related"]], "Key list entry": [[23, "key-list-entry"]], "Key response": [[23, "key-response"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Languages": [[7, "languages"]], "Lifecycle": [[87, "lifecycle"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Linux": [[42, "linux"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "List all permissions": [[0, "list-all-permissions"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "List all response": [[15, "list-all-response"]], "List response": [[7, "list-response"], [23, "list-response"]], "Lists": [[40, "lists"]], "Log file": [[46, "log-file"]], "Log file management": [[8, "log-file-management"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "Logging": [[31, "logging"]], "Login": [[4, "login"]], "Login response": [[4, "login-response"]], "Logout": [[4, "logout"]], "Mac OS X": [[42, "mac-os-x"]], "Manual Installation": [[54, "manual-installation"]], "Manual file distribution": [[89, "manual-file-distribution"]], "MfaPlugin": [[95, "mfaplugin"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "Mixins": [[95, "mixins"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Needs": [[2, "needs"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "Path test result": [[17, "path-test-result"]], "Pending list entry": [[23, "pending-list-entry"]], "Permission list response": [[0, "permission-list-response"]], "Permission record": [[2, "permission-record"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "Placeholders": [[47, "placeholders"]], "Plugin Manager": [[32, "plugin-manager"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Plugin settings": [[37, "plugin-settings"]], "Plugins": [[54, "plugins"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Preparation": [[48, "preparation"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "Printer Profile": [[47, "printer-profile"]], "Printer Profiles": [[37, "printer-profiles"]], "Printer State": [[2, "printer-state"]], "Printer communication": [[47, "printer-communication"]], "Printer operations": [[9, "printer-operations"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Printer related": [[2, "printer-related"]], "Printing": [[47, "printing"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Profile": [[10, "profile"], [14, "profile"]], "Profile Update Request": [[14, "profile-update-request"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Profiling requests": [[44, "profiling-requests"]], "Progress information": [[2, "progress-information"]], "ProgressPlugin": [[95, "progressplugin"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Push updates": [[11, "push-updates"]], "PyCharm": [[42, "pycharm"]], "REST API": [[5, "rest-api"]], "References": [[2, "references"], [31, "references"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Regenerate the system wide API key": [[13, "regenerate-the-system-wide-api-key"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Resend stats": [[2, "resend-stats"]], "Resolution test result": [[17, "resolution-test-result"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Retrieve response": [[3, "retrieve-response"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "SD State": [[9, "sd-state"]], "Safe mode": [[55, "safe-mode"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Save settings": [[13, "save-settings"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Scalars": [[40, "scalars"]], "Scripts": [[37, "scripts"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Server information": [[12, "server-information"]], "Server test result": [[17, "server-test-result"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Settings": [[13, "settings"], [47, "settings"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "Slicer": [[14, "slicer"]], "Slicer list": [[14, "slicer-list"]], "SlicerPlugin": [[95, "slicerplugin"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "Snippets": [[52, "snippets"]], "Software Update Plugin": [[33, "software-update-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Start authorization process": [[23, "start-authorization-process"]], "StartupPlugin": [[95, "startupplugin"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "System": [[15, "system"], [37, "system"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Temperature": [[37, "temperature"]], "Temperature Data": [[2, "temperature-data"]], "Temperature State": [[9, "temperature-state"]], "Temperature offset": [[2, "temperature-offset"]], "TemplatePlugin": [[95, "templateplugin"]], "Terminal Filters": [[37, "terminal-filters"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Timelapse": [[16, "timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Timelapse list": [[16, "timelapse-list"]], "Timelapses": [[47, "timelapses"]], "Todo": [[42, "id1"], [42, "id3"]], "Types": [[51, "types"]], "URL test result": [[17, "url-test-result"]], "UiPlugin": [[95, "uiplugin"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Update a group": [[0, "update-a-group"]], "Update a user": [[0, "update-a-user"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Update methods": [[33, "update-methods"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Upload response": [[3, "upload-response"]], "User list response": [[0, "user-list-response"]], "User record": [[2, "user-record"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Version checks": [[33, "version-checks"]], "Version information": [[18, "version-information"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Version specific imports": [[96, "version-specific-imports"]], "Viewmodels": [[97, "viewmodels"]], "Virtual Printer": [[35, "virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "Web interface reconnect": [[97, "web-interface-reconnect"]], "Web interface startup": [[97, "web-interface-startup"]], "Webcam": [[37, "webcam"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Windows": [[42, "windows"]], "Wizard": [[19, "wizard"]], "Wizard data entry": [[19, "wizard-data-entry"]], "WizardPlugin": [[95, "wizardplugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "boolean": [[40, "boolean"]], "config.yaml": [[37, "config-yaml"]], "connected payload": [[11, "connected-payload"]], "create_backup": [[24, "create-backup"]], "current and history payload": [[11, "current-and-history-payload"]], "delete_backup": [[24, "delete-backup"]], "event payload": [[11, "event-payload"]], "exceptions": [[33, "exceptions"]], "float": [[40, "float"]], "int": [[40, "int"]], "logging.yaml": [[39, "logging-yaml"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.theming.": [[92, "octoprint-theming-dialog"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "string": [[40, "string"]], "updaters": [[33, "updaters"]], "util": [[33, "util"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]]}, "docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "indexentries": {"_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue", false]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager", false]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder", false]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker", false]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder", false]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort", false]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis", false]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus", false]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager", false]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier", false]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger", false]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager", false]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager", false]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name", false]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version", false]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer", false]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager", false]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager", false]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager", false]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel", false]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about", false]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about", false]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue", false]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper", false]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory", false]], "access_validator_hook()": [[92, "access_validator_hook", false]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl", false]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig", false]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax", false]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook", false]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action", false]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig", false]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions", false]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add", false]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file", false]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file", false]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder", false]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder", false]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link", false]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link", false]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay", false]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay", false]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback", false]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook", false]], "additional_commands_hook()": [[92, "additional_commands_hook", false]], "additional_excludes_hook()": [[24, "additional_excludes_hook", false]], "additional_permissions_hook()": [[92, "additional_permissions_hook", false]], "additional_port_names_hook()": [[92, "additional_port_names_hook", false]], "additional_state_data_hook()": [[92, "additional_state_data_hook", false]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates", false]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses", false]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts", false]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers", false]], "after_backup_hook()": [[24, "after_backup_hook", false]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook", false]], "after_restore_hook()": [[24, "after_restore_hook", false]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled", false]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone", false]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected", false]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed", false]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange", false]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles", false]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin", false]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths", false]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming", false]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always", false]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always", false]], "always (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.always", false]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum", false]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum", false]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog", false]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog", false]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook", false]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted", false]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue", false]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser", false]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api", false]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig", false]], "apiuser (class in octoprint.access.users)": [[76, "octoprint.access.users.ApiUser", false]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance", false]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig", false]], "apps (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.apps", false]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict", false]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin", false]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_", false]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author", false]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect", false]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs", false]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged", false]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal", false]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh", false]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval", false]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos", false]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus", false]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp", false]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist", false]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup", false]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel", false]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate", false]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause", false]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed", false]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor", false]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin", false]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ", false]], "before_backup_hook()": [[24, "before_backup_hook", false]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook", false]], "before_restore_hook()": [[24, "before_restore_hook", false]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected", false]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused", false]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted", false]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange", false]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate", false]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted", false]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates", false]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts", false]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands", false]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling", false]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue", false]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin", false]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS", false]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done", false]], "built-in function": [[24, "additional_excludes_hook", false], [24, "after_backup_hook", false], [24, "after_restore_hook", false], [24, "before_backup_hook", false], [24, "before_restore_hook", false], [32, "reconnect_hooks_hook", false], [33, "update_config_hook", false], [92, "access_validator_hook", false], [92, "acl_keyvalidator_hook", false], [92, "additional_bundle_files_hook", false], [92, "additional_commands_hook", false], [92, "additional_permissions_hook", false], [92, "additional_port_names_hook", false], [92, "additional_state_data_hook", false], [92, "after_request_handlers_hook", false], [92, "analysis_queue_factory_hook", false], [92, "before_request_handlers_hook", false], [92, "capture_post_hook", false], [92, "capture_pre_hook", false], [92, "cli_commands_hook", false], [92, "file_extension_hook", false], [92, "file_preprocessor_hook", false], [92, "firmware_capability_hook", false], [92, "firmware_capability_report_hook", false], [92, "firmware_info_hook", false], [92, "gcode_error_hook", false], [92, "gcode_received_hook", false], [92, "print_time_estimator_factory", false], [92, "printer_factory_hook", false], [92, "protocol_action_hook", false], [92, "protocol_atcommandphase_hook", false], [92, "protocol_gcodephase_hook", false], [92, "protocol_scripts_hook", false], [92, "protocol_temperatures_received_hook", false], [92, "register_custom_events_hook", false], [92, "sd_card_upload_hook", false], [92, "serial_factory_hook", false], [92, "server_bodysize_hook", false], [92, "server_route_hook", false], [92, "templatetype_hook", false], [92, "timelapse_extension_hook", false], [92, "ui_theming_hook", false], [92, "user_manager_factory_hook", false]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options", false]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle", false]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled", false]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol", false]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache", false]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster", false]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call", false]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin", false]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file", false]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print", false]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing", false]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing", false]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException", false]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize", false]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize", false]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot", false]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities", false]], "capture_post_hook()": [[92, "capture_post_hook", false]], "capture_pre_hook()": [[92, "capture_pre_hook", false]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll", false]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet", false]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER", false]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool", false]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check", false]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified", false]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder", false]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword", false]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call", false]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands", false]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children", false]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks", false]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR", false]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi", false]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup", false]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays", false]], "cli_commands_hook()": [[92, "cli_commands_hook", false]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close", false]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close", false]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS", false]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick", false]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color", false]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum", false]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon", false]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent", false]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command", false]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command", false]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command", false]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller", false]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError", false]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands", false]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands", false]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands", false]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig", false]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication", false]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy", false]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat", false]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig", false]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig", false]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig", false]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components", false]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag", false]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config", false]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config", false]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash", false]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key", false]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml", false]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers", false]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm", false]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm", false]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect", false]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection", false]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig", false]], "content_type (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type", false]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector", false]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping", false]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig", false]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig", false]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls", false]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig", false]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies", false]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies", false]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig", false]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy", false]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file", false]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file", false]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder", false]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder", false]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage", false]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler", false]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler", false]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin", false]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError", false]], "count() (in module octoprint.util)": [[86, "octoprint.util.count", false]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper", false]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical", false]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt", false]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler", false]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler", false]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css", false]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection", false]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters", false]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection", false]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer", false]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff", false]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options", false]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data", false]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received", false]], "date (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.date", false]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug", false]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default", false]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default", false]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default", false]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default", false]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings", false]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer", false]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage", false]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict", false]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles", false]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout", false]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer", false]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam", false]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete", false]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete", false]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper", false]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie", false]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile", false]], "deleteapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.deleteApiKey", false]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture", false]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated", false]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler", false]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description", false]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize", false]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect", false]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive", false]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst", false]], "detector (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.detector", false]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel", false]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig", false]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig", false]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig", false]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean", false]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys", false]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter", false]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten", false]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge", false]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff", false]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize", false]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable", false]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin", false]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled", false]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled", false]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection", false]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged", false]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect", false]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors", false]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper", false]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace", false]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig", false]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName", false]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice", false]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps", false]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler", false]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective", false]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash", false]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml", false]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser", false]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands", false]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable", false]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension", false]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin", false]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection", false]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled", false]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled", false]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled", false]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled", false]], "enabled (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.enabled", false]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled", false]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload", false]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter", false]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand", false]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding", false]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames", false]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue", false]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ", false]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler", false]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation", false]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig", false]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event", false]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin", false]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events", false]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig", false]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription", false]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions", false]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive", false]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20", false]], "extensions (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions", false]], "extensions (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions", false]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection", false]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras", false]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude", false]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder", false]], "failure (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.failure", false]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack", false]], "fallback (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.fallback", false]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict", false]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature", false]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig", false]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate", false]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg", false]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline", false]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads", false]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline", false]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec", false]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists", false]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists", false]], "file_extension_hook()": [[92, "file_extension_hook", false]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path", false]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path", false]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook", false]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii", false]], "firmware_capability_hook()": [[92, "firmware_capability_hook", false]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook", false]], "firmware_info_hook()": [[92, "firmware_info_hook", false]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection", false]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun", false]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access", false]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode", false]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling", false]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin", false]], "flags (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.flags", false]], "flags (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.flags", false]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH", false]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV", false]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate", false]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder", false]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists", false]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists", false]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig", false]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible", false]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled", false]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin", false]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent", false]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three", false]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps", false]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes", false]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder", false]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode", false]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode", false]], "gcode_error_hook()": [[92, "gcode_error_hook", false]], "gcode_received_hook()": [[92, "gcode_received_hook", false]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis", false]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig", false]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue", false]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig", false]], "generateapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.generateApiKey", false]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated", false]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler", false]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic", false]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic", false]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get", false]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get", false]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get", false]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get", false]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get", false]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata", false]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata", false]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands", false]], "get_api_key() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_api_key", false]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder", false]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets", false]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint", false]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes", false]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs", false]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom", false]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean", false]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class", false]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command", false]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command", false]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options", false]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options", false]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type", false]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version", false]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix", false]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection", false]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data", false]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job", false]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures", false]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string", false]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations", false]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request", false]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float", false]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime", false]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size", false]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta", false]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname", false]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers", false]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook", false]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks", false]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation", false]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations", false]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int", false]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified", false]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified", false]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata", false]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata", false]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os", false]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin", false]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder", false]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder", false]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info", false]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path", false]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path", false]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults", false]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors", false]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths", false]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version", false]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size", false]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size", false]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer", false]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile", false]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree", false]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile", false]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path", false]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles", false]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified", false]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties", false]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key", false]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id", false]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string", false]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history", false]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs", false]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder", false]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars", false]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport", false]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag", false]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache", false]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching", false]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files", false]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag", false]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified", false]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter", false]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files", false]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching", false]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions", false]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless", false]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled", false]], "get_user_for_apikey() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_apikey", false]], "get_user_for_authorization_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_authorization_header", false]], "get_user_for_remote_user_header() (in module octoprint.server.util)": [[83, "octoprint.server.util.get_user_for_remote_user_header", false]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations", false]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details", false]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version", false]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder", false]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean", false]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat", false]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt", false]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get", false]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder", false]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean", false]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float", false]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int", false]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set", false]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean", false]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float", false]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int", false]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform", false]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green", false]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile", false]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager", false]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request", false]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream", false]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has", false]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis", false]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis", false]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks", false]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins", false]], "has_mfa_credentials() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.has_mfa_credentials", false]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks", false]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions", false]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks", false]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation", false]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head", false]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat", false]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand", false]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers", false]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden", false]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option", false]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption", false]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home", false]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks", false]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks", false]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal", false]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host", false]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host", false]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback", false]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader", false]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown", false]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle", false]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle", false]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands", false]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts", false]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware", false]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends", false]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup", false]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation", false]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible", false]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info", false]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum", false]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli", false]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize", false]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize", false]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize", false]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize", false]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input", false]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval", false]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval", false]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax", false]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError", false]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername", false]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck", false]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig", false]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file", false]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly", false]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected", false]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected", false]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling", false]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error", false]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file", false]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error", false]], "is_mfa_enabled() (octoprint.plugin.mfaplugin method)": [[95, "octoprint.plugin.MfaPlugin.is_mfa_enabled", false]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart", false]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook", false]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational", false]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible", false]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused", false]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing", false]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked", false]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing", false]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready", false]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook", false]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin", false]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured", false]], "is_template_autoescaped() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.is_template_autoescaped", false]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored", false]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required", false]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items", false]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript", false]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold", false]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog", false]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path", false]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path", false]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path", false]], "key (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.key", false]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl", false]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys", false]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler", false]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified", false]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified", false]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified", false]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty", false]], "last_octoprint (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.last_octoprint", false]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize", false]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax", false]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout", false]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum", false]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options", false]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less", false]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache", false]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write", false]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license", false]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream", false]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands", false]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands", false]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files", false]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files", false]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts", false]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load", false]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load", false]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay", false]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays", false]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile", false]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded", false]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript", false]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage", false]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks", false]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand", false]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log", false]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception", false]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines", false]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel", false]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause", false]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends", false]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs", false]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long", false]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str", false]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands", false]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin", false]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT", false]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency", false]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error", false]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response", false]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable", false]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin", false]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max", false]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts", false]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends", false]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders", false]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting", false]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize", false]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize", false]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses", false]], "mfaplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.MfaPlugin", false]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min", false]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify", false]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins", false]], "model_computed_fields (octoprint.schema.basemodel attribute)": [[82, "octoprint.schema.BaseModel.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.model_computed_fields", false]], "model_computed_fields (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.model_computed_fields", false]], "model_computed_fields (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.model_computed_fields", false]], "model_computed_fields (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.model_computed_fields", false]], "model_computed_fields (octoprint.server.util.flask.reverseproxyinfo attribute)": [[83, "octoprint.server.util.flask.ReverseProxyInfo.model_computed_fields", false]], "model_config (octoprint.schema.basemodel attribute)": [[82, "octoprint.schema.BaseModel.model_config", false]], "model_config (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.model_config", false]], "model_config (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.model_config", false]], "model_config (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.model_config", false]], "model_config (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.model_config", false]], "model_config (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.model_config", false]], "model_config (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.model_config", false]], "model_config (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.model_config", false]], "model_config (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.model_config", false]], "model_config (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.model_config", false]], "model_config (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.model_config", false]], "model_config (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.model_config", false]], "model_config (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.model_config", false]], "model_config (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.model_config", false]], "model_config (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.model_config", false]], "model_config (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.model_config", false]], "model_config (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.model_config", false]], "model_config (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.model_config", false]], "model_config (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.model_config", false]], "model_config (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.model_config", false]], "model_config (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.model_config", false]], "model_config (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.model_config", false]], "model_config (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.model_config", false]], "model_config (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.model_config", false]], "model_config (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.model_config", false]], "model_config (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.model_config", false]], "model_config (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.model_config", false]], "model_config (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.model_config", false]], "model_config (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.model_config", false]], "model_config (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.model_config", false]], "model_config (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.model_config", false]], "model_config (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.model_config", false]], "model_config (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.model_config", false]], "model_config (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.model_config", false]], "model_config (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.model_config", false]], "model_config (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.model_config", false]], "model_config (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.model_config", false]], "model_config (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.model_config", false]], "model_config (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.model_config", false]], "model_config (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.model_config", false]], "model_config (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.model_config", false]], "model_config (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.model_config", false]], "model_config (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.model_config", false]], "model_config (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.model_config", false]], "model_config (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.model_config", false]], "model_config (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.model_config", false]], "model_config (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.model_config", false]], "model_config (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.model_config", false]], "model_config (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.model_config", false]], "model_config (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.model_config", false]], "model_config (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.model_config", false]], "model_config (octoprint.server.util.flask.reverseproxyinfo attribute)": [[83, "octoprint.server.util.flask.ReverseProxyInfo.model_config", false]], "model_fields (octoprint.schema.basemodel attribute)": [[82, "octoprint.schema.BaseModel.model_fields", false]], "model_fields (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.model_fields", false]], "model_fields (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.model_fields", false]], "model_fields (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.model_fields", false]], "model_fields (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.model_fields", false]], "model_fields (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.model_fields", false]], "model_fields (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.model_fields", false]], "model_fields (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.model_fields", false]], "model_fields (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.model_fields", false]], "model_fields (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.model_fields", false]], "model_fields (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.model_fields", false]], "model_fields (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.model_fields", false]], "model_fields (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.model_fields", false]], "model_fields (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.model_fields", false]], "model_fields (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.model_fields", false]], "model_fields (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.model_fields", false]], "model_fields (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.model_fields", false]], "model_fields (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.model_fields", false]], "model_fields (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.model_fields", false]], "model_fields (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.model_fields", false]], "model_fields (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.model_fields", false]], "model_fields (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.model_fields", false]], "model_fields (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.model_fields", false]], "model_fields (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.model_fields", false]], "model_fields (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.pythoneolentry attribute)": [[82, "octoprint.schema.config.server.PythonEolEntry.model_fields", false]], "model_fields (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.model_fields", false]], "model_fields (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.model_fields", false]], "model_fields (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.model_fields", false]], "model_fields (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.model_fields", false]], "model_fields (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.model_fields", false]], "model_fields (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.model_fields", false]], "model_fields (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.model_fields", false]], "model_fields (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.model_fields", false]], "model_fields (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.model_fields", false]], "model_fields (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.model_fields", false]], "model_fields (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.model_fields", false]], "model_fields (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.model_fields", false]], "model_fields (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.model_fields", false]], "model_fields (octoprint.server.util.flask.reverseproxyinfo attribute)": [[83, "octoprint.server.util.flask.ReverseProxyInfo.model_fields", false]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection", false]], "module": [[76, "module-octoprint.access.users", false], [77, "module-octoprint.cli", false], [77, "module-octoprint.cli.dev", false], [77, "module-octoprint.cli.plugins", false], [77, "module-octoprint.cli.server", false], [78, "module-octoprint.filemanager", false], [78, "module-octoprint.filemanager.analysis", false], [78, "module-octoprint.filemanager.destinations", false], [78, "module-octoprint.filemanager.storage", false], [78, "module-octoprint.filemanager.util", false], [80, "module-octoprint.plugin", false], [80, "module-octoprint.plugin.core", false], [80, "module-octoprint.plugin.types", false], [81, "module-octoprint.printer", false], [81, "module-octoprint.printer.profile", false], [82, "module-octoprint.schema", false], [82, "module-octoprint.schema.config", false], [82, "module-octoprint.schema.config.access_control", false], [82, "module-octoprint.schema.config.api", false], [82, "module-octoprint.schema.config.appearance", false], [82, "module-octoprint.schema.config.controls", false], [82, "module-octoprint.schema.config.devel", false], [82, "module-octoprint.schema.config.estimation", false], [82, "module-octoprint.schema.config.events", false], [82, "module-octoprint.schema.config.feature", false], [82, "module-octoprint.schema.config.folder", false], [82, "module-octoprint.schema.config.gcode_analysis", false], [82, "module-octoprint.schema.config.plugins", false], [82, "module-octoprint.schema.config.printer_parameters", false], [82, "module-octoprint.schema.config.printer_profiles", false], [82, "module-octoprint.schema.config.scripts", false], [82, "module-octoprint.schema.config.serial", false], [82, "module-octoprint.schema.config.server", false], [82, "module-octoprint.schema.config.slicing", false], [82, "module-octoprint.schema.config.system", false], [82, "module-octoprint.schema.config.temperature", false], [82, "module-octoprint.schema.config.terminalfilters", false], [82, "module-octoprint.schema.config.webcam", false], [82, "module-octoprint.schema.webcam", false], [83, "module-octoprint.server", false], [83, "module-octoprint.server.util", false], [83, "module-octoprint.server.util.flask", false], [83, "module-octoprint.server.util.sockjs", false], [83, "module-octoprint.server.util.tornado", false], [84, "module-octoprint.settings", false], [85, "module-octoprint.slicing", false], [85, "module-octoprint.slicing.exceptions", false], [86, "module-octoprint.util", false], [86, "module-octoprint.util.commandline", false], [86, "module-octoprint.util.platform", false]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file", false]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file", false]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder", false]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder", false]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream", false]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name", false]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name", false]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name", false]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name", false]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name", false]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name", false]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name", false]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name", false]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name", false]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name", false]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name", false]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix", false]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar", false]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar", false]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild", false]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart", false]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never", false]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never", false]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never", false]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum", false]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access", false]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler", false]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler", false]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none", false]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage", false]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands", false]], "octoprint.access.users": [[76, "module-octoprint.access.users", false]], "octoprint.cli": [[77, "module-octoprint.cli", false]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev", false]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins", false]], "octoprint.cli.server": [[77, "module-octoprint.cli.server", false]], "octoprint.filemanager": [[78, "module-octoprint.filemanager", false]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis", false]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations", false]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage", false]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util", false]], "octoprint.plugin": [[80, "module-octoprint.plugin", false]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core", false]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types", false]], "octoprint.printer": [[81, "module-octoprint.printer", false]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile", false]], "octoprint.schema": [[82, "module-octoprint.schema", false]], "octoprint.schema.config": [[82, "module-octoprint.schema.config", false]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control", false]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api", false]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance", false]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls", false]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel", false]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation", false]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events", false]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature", false]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder", false]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis", false]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins", false]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters", false]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles", false]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts", false]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial", false]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server", false]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing", false]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system", false]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature", false]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters", false]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam", false]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam", false]], "octoprint.server": [[83, "module-octoprint.server", false]], "octoprint.server.util": [[83, "module-octoprint.server.util", false]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask", false]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs", false]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado", false]], "octoprint.settings": [[84, "module-octoprint.settings", false]], "octoprint.slicing": [[85, "module-octoprint.slicing", false]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions", false]], "octoprint.util": [[86, "module-octoprint.util", false]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline", false]], "octoprint.util.platform": [[86, "module-octoprint.util.platform", false]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity", false]], "octoprintclient() (class)": [[57, "OctoPrintClient", false]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax", false]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData", false]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login", false]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout", false]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin", false]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect", false]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect", false]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck", false]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings", false]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls", false]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode", false]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript", false]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters", false]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters", false]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException", false]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred", false]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete", false]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download", false]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy", false]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder", false]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete", false]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download", false]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath", false]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get", false]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list", false]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation", false]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move", false]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry", false]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select", false]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice", false]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload", false]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get", false]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl", false]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl", false]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie", false]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders", false]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl", false]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery", false]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError", false]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand", false]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel", false]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get", false]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause", false]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart", false]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume", false]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start", false]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause", false]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete", false]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list", false]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload", false]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options", false]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch", false]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson", false]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins", false]], "octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate", false]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision", false]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide", false]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey", false]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys", false]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey", false]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys", false]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe", false]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request", false]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser", false]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey", false]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp", false]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog", false]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog", false]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs", false]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post", false]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson", false]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude", false]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState", false]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState", false]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState", false]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState", false]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState", false]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home", false]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd", false]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog", false]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd", false]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd", false]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool", false]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature", false]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset", false]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature", false]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset", false]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate", false]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate", false]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures", false]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets", false]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add", false]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete", false]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get", false]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list", false]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update", false]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put", false]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson", false]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent", false]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey", false]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get", false]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings", false]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save", false]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings", false]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand", false]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet", false]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer", false]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer", false]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer", false]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles", false]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer", false]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer", false]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect", false]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate", false]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect", false]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate", false]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage", false]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh", false]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow", false]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options", false]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect", false]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage", false]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth", false]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage", false]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand", false]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands", false]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource", false]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete", false]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered", false]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download", false]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get", false]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig", false]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list", false]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered", false]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered", false]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered", false]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig", false]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload", false]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add", false]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword", false]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete", false]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey", false]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get", false]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings", false]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list", false]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey", false]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings", false]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update", false]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test", false]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable", false]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath", false]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution", false]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer", false]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl", false]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish", false]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get", false]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext", false]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands", false]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest", false]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse", false]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider", false]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin", false]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands", false]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface", false]], "off (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.off", false]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off", false]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup", false]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command", false]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get", false]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event", false]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish", false]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call", false]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr", false]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout", false]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled", false]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled", false]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall", false]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress", false]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log", false]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message", false]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature", false]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message", false]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data", false]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data", false]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup", false]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized", false]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load", false]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate", false]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save", false]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown", false]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress", false]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup", false]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render", false]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish", false]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck", false]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig", false]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options", false]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options", false]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin", false]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange", false]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order", false]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin", false]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path", false]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY", false]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter", false]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata", false]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx", false]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch", false]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage", false]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage", false]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk", false]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk", false]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory", false]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix", false]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause", false]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print", false]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers", false]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands", false]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation", false]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator", false]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator", false]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager", false]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin", false]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks", false]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager", false]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager", false]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings", false]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver", false]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist", false]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig", false]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo", false]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager", false]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins", false]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins", false]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins", false]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig", false]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings", false]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings", false]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched", false]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port", false]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port", false]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port", false]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback", false]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader", false]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport", false]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait", false]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post", false]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll", false]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp", false]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive", false]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache", false]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig", false]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment", false]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback", false]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader", false]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare", false]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue", false]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory", false]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation", false]], "printer_factory_hook()": [[92, "printer_factory_hook", false]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback", false]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface", false]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters", false]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig", false]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager", false]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles", false]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles", false]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig", false]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing", false]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation", false]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime", false]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig", false]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy", false]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line", false]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile", false]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists", false]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException", false]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles", false]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified", false]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin", false]], "protocol_action_hook()": [[92, "protocol_action_hook", false]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook", false]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook", false]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook", false]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook", false]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put", false]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put", false]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat", false]], "pythoneolcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pythonEolCheck", false]], "pythoneolcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig", false]], "pythoneolentry (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PythonEolEntry", false]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry", false]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum", false]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable", false]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable", false]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook", false]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR", false]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red", false]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado", false]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex", false]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex", false]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback", false]], "register_custom_events_hook()": [[92, "register_custom_events_hook", false]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver", false]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers", false]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins", false]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers", false]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin", false]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin", false]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder", false]], "remotegroupsheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsHeader", false]], "remotegroupsmapping (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteGroupsMapping", false]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader", false]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove", false]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata", false]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata", false]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file", false]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file", false]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder", false]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder", false]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler", false]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link", false]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link", false]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay", false]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay", false]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback", false]], "renderafterprint (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.renderAfterPrint", false]], "renderafterprintenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum", false]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer", false]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp", false]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin", false]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently", false]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with", false]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login", false]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with", false]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk", false]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart", false]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold", false]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer", false]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path", false]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin", false]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin", false]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access", false]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume", false]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print", false]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop", false]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy", false]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig", false]], "reverseproxyinfo (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.ReverseProxyInfo", false]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90", false]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route", false]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run", false]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run", false]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server", false]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt", false]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum", false]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt", false]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite", false]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum", false]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize", false]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize", false]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name", false]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name", false]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path", false]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path", false]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders", false]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools", false]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save", false]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save", false]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save", false]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save", false]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save", false]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile", false]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session", false]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile", false]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError", false]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript", false]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback", false]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader", false]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script", false]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script", false]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts", false]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts", false]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig", false]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook", false]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable", false]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand", false]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase", false]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath", false]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus", false]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport", false]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport", false]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey", false]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure", false]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable", false]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable", false]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards", false]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file", false]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback", false]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message", false]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically", false]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter", false]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands", false]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError", false]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial", false]], "serial_factory_hook()": [[92, "serial_factory_hook", false]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities", false]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig", false]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize", false]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts", false]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig", false]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server", false]], "server_bodysize_hook()": [[92, "server_bodysize_hook", false]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name", false]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options", false]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port", false]], "server_route_hook()": [[92, "server_route_hook", false]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig", false]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback", false]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader", false]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand", false]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set", false]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set", false]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set", false]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata", false]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata", false]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean", false]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec", false]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie", false]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option", false]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers", false]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile", false]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers", false]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float", false]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler", false]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int", false]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold", false]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature", false]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset", false]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder", false]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean", false]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat", false]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt", false]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings", false]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings", false]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings", false]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings", false]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings", false]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater", false]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin", false]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie", false]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso", false]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename", false]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation", false]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin", false]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar", false]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar", false]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin", false]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine", false]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice", false]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer", false]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer", false]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException", false]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured", false]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin", false]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing", false]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled", false]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled", false]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig", false]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException", false]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager", false]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile", false]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles", false]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider", false]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot", false]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay", false]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation", false]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout", false]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam", false]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets", false]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout", false]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin", false]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order", false]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path", false]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path", false]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix", false]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold", false]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options", false]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print", false]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode", false]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin", false]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler", false]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler", false]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil", false]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step", false]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface", false]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream", false]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream", false]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get", false]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio", false]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout", false]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers", false]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper", false]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict", false]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet", false]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum", false]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions", false]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum", false]], "success (octoprint.schema.config.webcam.renderafterprintenum attribute)": [[82, "octoprint.schema.config.webcam.RenderAfterPrintEnum.success", false]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand", false]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk", false]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait", false]], "suppresssecondhello (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.suppressSecondHello", false]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend", false]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system", false]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system", false]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig", false]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler", false]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand", false]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand", false]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab", false]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab", false]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot", false]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature", false]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature", false]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport", false]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig", false]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph", false]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile", false]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet", false]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template", false]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin", false]], "templatetype_hook()": [[92, "templatetype_hook", false]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile", false]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry", false]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters", false]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize", false]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession", false]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio", false]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines", false]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio", false]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed", false]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse", false]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse", false]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook", false]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp", false]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig", false]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled", false]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions", false]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum", false]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout", false]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout", false]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes", false]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str", false]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str", false]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode", false]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print", false]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations", false]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29", false]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication", false]], "trustedproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedProxies", false]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets", false]], "trustlocalhostproxies (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustLocalhostProxies", false]], "trustremotegroups (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteGroups", false]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser", false]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl", false]], "ttl (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.ttl", false]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type", false]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type", false]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue", false]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue", false]], "ui_theming_hook()": [[92, "ui_theming_hook", false]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin", false]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck", false]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile", false]], "unknownrole": [[76, "octoprint.access.users.UnknownRole", false]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer", false]], "unknownuser": [[76, "octoprint.access.users.UnknownUser", false]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload", false]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback", false]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver", false]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file", false]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until", false]], "update_config_hook()": [[33, "update_config_hook", false]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation", false]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads", false]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads", false]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig", false]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler", false]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url", false]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url", false]], "url (octoprint.schema.config.server.pythoneolcheckconfig attribute)": [[82, "octoprint.schema.config.server.PythonEolCheckConfig.url", false]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler", false]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState", false]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround", false]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User", false]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook", false]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists", false]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile", false]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager", false]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings", false]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings", false]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes", false]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues", false]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex", false]], "valid_heater_regex_no_current (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex_no_current", false]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex", false]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate", false]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect", false]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange", false]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values", false]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated", false]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation", false]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version", false]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical", false]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet", false]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd", false]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect", false]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList", false]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn", false]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings", false]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning", false]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched", false]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark", false]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets", false]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam", false]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam", false]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility", false]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig", false]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled", false]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin", false]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler", false]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui", false]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard", false]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard", false]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin", false]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable", false]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable", false]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer", false]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow", false]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange", false]]}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings-apikey", "/api/settings/apikey"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 10, 1, "", "ApiUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 13, 1, "", "detector"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 13, 1, "", "content_type"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [95, 10, 1, "", "MfaPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.MfaPlugin": [[95, 12, 1, "", "has_mfa_credentials"], [95, 12, 1, "", "is_mfa_enabled"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"], [95, 12, 1, "", "is_template_autoescaped"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "flags"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_heater_regex_no_current"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteGroupsHeader"], [82, 13, 1, "", "remoteGroupsMapping"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteGroups"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "apps"], [82, 13, 1, "", "key"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "flags"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "suppressSecondHello"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "PythonEolCheckConfig"], [82, 10, 1, "", "PythonEolEntry"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.PythonEolCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "fallback"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PythonEolEntry": [[82, 13, 1, "", "date"], [82, 13, 1, "", "last_octoprint"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustLocalhostProxies"], [82, 13, 1, "", "trustedProxies"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "pythonEolCheck"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "RenderAfterPrintEnum"], [82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.RenderAfterPrintEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "failure"], [82, 13, 1, "", "off"], [82, 13, 1, "", "success"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "renderAfterPrint"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "model_computed_fields"], [82, 13, 1, "", "model_config"], [82, 13, 1, "", "model_fields"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "get_api_key"], [83, 8, 1, "", "get_user_for_apikey"], [83, 8, 1, "", "get_user_for_authorization_header"], [83, 8, 1, "", "get_user_for_remote_user_header"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "ReverseProxyInfo"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.ReverseProxyInfo": [[83, 13, 1, "", "model_computed_fields"], [83, 13, 1, "", "model_config"], [83, 13, 1, "", "model_fields"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 12, 1, "", "deleteApiKey"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "generateApiKey"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "terms": {"": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 34, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "000000": 3, "00m": 92, "01": [37, 46, 82, 90], "01378": 9, "02": [9, 31, 92, 95], "02mm": 9, "03": 92, "032": 9, "05": [9, 17, 82], "058": 90, "06": [82, 90], "082": 9, "09": 92, "0rc": 41, "0rc1": [41, 96], "0rc2": 41, "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 47, 51, 66, 70, 82, 84, 85, 90, 92, 95], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "10000": 92, "10000k": 82, "100kb": [37, 82, 92], "101": [9, 90], "1024": [39, 92], "102400": [37, 82], "1024kb": 92, "105": [9, 46], "107": 9, "1073741824": [37, 82], "1094933": 86, "10mm": [9, 51, 66], "11": [4, 22, 26, 34, 37, 42, 82, 83, 86, 90, 92, 95], "110": 46, "1107": 82, "1123": 9, "115": 46, "115200": [1, 37, 92], "1188": 3, "12": [47, 95], "122": 90, "12237201408": 31, "1234": [3, 25, 74], "123456": 37, "124": 90, "125": 9, "127": [37, 48, 74, 82, 88, 92], "128": [48, 82], "13": [42, 55, 70, 90], "132": 90, "13205": 31, "1334": 3, "134": 90, "135": 90, "1378847754": [3, 6], "1387144346": 3, "1392628936": 31, "1393158814": 31, "1395651926": 9, "1395651928": 9, "14": 90, "140": 95, "14159430": 90, "1440": [32, 33, 82], "1468987": [3, 6], "1470859680": 7, "1474574597": 7, "15": [3, 37, 82], "150": [10, 33], "15min": 34, "16": [17, 33, 82, 92], "168": [17, 37, 48, 82], "17": [31, 90, 95, 96], "174": 9, "178": 92, "1798419": 31, "18": [90, 92], "180": [37, 82], "19": 90, "192": [17, 37, 48, 82], "19200": 1, "19302": 82, "199": 17, "1gb": [37, 82], "1px": 90, "1st": 96, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "200mb": [37, 82], "201": [3, 14, 23], "2013": [29, 35, 48], "2014": 31, "2015": [90, 95], "2016": [42, 92], "2018": 92, "2019": 42, "202": [3, 23], "2020": 96, "2020083": 86, "2023": [82, 90], "2024": 82, "2028598": [86, 90], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "205": [9, 66], "2097152": [37, 39], "20971520": 37, "209715200": [37, 82], "20mb": 37, "20mm": [3, 10], "21": [10, 46, 92, 95], "210": [37, 82, 92], "212": 9, "213": 92, "214": 9, "216": 92, "217": 92, "219": 92, "220": [9, 46, 66, 92], "221": 9, "2298468264184775": 6, "23": [3, 40, 46, 48, 92, 95], "230": 92, "230400": 1, "232": 92, "234": 92, "2342": 95, "24": [37, 82, 89, 92], "242": 92, "243": 92, "246": 3, "24h": 33, "25": [9, 10, 37, 82, 92], "250000": [1, 84], "252": 9, "253": 9, "255": [37, 48, 51, 82], "25mm": 10, "263": 3, "27": [46, 82], "276": 6, "286": 9, "29": 92, "299": 17, "2f": 46, "2fa": 95, "2gb": 3, "2h": 92, "2mb": 37, "2mm": 66, "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "30": [37, 82, 86, 90], "300": [10, 17, 22, 37, 83, 92], "3000": 51, "3000mm": 51, "302": 83, "31": [82, 90, 92], "312464": 86, "32": 9, "33": 90, "337942": 6, "34": [46, 90], "342": 92, "3482": [37, 82], "349182": 83, "35": 90, "355": 92, "357": 92, "358": 92, "36": [3, 6, 90], "360": [32, 33], "3785": 9, "38": [90, 92], "38400": 1, "399": 17, "3d": 56, "3df4550c": 42, "3mm": 9, "3rd": 11, "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "40": [70, 95], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "401": 4, "403": [0, 4, 13, 31, 83], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "409": [0, 3, 6, 9, 10], "41": 90, "411": 9, "415": 3, "42": [40, 48, 90], "43": [46, 90], "430": 3, "43712": 31, "443": 25, "45": 92, "46": 90, "47": 90, "48": 90, "49": 9, "494": 9, "496c": 42, "499": 17, "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "50": [9, 66, 82, 92], "500": [3, 15, 17, 44, 83, 92], "5000": [37, 82, 84], "5000k": 37, "5001": 88, "500m": [11, 70], "500mb": [37, 82], "5088147346030592": [37, 82], "512": 83, "522": 9, "524288000": 82, "53": [17, 37, 74, 82, 90], "54": 90, "54089": 9, "552": 92, "553": 92, "555": 92, "556": 92, "558": 92, "5633521622188032": [37, 82], "57": 40, "57600": 1, "5987": [3, 4], "599": 17, "5mm": [9, 66], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "60": [37, 82, 86, 92], "6000": 10, "600px": 90, "634": 90, "63488000": 37, "64": 46, "69": [9, 90], "6h": 33, "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "70": 9, "731": 9, "748": 9, "75": [3, 9], "779": 9, "786": 90, "792": 90, "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "808080": 90, "8081": 4, "810": [3, 6], "818": 90, "83763": 9, "85": 9, "85a134": 90, "8601": 47, "861": 92, "866": 9, "868": 9, "87": 9, "8811": 6, "8821": 9, "8859": 4, "8963": 9, "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "90": [37, 66, 82], "900": 82, "91": 9, "912": 6, "92338": 9, "93": 9, "95": 9, "96": 9, "9600": 1, "97566": 9, "98": 9, "9946": 9, "997": 90, "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "And": [33, 46, 48, 92], "As": [24, 34, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "At": [23, 44, 57, 78], "Be": [82, 92], "But": [40, 90], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 34, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "Its": 56, "NO": 47, "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "OR": 57, "Of": [90, 95], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "Or": [2, 48], "Such": 49, "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 95, 96], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "Their": [92, 97], "Then": [42, 48, 90, 92, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "These": [20, 37, 42, 51, 52, 82, 88, 95], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "WILL": 81, "Will": [0, 4, 7, 9, 10, 13, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "With": [11, 52, 55, 85, 96], "_": [61, 62, 80, 90, 91, 92, 95], "_1st": 95, "_2nd": 95, "__call__": 83, "__currentz": 47, "__data": 47, "__doc__": 86, "__eventnam": 47, "__fields__": [82, 83], "__filenam": 47, "__fileorigin": 47, "__filepath": 47, "__future__": [95, 96], "__init": 89, "__init__": [90, 92, 95, 96], "__name__": [88, 91, 92], "__now": 47, "__overlay__": 84, "__plugin_author__": [88, 90], "__plugin_check__": 88, "__plugin_description__": [88, 90, 92], "__plugin_disable__": 88, "__plugin_enable__": 88, "__plugin_helpers__": 91, "__plugin_hooks__": [24, 32, 33, 88, 92], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_license__": [88, 90], "__plugin_load__": [88, 91, 92], "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_privacypolicy__": 88, "__plugin_pycompat__": 96, "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_settings_overlay__": 88, "__plugin_unload__": 88, "__plugin_url__": [88, 90], "__plugin_version__": [88, 90, 92, 94], "__progress": 47, "_about": 95, "_after_": 90, "_analysi": 85, "_analysis_queu": [79, 80, 94], "_app_session_manag": [79, 80], "_apply_xhead": 83, "_async": 86, "_awesometempl": 92, "_basefold": [79, 80, 94], "_build": 42, "_cancel": 85, "_changest": 92, "_config": 95, "_config_vers": 95, "_connectivity_check": [77, 79, 80, 94], "_core": 7, "_current": 78, "_data_fold": [79, 80], "_datafold": 94, "_default": [1, 10, 37, 82], "_detectport": 92, "_disabl": [37, 82], "_div": 92, "_do_abort": [78, 79], "_do_analysi": [78, 79], "_environment_detector": 77, "_error": 85, "_errorvalu": 92, "_event_bu": [77, 79, 80, 94], "_file_manag": [79, 80, 94], "_flag": 82, "_forcedcompat": [37, 82, 96], "_gcode_hook": 92, "_gcodescript_hook": 92, "_get_free_remote_nam": 92, "_gntp": 91, "_handled_error": 92, "_httprequestcontext": 83, "_identifi": [77, 79, 80, 94], "_import": 22, "_is_external_cli": 4, "_log": 92, "_logger": [77, 79, 80, 90, 92, 94, 95], "_mfa_login": 95, "_navbar": 95, "_not_": 83, "_plugin_": [92, 95], "_plugin_info": 94, "_plugin_lifecycle_manag": [79, 80], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "_plugin_nam": [33, 79, 80, 94], "_plugin_vers": [33, 79, 80, 94], "_pluginmanag": 92, "_printer": [79, 80, 94], "_printer_profile_manag": [79, 80, 94], "_process_multipart_data": 83, "_progress": [85, 95], "_r": 4, "_refresh": 95, "_register_growl": 91, "_server_request_loop": 83, "_set": [77, 90, 91, 92, 94, 95], "_sidebar": 95, "_size": 92, "_slicing_manag": [79, 80, 94], "_someservic": 25, "_sortingord": [37, 82], "_strip": 92, "_tab": 95, "_tcp": 91, "_user_manag": [79, 80, 94], "_userset": 95, "_usersettings_mfa": 95, "_webcam": 95, "_wizard": 95, "a1": 86, "a189": 42, "a2": 86, "a4ut": 3, "a_list": 40, "a_turtle_turtl": 2, "aabbccddee1234523452345": 48, "ab": [37, 82], "abandon": 4, "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "abcdef1234567890": 23, "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "abort": [21, 23, 50, 78, 92, 95], "abortheatuponcancel": [79, 82], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "abridg": [3, 14], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "absolute_import": [95, 96], "absolute_path": 78, "abspath": 83, "abstract": 81, "abstractanalysisqueu": [78, 79, 92], "abstractfilewrapp": [78, 79, 92], "abus": [49, 81], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "access_control": 82, "access_valid": [83, 93], "access_validation_factori": [79, 83], "access_validator_hook": 92, "accesscontrol": [13, 37, 48, 79, 82, 93], "accesscontrolconfig": [79, 82], "accessviewmodel": 92, "accident": [51, 82], "accord": [33, 37, 47, 85, 90], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "accumul": 11, "accur": 47, "accuraci": [37, 82], "achiev": [9, 34, 37, 48, 89, 90, 96, 97], "ackmax": [79, 82], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "acl": 97, "acl_keyvalidator_hook": 92, "acquir": 81, "across": [16, 40, 46, 58, 97], "acryl": [37, 82], "act": [22, 33, 37, 82, 90, 92, 97], "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 83, 85, 86, 93], "action_command_notif": 20, "action_command_prompt": [13, 21], "action_custom": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "actionconfig": [79, 82], "activ": [0, 2, 3, 4, 6, 9, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "ad": [4, 9, 10, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 47, 48, 49, 50, 51, 54, 55, 57, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "adapt": [8, 65, 78, 86], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "add_fil": [78, 79], "add_fold": [78, 79], "add_link": [78, 79], "add_overlai": [79, 80, 84], "add_path_update_callback": [79, 84], "add_templatetyp": 92, "add_tornado_rout": 92, "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "additional_bundle_fil": 93, "additional_bundle_files_hook": 92, "additional_command": 93, "additional_commands_hook": 92, "additional_exclud": 93, "additional_excludes_hook": 24, "additional_permissions_hook": 92, "additional_port_nam": 93, "additional_port_names_hook": 92, "additional_setup_paramet": 90, "additional_state_data": [11, 93], "additional_state_data_hook": 92, "additional_valid": 80, "additionalbaudr": [37, 79, 82], "additionalclass": [51, 79, 82], "additionalnam": 97, "additionalport": [37, 79, 82], "addprofileforslic": [62, 69], "addremoteus": [37, 79, 82], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "adher": [24, 41, 42, 45], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "admin_group": 92, "admin_onli": 95, "administr": [23, 42, 48, 90, 92, 95], "advanc": [52, 89, 90], "advent": 55, "advis": [4, 37, 81, 82, 92], "affect": [4, 32, 83, 96], "affero": 56, "after": [2, 3, 6, 9, 11, 16, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "after_backup": 93, "after_backup_hook": 24, "after_load": 80, "after_request": [83, 93], "after_request_handlers_hook": 92, "after_restor": 93, "after_restore_hook": 24, "afterprintcancel": [37, 52, 79, 82], "afterprintdon": [37, 52, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "afterprintpaus": [37, 52, 92], "afterprintresum": [79, 82], "aftertoolchang": [52, 79, 82], "afterward": 92, "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "agent": 95, "agnost": 42, "agplv3": 90, "aim": 96, "ain": 96, "ajax": [4, 37, 57, 62, 82], "ajaxwithdata": [57, 62], "aka": [37, 40], "alarm": 4, "albeit": 83, "alert": [47, 95], "alex": 29, "alia": [78, 82], "alias_prior": 82, "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "all_asset": 95, "all_profil": [79, 85], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "allow_client_cach": 83, "allow_create_dir": 17, "allow_fallback": 84, "allow_from_autoenv": 77, "allow_overwrit": [78, 85, 92, 95], "allow_root": 77, "allowcrossorigin": [4, 37, 79, 82], "allowed_path": 83, "allowedloginredirectpath": [79, 82], "allowfram": [37, 79, 82], "allviewmodel": 97, "almost": 48, "alon": [48, 95], "along": [3, 78], "alongsid": 33, "alphabet": 95, "alpn": 83, "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "already_defin": 92, "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "although": 80, "altogeth": 95, "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "always_curr": 33, "alwaysdetectneverenum": [79, 82], "alwayssendchecksum": [37, 79, 82], "ambient": 46, "ambienttemperatur": 46, "amd": 57, "among": [4, 10, 37, 77, 81, 82, 86, 92, 94, 95], "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "analogu": 92, "analys": [78, 92], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "analysis_backlog": [78, 79], "analysis_queu": 92, "analysis_queue_factory_hook": 92, "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "analyz": [78, 94], "and_a_subfold": 3, "android": 95, "anew": 81, "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "anim": [37, 82], "annot": [82, 83, 92], "announc": [13, 30, 56], "annoyingli": 96, "anonym": [4, 30, 33, 48, 56, 83, 95], "anonymousus": [76, 79], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "anotherkei": 40, "anotherorderedhook": 92, "anotherplugin": 96, "ansi": 86, "anyhow": 96, "anymor": [3, 9, 55, 90, 92], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "anywai": 14, "anywher": 2, "apach": [37, 82], "apart": [78, 90], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "api_endpoint": 92, "api_kei": 23, "api_password": 33, "api_us": 33, "apiconfig": [79, 82], "apikei": [0, 2, 4, 11, 13, 57, 58, 62, 70, 76, 83, 92], "apikey1": 62, "apikey2": 62, "apius": [76, 79], "app": [4, 23, 33, 37, 42, 62, 79, 82, 83, 97], "app_id": 23, "app_token": 23, "appar": 55, "appdata": [37, 39, 51, 52, 54, 55, 84, 89, 90], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "appearanceconfig": [79, 82], "appearanceviewmodel": 97, "append": [9, 36, 37, 57, 83, 90, 92, 95], "append_valu": 36, "appkei": [23, 82, 95], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "appropri": 95, "approxim": [2, 48], "apt": 42, "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "arbitrari": [5, 47, 60, 80, 92, 95], "architectur": 57, "archiv": [32, 33, 54, 90], "area": [2, 10, 46, 78], "aren": [51, 52], "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 83, 84, 85, 86, 88, 90, 92, 95], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "around": [33, 37, 51, 81, 82, 90, 95], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "articl": 90, "artifact": 42, "as_attach": [83, 92], "as_dict": 76, "ascend": 80, "ascii": [2, 37, 82, 86], "asctim": 39, "asdict": [76, 79, 80], "ask": [23, 82], "aspect": [48, 82], "assembl": 62, "assert": [95, 96], "assertionerror": 86, "asset": [37, 62, 82, 90, 94, 95], "asset_plugin": 95, "asset_url": 62, "assetplugin": [90, 93], "assign": [0, 2, 4, 33, 48, 57, 61, 80, 92], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "ast": 80, "async": [15, 37, 82, 83, 92], "async_": [79, 82], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "asynchttpcli": 83, "at_end": [80, 84], "atcommand": [50, 93], "atom": 22, "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "attachment_nam": 83, "attack": 4, "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 83, 88, 92, 97], "attent": 96, "attr": [77, 90], "attr_author": 80, "attr_check": 80, "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "attr_vers": 80, "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "auth_dialog": 23, "authent": [4, 9, 11, 17, 23, 33, 37, 47, 48, 57, 58, 82, 83, 92, 95], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "autoconnect": [1, 37, 59, 79, 81, 82], "autodetect": [1, 24, 37, 47, 82, 92], "autoescap": 95, "autogener": 25, "autologin": [53, 82], "autologina": [37, 48, 79, 82], "autologinheadsupacknowledg": [79, 82], "autologinloc": [37, 48, 79, 82], "automat": [1, 3, 9, 16, 23, 24, 33, 34, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "autoreport": [37, 82], "autoreport_po": [46, 79, 82], "autoreport_sd_statu": 46, "autoreport_sdstatu": [79, 82], "autoreport_temp": [37, 46, 79, 82], "autouppercaseblacklist": [37, 79, 82], "avahi": 25, "avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "averag": [2, 37, 82], "averageprinttim": 2, "avoid": [33, 42, 48, 92, 96], "awai": [81, 84, 87], "awar": [83, 87, 92], "awesom": [23, 90, 92, 95], "awesometempl": 92, "awk": 48, "ax": [9, 10, 51, 66, 81], "axi": [9, 10, 11, 51, 66, 78, 81], "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "babel": 90, "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "backend": [9, 83, 90, 92, 95], "background": [3, 11, 90, 96], "backslash": 40, "backup": [30, 39, 48, 56, 79, 84, 93, 96], "backupcount": 39, "backupexcludetestplugin": 24, "backupplugin": 24, "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "band": 82, "bandwidth": [3, 83], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "base64": [17, 74], "basedir": [77, 84], "basedon": [10, 67], "basefold": [78, 80, 95], "basemodel": [79, 82], "basenam": [83, 92], "baseurl": [37, 57, 58, 62, 70], "bash": 42, "basic": [3, 4, 11, 17, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "basicauth": 17, "bat": 96, "batch": 82, "baud": [37, 47, 82], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "baudratedetectionpaus": [79, 82], "baudrateopt": 13, "baudrateprefer": [1, 81], "bclpr": [37, 82], "bcml": 3, "bearer": [4, 17, 83], "bearerauth": 17, "becam": [55, 86], "becaus": [37, 40, 62, 82, 83, 95], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "bedformfactor": [79, 81], "bedlevelvisu": 32, "bedorigin": [79, 81], "bedz": [79, 82], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "before_backup": 93, "before_backup_hook": 24, "before_import": 80, "before_load": 80, "before_request": [83, 93], "before_request_handlers_hook": 92, "before_restor": 93, "before_restore_hook": 24, "beforeprinterdisconnect": [52, 79, 82], "beforeprintpaus": [79, 82], "beforeprintresum": [37, 52], "beforeprintstart": [37, 52, 79, 82, 92], "beforetoolchang": [52, 79, 82], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "behalf": [23, 92], "behav": [95, 96], "behavior": 46, "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 80, 82, 90, 92, 95, 96], "behind": [36, 37, 82, 90, 92], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "belong": [23, 33, 85, 90, 95], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "benchi": 48, "beneath": [92, 95], "benefit": 48, "besid": [9, 89, 90], "best": [24, 81, 90, 92, 96], "beta": [13, 89], "better": [34, 37, 40, 90], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "big": [41, 95], "bigger": 90, "biggest": 96, "bin": [42, 54, 55, 89, 90, 96], "binari": [37, 42, 57, 82, 90, 95, 96], "bind": [37, 82, 90, 95, 97], "bit": [33, 37, 40, 48, 90, 96], "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_password": 33, "bitbucket_us": 33, "bitrat": [37, 79, 82], "black": [10, 13], "blacklist": [17, 37, 79, 80, 82, 86], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "blame": 42, "bleed": [33, 41], "blindli": [83, 95, 96], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "blockedcommand": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "blown": [23, 51, 52, 82], "blue": [10, 37, 79, 82], "blueprint": [57, 83, 92, 95], "blueprintplugin": [57, 92, 93], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "body_method": [79, 83], "bodys": 93, "bodysize_hook": 92, "bodysizeplugin": 92, "boil": 95, "bold": 95, "bom": 86, "bonjour": 25, "book": 96, "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "border": 90, "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "bottom": [51, 82, 86], "bottom_layer_spe": 14, "bottom_thick": 14, "bound": [2, 10, 78, 81, 90, 95, 97], "boundari": [3, 81], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "bracket": 40, "branch": [11, 33, 43, 45, 54, 56, 89, 95], "break": [40, 41, 45, 48, 95], "brew": 42, "brim_line_count": 14, "broader": 17, "broken": 46, "brokenm29": 46, "brows": [25, 42, 91], "browse_result": 91, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "browsing_en": 91, "btn": [51, 82, 90], "btw": 96, "bu": [92, 94, 95], "buffer": [46, 83], "buffer_s": 86, "bug": [4, 9, 26, 41, 42, 45, 54, 55], "bug_report": 90, "bugfix": 41, "buggi": [37, 82], "build": [37, 43, 52, 78, 90, 97], "build_don": [79, 83], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "bulk_opt": [77, 79], "bunch": [87, 90, 94, 95], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "bundled_str": 80, "buon": 92, "busi": [3, 37, 46, 82], "bust": 82, "busy_protocol": [37, 79, 82], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 95, 97], "bypass": 48, "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "bytesio": 83, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "c3": 3, "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "cache_ttl": 33, "cachebust": [79, 82], "calcul": [2, 37, 82, 83, 86, 95, 96], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "call_plugin": [79, 80], "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "callback_arg": 85, "callback_kwarg": 85, "calle": 85, "caller": [86, 92], "camel_cas": 92, "camera": [92, 95], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "can_modify_fil": [79, 81], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "cancel_fanspe": 52, "cancel_posit": 52, "cancel_print": [79, 81], "cancel_sd": 46, "cancel_sl": [79, 85, 95], "cancel_temperatur": 52, "candid": [26, 29, 33, 34, 92], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "cannotstartserverexcept": [79, 83], "canon": [57, 86], "canonic": [78, 79], "cansnapshot": [79, 82], "cap": 11, "capability_report": 93, "capabl": [37, 46, 79, 82, 93], "capit": 52, "capitan": 42, "captur": [37, 47, 82, 93], "capture_post_hook": 92, "capture_pre_hook": 92, "capturedon": 47, "capturefail": 47, "capturepostrol": [37, 79, 82], "capturestart": 47, "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "carri": 47, "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "caseinsensitiveset": [79, 84, 86], "catch": 81, "categori": 92, "caught": [47, 80], "caus": [4, 26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "caution": [37, 48, 82], "ccm": 81, "cd": [42, 90], "celsiu": [52, 81], "center": [3, 10, 79, 81, 85, 95], "center_i": 51, "center_x": 51, "central": [48, 80], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "certainli": [48, 90], "certif": [82, 83], "cfg": 90, "chamber": [5, 10, 46, 66, 81], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "change_tool": [79, 81], "changeabl": 2, "changelog": [13, 82], "changepassword": [62, 73], "channel": [22, 26, 33, 41, 89], "channel_ord": 22, "chapter": 96, "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "charliermarsh": 42, "charset": [4, 83], "chart": 47, "chartmark": 47, "cheat": 96, "cheatsheet": 4, "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "check_access": [17, 74], "check_config": [88, 93], "check_lastmodifi": [79, 83], "check_origin": 83, "check_overlay_ttl": 33, "check_overlay_url": 33, "check_typ": [17, 74], "check_writ": 84, "check_writable_dir": 17, "checkbasefold": [79, 84], "checkbasicauthenticationpassword": [37, 79, 82], "checkbox": 4, "checkdecis": 23, "checked_cal": [79, 86], "checker": [33, 94], "checklist": 93, "checkout": [33, 42, 90], "checkout_fold": 33, "checksum": [37, 46, 82], "checksum_mismatch": 46, "checksumrequiringcommand": [37, 79, 82], "checktyp": 17, "child": [61, 78, 86], "children": [2, 3, 37, 51, 61, 78, 79, 82], "choic": [21, 39], "choos": 21, "chosen": [6, 40], "chromestatu": [37, 82], "chunk": [79, 83, 86], "ci": [34, 41], "cidr": [17, 37, 82], "circular": [10, 79, 81, 97], "circumst": [4, 24, 92], "circumv": 87, "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "classes_cont": 95, "classes_link": 95, "classes_wrapp": 95, "classic": 82, "classicwebcam": 95, "classmethod": [81, 83, 95], "classvar": [82, 83], "claus": 24, "clean": [42, 86, 88, 95], "clean_ansi": [79, 86], "clean_on_startup": [37, 79, 82], "cleanedprinttim": 92, "cleaner": 90, "cleanli": 95, "cleantmpafterdai": [37, 79, 82], "cleanup": 83, "clear": [20, 49, 90, 92], "clearer": 40, "cli": [24, 38, 56, 79, 93], "cli_commands_hook": 92, "cli_group": 92, "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "client1": 62, "client2": 62, "client_error": 17, "client_ip": 83, "clientauth": 47, "clientclass": 57, "clientclos": 47, "clientj": 95, "clientopen": 47, "clitest_command": 92, "clockwis": [37, 82], "clone": [42, 90], "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "close_exec": 86, "close_fd": [79, 86], "closed_with_error": 81, "closedorerror": [2, 9, 81], "closemodalswithclick": [79, 82], "closer": 51, "cloud": 95, "cloudflar": 82, "clumsi": 6, "cmd": [42, 88, 92], "cmd_name": 77, "cmd_type": [88, 92], "cm\u00b3": [2, 78], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "code_or_except": 95, "codeactionsonsav": 42, "codec": [37, 82], "collect": [10, 40, 77, 90, 95, 96, 97], "colon": 40, "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "colorenum": [79, 82], "coloricon": [79, 82], "colortranspar": [37, 79, 82], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "combin": [24, 48, 83, 92, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "comm": [49, 50, 88, 93], "comm_error_handler_test": 92, "comm_inst": [88, 92], "comma": [9, 66], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "command1": 95, "command2": 95, "command_lin": 33, "command_phas": 92, "commandbuff": 46, "commandlin": [42, 56, 79], "commandlinecal": [79, 86], "commandlineerror": [79, 86], "commandsconfig": [79, 82], "commandsuppress": 47, "comment": [40, 49, 92], "commentstripp": 92, "commerror": 34, "commit": [33, 41, 42, 45], "commitish": 33, "common": [5, 34, 40, 48, 52, 56, 80, 91, 93], "commonli": 86, "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "communicationbusi": [37, 79, 82], "compact": 90, "compar": [33, 83, 86, 92, 96], "comparison": 33, "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "compatibility_entri": 86, "compatibility_ignored_list": 80, "compens": [37, 82], "compil": [37, 81, 82, 90], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "complex": [40, 51, 90], "complianc": 26, "complic": [21, 90], "compon": [9, 13, 33, 37, 39, 42, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "comprehens": 96, "comprehensive_json": 86, "compress": [83, 86], "compromis": 48, "comput": [82, 83, 97], "computation": 92, "compute_etag": [79, 83], "computedfieldinfo": [82, 83], "concaten": [77, 78, 80, 97], "concept": [45, 56, 84, 93], "concern": [37, 45], "concurr": [57, 86], "condit": [46, 86], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "config_hash": [11, 79, 84], "config_version_kei": 95, "config_yaml": [79, 84], "configdict": [82, 83], "configfil": [77, 84], "configur": [1, 2, 4, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "configured_slic": [79, 85], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "confirmation_prompt": 77, "conflict": [0, 3, 6, 9, 10], "conform": [82, 83], "confus": [4, 40, 90, 96], "congratul": 90, "conjunct": 95, "conn": 83, "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "connection_str": 81, "connection_timeout": 92, "connectionviewmodel": 97, "connectivitychang": 47, "connectivitycheck": [80, 94], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "consequ": [9, 47], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "console_log": 92, "const": 70, "construct": [4, 25, 78, 80, 84, 92, 95, 97], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "consum": [37, 56, 92], "consumpt": [11, 14, 89], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "containerconfig": [79, 82], "containerformat": 82, "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "content_typ": [78, 79, 83, 92], "content_type_blacklist": 17, "content_type_whitelist": 17, "contenttyp": 57, "contenttypedetector": [78, 79], "contenttypemap": [78, 79], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "contextmanag": 81, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "contract": [45, 92], "contrari": [50, 57], "contribut": [4, 43], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "controlviewmodel": [51, 82, 97], "convei": [37, 82], "conveni": [23, 80, 84, 90], "convent": 90, "convers": [80, 84, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "conveyor": 47, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "cookie_suffix": 83, "cookiecutt": [89, 90], "cookiesconfig": [79, 82], "cool": [10, 47, 51], "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "copy_fil": [78, 79], "copy_fold": [78, 79], "cor": [4, 83, 92], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "corner": [32, 33, 81, 90], "coroutin": 83, "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "correctli": [33, 37, 48, 52, 55, 82], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 82, 83, 86, 92, 95, 96], "correspondingli": 87, "corruptuserstorag": [76, 79], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "corssupportmixin": [79, 83, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "couldnotdeleteprofil": 85, "couldnotoverwriteerror": [79, 81], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "countdown": 33, "counter": [37, 82, 86], "counterpart": 83, "coupl": [37, 41, 70, 90], "cours": [90, 92, 95], "cover": 66, "cp": 48, "cpu": 95, "creat": [2, 4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "create_backup_help": 24, "create_estimator_factori": 92, "create_plugin_setup_paramet": 90, "createcustomexcept": [57, 62], "createfold": [61, 62], "createrejecteddef": [57, 62], "creation": [3, 16, 17, 24, 49, 61, 83, 85], "credenti": [0, 4, 23, 58, 83, 95], "crf": 83, "criteria": [74, 92], "critic": [37, 47, 79, 82], "cronjob": 24, "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "csrf_exempt": 95, "csrf_token": 4, "csrf_token_p": 4, "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "css": [37, 42, 79, 82, 92, 93, 95], "ctrl": 42, "ctx": [77, 83, 92], "culprit": 55, "cura": [3, 13, 14], "curaengin": 90, "curalegaci": [13, 14, 37], "curios": 90, "curl": 42, "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "current_max_body_s": 92, "current_o": 86, "current_ord": 92, "current_rul": 92, "current_vers": 33, "currenturl": 90, "currentus": 4, "currentz": [11, 81], "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "custom_action_command": 92, "custom_action_handl": 92, "custom_add_entri": 92, "custom_add_ord": 92, "custom_append": 92, "custom_atcommand_handl": 92, "custom_bind": [90, 95], "custom_box": [10, 81], "custom_cli_command": 92, "custom_command": 50, "custom_gcode_analysis_queu": 92, "custom_keyvalid": 92, "custom_prepend": 92, "custom_template_consum": 92, "custom_template_consumer_awesometempl": 92, "custom_template_provid": 92, "custom_template_provider_set": 92, "customactioncommandplugin": 92, "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "customis": 48, "customiz": 80, "customprinttimeestim": 92, "customtemplatetypeconsum": 92, "customtemplatetypeprovid": 92, "cut": [52, 82, 83], "cutoff": [79, 82], "cwd": 42, "cycl": [27, 28, 47, 52], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "daemon": [77, 86, 92], "daemon_opt": [77, 79], "dai": [37, 82], "danc": 51, "danger": [2, 37, 51, 82, 92], "darwin": 86, "dash": 40, "dat": 57, "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "data_bind": 95, "data_fold": 95, "data_receiv": [79, 83], "databas": 83, "datapoint": 9, "datatyp": 57, "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 79, 81, 82, 83, 85, 90, 95, 96, 97], "datetim": [83, 86, 95], "dd": [82, 86], "de": [7, 87, 90], "deactiv": [0, 4], "dead": [37, 82], "deauthent": 92, "debian": 42, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "debugg": 42, "decid": [81, 89, 90, 95], "decim": 86, "decis": [82, 95, 96], "declar": [33, 77, 80, 87, 91, 92, 95, 97], "decod": [4, 17, 78, 86, 92], "decoded_lin": 92, "decompress": 86, "decor": [77, 83, 86, 95], "decreas": [37, 70, 82], "decreaser": [62, 70], "dedic": [6, 23, 48], "deem": 39, "deep": 86, "deep_check_writ": 84, "deeper": [81, 90], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "defatul": 78, "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "default_addit": 95, "default_factori": 86, "default_filenam": 83, "default_group": [2, 92], "default_max_body_s": 83, "default_set": [79, 84], "default_slic": [79, 85], "default_template_filt": 95, "default_timeout": 83, "defaultextrusionlength": [10, 81], "defaultformatt": 42, "defaultinterpreterpath": 42, "defaultlanguag": [37, 79, 82], "defaultordereddict": [79, 86], "defaultprofil": [37, 79, 82], "defaultreauthenticationtimeout": [37, 79, 82], "defaultslic": [37, 79, 82], "defaultwebcam": [79, 82], "defer": 57, "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "deflat": 83, "degc": 81, "degre": 52, "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "delete_backup_help": 24, "delete_cooki": [79, 83], "delete_profil": [79, 85], "deleteapikei": [79, 84], "deletelog": 31, "deleteprofileforslic": [62, 69], "deleteunrend": [62, 72], "delimit": 86, "delimitercaptur": [79, 86], "deliv": [92, 95], "deliveri": [83, 92], "delta": 90, "demand": [95, 97], "demonstr": [92, 95], "deni": [4, 23, 48], "denot": 92, "dep": 42, "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "dependency_link": [32, 90], "dependson": 42, "depict": 95, "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 82, 83, 84, 86, 92, 97], "deprecatedendpointhandl": [79, 83, 92], "depth": [2, 10, 51, 61, 78, 81, 96], "deriv": [78, 83, 85, 86, 97], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96], "deseri": [79, 86], "design": [52, 90], "desir": [37, 42, 49, 92], "desktop": [90, 95], "dest_loc": 11, "dest_path": [11, 85], "destin": [3, 11, 56, 61, 79, 85, 95], "destination_extens": 95, "destination_loc": 95, "destination_nam": 47, "destination_path": [47, 95], "destination_typ": 47, "detach": 83, "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "detect_baudr": 81, "detect_machine_typ": 92, "detect_seri": 81, "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "detector": [78, 79], "determin": [11, 16, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "deutsch": 7, "dev": [1, 37, 41, 42, 56, 79, 84, 90], "dev114": 41, "dev12": 41, "dev123": 41, "dev3": 41, "dev68": 45, "devel": [33, 37, 41, 42, 79, 82, 90], "develcacheconfig": [79, 82], "develconfig": [79, 82], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "develwebassetsconfig": [79, 82], "deviat": 37, "devic": [14, 25, 37, 48, 95], "diagnos": 54, "diagram": 93, "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "diamet": [3, 10, 52, 78, 81], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "didn": [4, 15, 44, 80], "diff": 86, "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "difficult": 92, "digest": 17, "digestauth": 17, "dilig": 96, "dimens": [2, 78], "dir": [17, 37], "direct": [3, 4, 10, 23, 51, 82, 86], "direct_passthrough": 83, "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "dirti": 45, "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 34, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "disable_b": [52, 82], "disable_color": 77, "disable_hotend": [37, 52, 82], "disable_plugin": [79, 80], "disablesdprintingdetect": [79, 82], "disabling_discourag": [79, 80], "disallow": [17, 83], "disappoint": 95, "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "disconnectonerror": [37, 79, 82], "discourag": [48, 80], "discov": [25, 80, 90, 95], "discover": 90, "discoveri": [30, 39, 56, 88, 91], "discoveryplugin": 91, "discuss": 96, "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "diskfilewrapp": [78, 79], "diskspac": [37, 79, 82], "diskspaceconfig": [79, 82], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "display": [7, 82, 85], "display_limit": 22, "display_nam": 85, "display_vers": [11, 95], "displaynam": [14, 33, 79, 82], "displayvers": 33, "disposit": [3, 4, 83], "disrupt": [15, 54], "distanc": [9, 51, 81], "distinct": 96, "distinguish": [9, 37, 92], "distribut": [42, 48, 56, 93], "div": [90, 92, 95], "dive": [78, 90], "divid": [15, 37, 40, 81, 82, 96], "divis": 93, "dn": [17, 25, 37, 82], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "do_slic": [85, 95], "do_something_with_the_passed_lin": 86, "doc": [33, 37, 42, 48, 52, 82, 95], "docstr": 86, "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "doe": [0, 2, 3, 6, 9, 10, 13, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "dom": 90, "domain": [37, 57, 82, 83], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "done": [3, 21, 23, 37, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 82, 83, 86, 90, 92, 95, 96, 97], "dont": 48, "dont_answ": 46, "dosometh": 57, "doubl": [4, 25, 40, 83], "down": [37, 47, 48, 78, 82, 84, 95, 96], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "downloadlog": 31, "downstream": 83, "drag": 82, "drop": [11, 13, 14, 46, 82], "drop_connect": 46, "dropdown": 37, "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "dumb": [37, 82], "dummi": [92, 95], "dummy_mobile_ui": 95, "dummy_mobile_ui_index": 95, "dummymobileuiplugin": 95, "dump": [78, 79, 83, 86], "duplic": [33, 95], "durat": [33, 37, 82], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "dwell": [37, 47, 82], "dynam": [86, 90, 95], "dynamiczipbundlehandl": [79, 83], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "e5": 52, "e55f2f8b01c": 42, "e627": 9, "e628": 9, "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "eager": [77, 95], "earli": 34, "earlier": [6, 37, 42, 77, 82, 88, 90], "easi": [24, 33, 40, 90, 95, 96], "easier": [55, 90], "easiest": [48, 96], "easili": [42, 48, 92], "echo": [37, 46, 82, 92, 95], "echoonm117": 46, "ecosystem": 96, "edg": [33, 41, 46], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "editor": [39, 40, 42, 48, 51, 55], "editorconfig": 90, "educ": 92, "eebd": 42, "eeprom": [46, 51, 82], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "effective_hash": [79, 84], "effective_print": 47, "effective_select": 47, "effective_yaml": [79, 84], "effectiveprint": 3, "effectiveselect": 3, "eg": [46, 95], "ega": 86, "egg": 90, "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "eject": 47, "el": 42, "elaps": [37, 47, 81, 82, 92], "eleg": 89, "element": [51, 57, 61, 78, 90, 95, 97], "elif": 95, "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "elsewher": [50, 80], "email": [11, 13, 14, 33, 90], "emb": [37, 48, 62, 95], "embed": [37, 82, 90, 95], "emerg": [1, 9, 21, 47, 82], "emergency_pars": [46, 79, 82], "emergencycommand": [79, 82], "emit": [52, 93], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "en": [33, 82, 90], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "enable_eeprom": 46, "enable_emergency_send": 21, "enable_per_message_deflate_extens": [79, 83], "enable_plugin": [79, 80], "enable_popup": 20, "enable_sign": 21, "enablecsrfprotect": [79, 82], "enabled_channel": 22, "enabled_plugin": 92, "enabled_str": 80, "enabled_unreleas": 26, "enabledragdropupload": [79, 82], "enableratelimit": [79, 82], "enableshutdownactioncommand": [37, 79, 82], "encapsul": 85, "enclosur": 81, "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "encount": [41, 47, 80, 81, 96], "encourag": 95, "encrypt": [37, 82], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "endasset": 62, "endfor": [37, 51, 52, 82, 92], "endif": [51, 52, 82], "endless": 48, "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "endswith": 92, "enforc": 95, "enforcereallyuniversalfilenam": [37, 79, 82], "engin": [3, 52, 80, 81, 95], "english": [7, 90], "enhanc": 60, "enjoi": 56, "enqueu": [46, 66, 78, 79, 92], "enrich": 95, "ensur": [37, 42, 48, 54, 55, 77, 78, 80, 81, 82, 83, 86, 90, 92, 95, 96], "ensure_ascii": 83, "ensurepip": 42, "entail": 57, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "entir": [3, 34, 48, 92], "entiti": 95, "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "entryforpath": [61, 62], "entrypointorigin": 80, "enumer": [2, 9, 82], "env": 90, "environ": [24, 33, 34, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "environbuild": 95, "eol": [82, 92, 96], "epoch": 47, "equal": [80, 95], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "era": 86, "err": 86, "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "error_callback": 80, "error_handler_test": 92, "error_messag": 92, "error_on_path": 84, "errorhandl": 95, "errortrack": 26, "escap": [40, 83, 90], "especi": [26, 40, 90, 95, 96], "essenti": 42, "establish": [11, 17, 37, 81, 82, 92], "estim": [2, 38, 78, 79, 81, 82, 93], "estimatedprinttim": [2, 3, 6, 78, 81], "estimationconfig": [79, 82], "estop": 47, "etag": [33, 83, 95], "etag_gener": 83, "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "eth0": [25, 48], "eval": [51, 82], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "event_bu": 92, "eventhandlerplugin": 93, "eventmanag": [80, 92, 94], "eventnam": 97, "eventobj": 70, "eventsconfig": [79, 82], "eventsubscript": [79, 82], "ever": [29, 35, 37, 48, 81, 82, 95], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "everyon": [48, 90], "everyth": [48, 52, 57, 77, 90, 96], "ex": [42, 96], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "exactli": [86, 95], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "examplebackup": 24, "exampleplugin": 32, "exc": 80, "exce": 83, "exceed": 10, "excel": 40, "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "excerpt": 91, "exchang": [11, 23], "exclud": [9, 24, 37, 42, 66, 80, 82], "exclus": [9, 51, 79, 82], "execut": [5, 17, 33, 37, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "executecommand": [62, 71], "executor": 83, "exemplari": 95, "exempt": 95, "exhaust": [6, 48, 53], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "exit": [24, 33, 36, 37, 92, 96], "expand": [39, 92], "expans": 92, "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "expens": 92, "experi": [95, 96], "experienc": [37, 39, 82], "expir": 83, "expiri": 83, "explain": 40, "explan": [47, 66], "explicit": [42, 95, 96], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "explor": 25, "export": [24, 32, 91], "expos": [15, 24, 33, 48, 91], "express": [37, 39, 51, 81, 82, 86, 92, 95], "ext": [39, 84, 95], "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "extenddoc": 86, "extended_m20": [46, 79, 82], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "extension_tre": [93, 95], "extern": [4, 33, 37, 42, 45, 82, 95], "externalheatupdetect": [37, 79, 82], "extra": [79, 82, 83, 89, 90], "extract": [29, 35, 80, 83, 92, 95], "extrem": 48, "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "extrus": [9, 10, 52, 81, 85], "eyal0": 32, "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "f3000": 51, "f4500": 52, "f5": 42, "f6000": 92, "fa": 95, "fab": 95, "fact": [37, 40, 81, 82, 92], "factor": [9, 10, 11, 66, 81, 86, 95], "factori": [57, 80, 84, 93], "fail": [2, 3, 9, 17, 23, 24, 33, 37, 42, 47, 74, 81, 82, 83, 92, 96, 97], "failur": [2, 3, 17, 37, 47, 79, 80, 82, 92, 95], "failure_callback": 92, "fake": [1, 59, 81, 95], "fake_ack": [1, 79, 81], "fakeack": [1, 59, 62], "fall": [23, 24, 92, 95, 96], "fallback": [4, 47, 79, 80, 82, 83, 86, 95], "fallback_dict": [79, 86], "fallbackhandl": 83, "fals": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "fan": [37, 51, 52, 82, 88, 92], "faq": [9, 47, 56], "far": [37, 48, 52, 53, 82, 83, 90, 95], "fast": [11, 70], "faster": 70, "favor": [90, 97], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "feature_request": 90, "featureconfig": [79, 82], "feed": [9, 22, 32, 52, 81], "feed_rat": [79, 81], "feedback": [51, 81, 97], "feedrat": [9, 47, 52, 66], "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "few": [2, 41, 52, 90, 95], "ffmpeg": [13, 37, 47, 79, 82], "ffmpegcommandlin": [79, 82], "ffmpegpath": 13, "ffmpegthread": [37, 79, 82], "ffmpegthumbnailcommandlin": [79, 82], "ffmpegvideocodec": [37, 79, 82], "fiction": 33, "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "field1": 25, "field2": 25, "fieldinfo": [82, 83], "fig": [51, 55], "figur": [48, 95], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "filamentchang": 47, "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "file_exist": [78, 79], "file_extension_hook": 92, "file_in_path": [78, 79], "file_manag": 92, "file_object": [78, 92], "file_prefix": 83, "file_preprocessor_hook": 92, "file_suffix": 83, "filead": 47, "filebas": [37, 82], "filebasedgroupmanag": 82, "filebasedusermanag": [37, 82, 92], "filedeselect": 47, "fileinput": 57, "filemanag": [39, 56, 79, 80, 93, 94, 95], "filemov": 47, "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "filepath": [42, 78], "filepo": [2, 6, 81], "fileposit": 47, "fileremov": 47, "files": 46, "files_delet": 3, "files_list": 3, "files_select": 3, "files_upload": 3, "fileselect": 47, "filesviewmodel": 97, "filesystem": [37, 82, 83], "fill": [46, 80, 95], "fill_dens": 3, "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "filter_funct": 86, "filter_non_ascii": [79, 86], "final": [4, 33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "financi": 56, "find": [39, 41, 42, 48, 52, 53, 80, 83, 87, 89, 90, 95, 96], "findus": 92, "fine": [37, 46, 57, 81, 82, 90, 96], "finer": 81, "finish": [3, 5, 16, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "finished_callback": 78, "fire": [33, 47, 92, 95, 97], "firmare_nam": 46, "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "firmware_cap": 92, "firmware_capability_hook": 92, "firmware_capability_report_hook": 92, "firmware_data": 92, "firmware_info_hook": 92, "firmware_nam": [46, 92], "firmware_vers": 92, "firmwaredetect": [37, 79, 82], "firmwareerror": 47, "firmwarenam": 46, "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "first_tri": 3, "firstrun": [19, 37, 79, 82, 95], "firstrun_only_access": [79, 83], "firstrunviewmodel": 97, "fit": [2, 83, 95], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "fixal": 42, "fixtur": 95, "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 79, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "flag_valu": 77, "flake8en": 42, "flask": [9, 56, 79, 91, 92, 95], "flat": 95, "flatten": 86, "fledg": [90, 95, 97], "flip": [37, 82], "fliph": [37, 79, 82], "flipv": [37, 79, 82], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "flood": [11, 96], "flow": [9, 81, 83], "flow_rat": [79, 81], "flowrat": [9, 66], "fluctuat": [37, 82], "flush": 78, "fly": [78, 90, 95], "fmt": 86, "fnmatch": 80, "fnord": 86, "focus": 56, "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "folder_exist": [78, 79], "folder_typ": 80, "foldera": 3, "folderad": 47, "folderconfig": [79, 82], "foldermov": 47, "foldernam": 3, "folderorigin": 80, "folderremov": 47, "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "font": 95, "foo": [24, 83, 86, 92, 95], "foosel": 33, "footer": 42, "footnot": [45, 51, 54, 89, 90], "forbidden": [0, 4, 13, 31], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "force_refresh": 78, "force_reinstal": 33, "force_reload": 80, "forcechecksum": 46, "forced_channel": 22, "forced_compat": [79, 82], "forced_dis": [79, 80], "forced_head": 83, "forcedumbaftermin": [37, 79, 82], "forcedumbfromperc": [37, 79, 82], "forev": 81, "forget": [55, 62, 78, 89, 90, 96], "forgot": 90, "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92, 95], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "formatonsav": 42, "formatstr": 82, "formatt": [38, 42], "formdata": 57, "former": [8, 47, 65], "formerli": [28, 31], "formfactor": [10, 81], "forthcom": 95, "forum": [42, 56, 96], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "forwardfor": 37, "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "found_fil": 92, "four": [40, 92, 95], "four_thre": [79, 82], "fourth": [80, 92], "fp": [16, 37, 79, 82], "fqcn": 86, "frame": [16, 17, 37, 47, 82, 92, 96], "framer": [37, 82], "framework": [4, 9], "free": [3, 31, 33, 46, 56, 86, 95, 96], "freebsd": 86, "fresh": [23, 37, 82, 83, 90], "freshli": 95, "friendli": 90, "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "from_vers": 33, "fromcurrentdata": 97, "fromhistorydata": 97, "fromtimelapsedata": 97, "front": [37, 82, 96], "frontend": [25, 51, 87, 92, 93, 95, 97], "frozendict": 83, "fssl": 42, "fulfil": 3, "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "full_nam": 90, "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "fun": [51, 93, 96], "func": [83, 95], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "funni": 61, "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "furthermor": 46, "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "fuzzytim": [79, 82], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g0": [47, 92], "g1": [9, 47, 51, 52, 92], "g21": 3, "g28": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "g4": [37, 47, 51, 82], "g46c7a9c": 45, "g90": [3, 37, 51, 52, 82, 92], "g90influencesextrud": [37, 79, 82], "g91": [37, 51, 52, 82, 92], "g92": 52, "galor": 93, "garbag": 92, "gather": 26, "gco": [2, 3, 51, 61], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "gcode_analysi": 82, "gcode_error_hook": 92, "gcode_loc": 47, "gcode_received_hook": 92, "gcode_script_vari": 92, "gcodeanalysi": [2, 3, 37, 79, 82], "gcodeanalysisconfig": [79, 82], "gcodeanalysisqueu": [78, 79, 92, 95], "gcodefilesviewmodel": 97, "gcodescript": [13, 37, 47, 52, 82, 92], "gcodescriptafterprintdonefinish": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptsconfig": [79, 82], "gcodeview": [13, 29, 37], "gcodeviewmodel": 97, "gcodevisu": [13, 37], "gen": 86, "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "generateapikei": [62, 68, 73, 79, 84], "generatekei": 23, "generatingdatahandl": [79, 83], "genuin": 18, "german": [7, 90], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "get_additional_bundle_fil": 92, "get_additional_command": 92, "get_additional_metadata": [78, 79], "get_additional_permiss": 92, "get_api_command": 95, "get_api_kei": [79, 83], "get_asset": [90, 95], "get_asset_fold": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "get_bom": [79, 86], "get_boolean": [79, 80, 95], "get_class": [79, 86], "get_cli_command": 92, "get_command": [77, 79], "get_compression_opt": 83, "get_connection_opt": [79, 81], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "get_cookie_suffix": [79, 83], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_default_set": 95, "get_exception_str": [79, 86], "get_filtered_implement": [79, 80], "get_flask_user_from_request": [79, 83], "get_float": [79, 80], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "get_help": [24, 79, 80, 91], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_int": [79, 80, 95], "get_lastmodifi": [78, 79], "get_latest": 33, "get_metadata": [78, 79], "get_o": [79, 86], "get_plugin": [79, 80], "get_plugin_data_fold": [24, 79, 80, 94, 95], "get_plugin_info": [79, 80], "get_plugin_logfile_path": [79, 80, 92], "get_preprocessor": 80, "get_profile_path": [79, 85], "get_settings_default": [80, 90, 95], "get_settings_preprocessor": 95, "get_settings_restricted_path": 95, "get_settings_vers": 95, "get_siz": [78, 79], "get_slic": [79, 85], "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profile_path": [79, 85], "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "get_sorting_kei": [79, 80, 92, 95], "get_state_id": [47, 79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_template_config": [90, 92, 95], "get_template_fold": 95, "get_template_var": [90, 95], "get_timelapse_extens": 92, "get_transport": [79, 81], "get_ui_additional_etag": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "get_update_inform": [33, 88, 89], "get_user_for_apikei": [79, 83], "get_user_for_authorization_head": [79, 83], "get_user_for_remote_user_head": [79, 83], "get_webcam_configur": 95, "get_wizard_detail": [95, 97], "get_wizard_vers": 95, "getadditionalcontrol": [51, 97], "getallkei": 23, "getattr": 86, "getbasefold": [79, 80, 84], "getbaseurl": [57, 62], "getbedst": [62, 66], "getblueprinturl": [57, 62], "getboolean": [79, 80, 84], "getchamberst": [62, 66], "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "getconfig": [62, 72], "getcooki": [4, 57, 62], "getcustomcontrol": [60, 62], "geterrorstr": 92, "getfloat": [79, 80, 84], "getfullst": [62, 66], "gethead": 4, "getint": [79, 80, 84, 91], "getkei": 23, "getlogg": [88, 91, 92], "getpluginset": [62, 68], "getprofileforslic": [62, 69], "getrequesthead": [57, 62], "getsdstat": [62, 66], "getset": [59, 62, 73], "getsimpleapiurl": [57, 62], "getter": [80, 84, 95], "gettext": 92, "gettoolst": [62, 66], "getwithqueri": [57, 62], "gh": 90, "gif": [17, 74, 92], "gina": [7, 90], "giorno": 92, "gist": 33, "gistid": 33, "git": [33, 42, 45, 54, 90, 95], "git_commit": 33, "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90, 95], "github_commit": 33, "github_releas": 33, "github_usernam": 90, "githubusercont": [33, 42], "gitignor": 90, "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "glob": [37, 82, 92], "global": [4, 23, 57, 62, 77, 80, 81, 82, 83, 86, 88, 90, 91, 92, 97], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "globalheadertransform": [79, 83], "gm": [37, 82], "gnu": 56, "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "go_awol": 46, "goal": 96, "goe": [23, 52, 92], "good": [41, 48, 90, 92, 96, 97], "googl": [37, 82], "got": [1, 4, 23, 37, 47, 90, 92, 95], "gotourl": 90, "grace": 95, "graduat": 41, "grant": [23, 47, 48], "granular": [34, 48, 92, 95], "graph": [37, 82], "great": 90, "greater": 80, "green": [10, 37, 79, 82], "greet": [90, 92], "greet_command": 92, "grep": 48, "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "groupfil": [79, 82], "groupmanag": [79, 82], "grow": 93, "growl": [47, 54, 90, 91], "growl_inst": 91, "guarante": [33, 61, 81, 90, 95], "guess": [40, 48, 83, 90], "guest": [4, 48, 97], "guest_group": 92, "guid": [33, 42, 82, 96], "guidelin": 43, "gz": [7, 32, 83], "gzip": 83, "h": 37, "h1": 95, "h3": 92, "h4": 92, "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "had": [49, 50, 90, 95], "hai": 92, "half": [70, 95], "hallo": 90, "hand": [14, 32, 42, 48, 92, 95], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "handle_connect": 93, "handle_error": 92, "handle_gcode_s": 88, "handle_request": [79, 83], "handle_stream": [79, 83], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "handshak": [37, 82, 83], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "happili": 48, "haproxi": [37, 82], "hard": [46, 54], "hardcod": 90, "harder": 48, "has_analysi": [78, 79], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_mfa_credenti": 95, "has_obsolete_hook": [79, 80], "has_permiss": [79, 83], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hasb": 46, "haschamb": 46, "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "hasn": 95, "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "haven": 90, "he": 49, "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "header_method": 33, "header_nam": 33, "header_prefix": 33, "header_url": 33, "heart": 95, "heartbeat": [79, 82, 83], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "heater": [9, 37, 46, 48, 52, 81, 82], "heatup": [37, 82], "heavi": 97, "heavili": 35, "hei": 92, "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "held": [81, 84], "hello": [20, 24, 37, 82, 86, 92, 93, 95], "hello_m": 95, "hello_world": [90, 95], "hello_y": 95, "hellocommand": [37, 79, 82], "helloworld": [89, 90, 95], "helloworld_navbar": 90, "helloworld_set": 90, "helloworld_tab": 90, "helloworldplugin": 90, "helloworldviewmodel": 90, "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "henceforth": 45, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "hesit": 51, "hex": 46, "hh": 86, "hi": [51, 82, 92], "hiccup": 42, "hidden": [32, 42, 77, 79, 80, 84, 97], "hidden_opt": [77, 79], "hiddenopt": [77, 79], "hide_input": 77, "hierarch": [51, 95], "hierarchi": [47, 57, 80], "high": [2, 14, 22, 37, 49, 78, 82], "high_prior": 78, "high_qual": [3, 14], "higher": [33, 70, 95], "highest": 39, "highli": [48, 89], "highlight": 40, "hint": [33, 90, 95, 96], "histor": 9, "histori": [9, 66, 81, 97], "hit": 9, "hola": 92, "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "homebrew": 42, "homepag": [24, 90], "honest": 92, "hood": 40, "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "hook_matches_hook": [79, 80], "hop": [16, 37, 82], "hope": 95, "hopefulli": 91, "horizont": [37, 51, 79, 82, 90], "horribli": 57, "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "hostfallback": [37, 79, 82], "hosthead": [37, 79, 82], "hostnam": [17, 37, 82, 91], "hotend": [9, 46, 52, 66, 81, 82], "hotfix": 45, "hour": [22, 82, 89, 92], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "href": [78, 90], "html": [4, 37, 42, 44, 82, 90, 92, 95], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "http1connect": 83, "http1connectionparamet": 83, "http1serverconnect": 83, "httpclient": 83, "httperror": 83, "httpheader": 33, "httponli": 83, "httppassword": 25, "httpserver": 83, "httpserverrequest": 83, "httpstatu": 83, "httpusernam": 25, "httputil": 83, "huge": 48, "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "h\u00e4u\u00dfg": 7, "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "icon": [25, 32, 33, 95, 97], "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "idea": [9, 48, 90, 92, 95], "ideal": [40, 47, 48], "ident": [37, 82, 95], "identicalresendscount": 37, "identicalresendscountdown": [79, 82], "identif": 55, "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "idiom": 96, "idl": [13, 37, 79, 82], "idonotexist": 74, "ifram": 90, "iga": 86, "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 86, 90, 92, 95, 96], "ignore_blacklist": 77, "ignore_exist": 78, "ignore_throttl": 33, "ignoredcommand": [37, 79, 82], "ignoredidenticalresend": 37, "ignoreemptyport": [79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "ignoreidenticalresend": [37, 79, 82], "ignoreincompletestartup": [37, 79, 82], "ignorerevsfil": 42, "iknowwhatimdo": 77, "illeg": 40, "ilo": 86, "imag": [17, 37, 47, 74, 82, 95, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "immin": 95, "impact": [37, 82], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "implementat": 23, "impli": 33, "implic": 82, "implicit": [2, 95, 97], "implicitli": [3, 33], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "importantli": 85, "importerror": [86, 88, 96], "imposs": [4, 9, 90], "improperli": 48, "improv": [41, 83], "in_plac": 86, "inact": 52, "incl": [14, 92], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "include_bodi": 83, "includecurrenttoolintemp": 46, "includedoc": 86, "includefilenameinopen": 46, "inclus": 97, "incom": [37, 70, 82, 83, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "incomplet": [37, 82, 97], "incomplete_startup": 12, "inconvi": 48, "increas": [39, 41, 45, 70, 86, 92, 95], "increase_bodys": 92, "increaser": [62, 70], "increment": [95, 96], "inde": 18, "indent": [40, 48], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "individu": [0, 16, 37, 39, 42, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "infil": 3, "infinit": 92, "influenc": [37, 82, 92, 95], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "infowarnneverenum": [79, 82], "ing": [33, 96], "inherit": [2, 25, 95, 96], "init": [9, 66, 80, 84], "init_platform": 77, "init_platform_for_cli": [77, 79], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "initialize_implement": 80, "initsd": [62, 66], "inject": [4, 11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "inlin": [46, 51], "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "input_nam": 92, "input_stream": 78, "insecur": [37, 48, 82], "insensit": [23, 33, 83, 86], "insert": [36, 80], "insert_valu": 36, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "insight": [34, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "instanti": [57, 62, 88, 90, 92, 97], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "intact": 57, "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "intent": 92, "interact": [23, 37, 49, 66, 82, 90, 97], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "interfer": [9, 49], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "internet": [33, 47, 48], "interpret": [3, 9, 36, 42, 81, 92], "interpreterpath": 42, "interv": [16, 24, 34, 37, 46, 79, 82, 86], "introduc": [55, 81], "intuit": 77, "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "invalid_syntax": [79, 80], "invalidargumenterror": [57, 62], "invalidfileloc": 81, "invalidfiletyp": 81, "invalidprofileerror": [79, 81], "invalidtoolreport": 47, "invalidusernam": [76, 79], "invalu": [37, 82], "invers": 77, "invert": [10, 81], "investig": [1, 47], "invit": 90, "invoc": [80, 92], "invok": [78, 80, 86, 92, 95], "involv": [48, 81, 92], "io": [24, 26, 78, 83], "iobas": 78, "ioerror": [85, 95], "iostream": 83, "ip": [17, 25, 33, 37, 47, 48, 82, 83], "ipad": 95, "ipcheck": [37, 79, 82], "ipcheckconfig": [79, 82], "iphon": 95, "ipv4": [48, 82], "ipv6": 48, "irrelev": [80, 92], "is_allowed_fil": [79, 86], "is_api_adminonli": 95, "is_blueprint_csrf_protect": 95, "is_blueprint_protect": 95, "is_cancel": [79, 81], "is_client": 83, "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_flag": 77, "is_hidden_path": 92, "is_lan_address": 17, "is_mfa_en": 95, "is_multipart": [79, 83], "is_null_sess": 83, "is_obsolete_hook": [79, 80], "is_oper": [79, 81], "is_os_compat": [79, 86], "is_paus": [79, 81], "is_plugin_mark": [79, 80], "is_pre_compress": 83, "is_print": [79, 81], "is_readi": [79, 81], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "is_san": 92, "is_slicer_configur": 95, "is_template_autoescap": 95, "is_wizard_ignor": 95, "is_wizard_requir": 95, "isfold": 61, "isinst": [86, 92, 96], "isn": [3, 23, 48, 90, 96], "iso": [4, 47], "isol": 48, "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 95, 96], "issuecommand": [57, 62], "italian": 7, "italiano": 7, "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "item_typ": 86, "iter": [6, 52, 78, 83, 92, 93, 95, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "januari": 96, "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "jinja": [52, 90, 92, 95], "jinja2": [51, 52, 62, 90, 92, 95], "jneilliii": 32, "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "job_on_hold": [79, 81], "job_typ": 92, "jog": [9, 62, 66, 79, 81, 92], "join": [24, 78, 83, 95], "join_path": [78, 79, 83], "jpeg": [74, 95], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "js_client": 62, "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "json_encod": 83, "jsondata": 33, "jsonencod": 83, "jsonifi": [91, 92, 95], "jump": 21, "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "k": [86, 92], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "kei": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "kept": [41, 77], "key1": 86, "key2": 86, "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "keyvalid": 93, "keyword": [77, 80, 83, 85, 86, 92, 95], "kib": 90, "kill": [9, 46], "kind": [11, 48, 92, 95, 96], "kindli": 26, "knockout": [90, 95], "knockoutj": 97, "know": [9, 40, 90, 95, 96, 97], "known": [25, 37, 47, 50, 52, 78, 82, 92, 95], "ko": 90, "konnichiwa": 92, "kw": 86, "kwarg": [24, 32, 33, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 95], "l": [82, 86], "l1": 86, "l2": 86, "label": [42, 47, 51, 57, 82, 90], "lack": [3, 9, 11, 42, 52], "lai": [51, 82], "lambda": [80, 86, 92, 95, 96], "lan": [17, 48], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "language_pack": 7, "larg": [9, 37, 82], "larger": [10, 39, 92], "largeresponsehandl": [79, 83, 92], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "last_fanspe": 52, "last_modifi": [78, 79, 84], "last_modified_or_made_dirti": [79, 84], "last_octoprint": [79, 82], "last_posit": 52, "last_temperatur": 52, "last_upd": 7, "lastlinebuffers": [79, 82], "lastmodifi": [83, 95], "lastn": 46, "lastprinttim": [2, 81], "latenc": 82, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "latest": [24, 33, 42, 49], "latin_1": [37, 82], "latter": [51, 92, 95, 97], "launch": [42, 44, 95], "lax": [37, 79, 82], "layer": [14, 39, 40, 47, 48, 81, 85, 92], "layer_height": 14, "layout": [37, 51, 79, 82], "layoutenum": [79, 82], "lazili": 95, "lcd": [37, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "leaf": 92, "leaf_merg": 86, "learn": [48, 90], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "leav": [33, 37, 82, 86, 90, 95], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "legaci": [13, 14, 77, 90, 96], "legacy_opt": [77, 79], "len": [86, 92], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "lessj": 90, "lesssimplecach": [79, 83], "let": [48, 51, 89, 90, 92, 95], "letter": 97, "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "levelnam": 39, "lfn_write": [46, 79, 82], "lgz0trf8by": 11, "li": [92, 95], "lib": [62, 90], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 90, 95], "libx264": 82, "libyaml": 42, "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "life": [47, 90], "lifecycl": [81, 92, 93], "lifecyclemanag": [80, 92], "light": [23, 40], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "likewis": [80, 85, 87], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "linear": [2, 37, 82], "lineno": 39, "linenumb": [37, 46, 82], "lineprocessorstream": [78, 79, 92, 96], "link": [9, 32, 33, 47, 78, 90, 92, 95], "lint": 42, "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89, 90], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "list_command": [77, 79], "list_fil": [78, 79], "listallslicersandprofil": [62, 69], "listen": [48, 83, 95], "listforloc": [61, 62], "listlog": 31, "listprofilesforslic": [62, 69], "listrend": [62, 72], "listscript": [79, 84], "listunrend": [62, 72], "liter": [40, 96], "littl": [32, 33, 90, 95], "live": [22, 32, 33, 37, 82, 92, 96], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "load_overlai": [79, 84], "load_profil": [79, 85], "loadabl": 90, "loader": 83, "loadscript": [79, 84], "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "local_filenam": 92, "local_vers": 33, "locale_displai": 7, "locale_english": 7, "localfilestorag": [78, 79], "localhost": [4, 37, 82], "localnetwork": [37, 48, 79, 82], "localpipcommand": [37, 79, 82], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "location_str": 80, "lock": [37, 81, 82], "lodash": 62, "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "log_cal": 86, "log_color": 39, "log_except": [79, 83], "log_lin": [79, 81], "log_stderr": 86, "log_stdout": 86, "logfil": [37, 80, 97], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "logging_config": 77, "logging_prefix": 80, "logic": [32, 51, 80, 82, 83, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "login_requir": 83, "loginst": 97, "loginstateviewmodel": 97, "loginui_them": 92, "loglevel": 39, "logon": [37, 82], "logout": [5, 11, 58, 62, 92], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "logrecord": 39, "logresend": [37, 79, 82], "logsviewmodel": 97, "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "long_str": [79, 80], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "longnam": 46, "longrunningcommand": [37, 79, 82], "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "looks_like_plugin": [79, 80], "lookup": [17, 83], "loop": [86, 92, 95], "loss": 24, "lost": [1, 46, 47, 81], "lot": [33, 37, 40, 57, 82, 92], "low": 82, "lower": [70, 81, 86, 90, 92, 95, 97], "lower_error": 92, "lowerleft": [10, 79, 81], "lowlat": [79, 82], "lru": 78, "ly": 81, "m": [42, 81, 86, 90, 92], "m0": [37, 47, 82], "m1": [37, 47, 82], "m104": [37, 52, 82], "m105": [37, 46, 82, 92], "m105notargetformatstr": 46, "m105targetformatstr": 46, "m106": [9, 37, 51, 52, 88, 92], "m107": [37, 51, 52, 88, 92], "m108": 82, "m109": [3, 46], "m110": [37, 82, 92], "m112": [46, 47, 82], "m114": [47, 51, 52, 82], "m115": [37, 46, 47, 92], "m115_geometry_report": 46, "m115formatstr": 46, "m115reportarea": 46, "m115reportcap": 46, "m117": [37, 46, 47, 51, 82, 92], "m118": [37, 82], "m140": [52, 82], "m18": [9, 52], "m20": [46, 82], "m226": [37, 47, 82], "m23": 46, "m240": 47, "m245": 47, "m25": [37, 82], "m27": [37, 82, 92], "m29": [37, 46, 82], "m300": 47, "m40": 47, "m400": [37, 82], "m410": 82, "m500": 46, "m503": 46, "m600": [37, 47, 82], "m701": 47, "m702": 47, "m707": 82, "m708": 82, "m80": [47, 92], "m81": 47, "m82": 52, "m83": 52, "m84": 52, "m876": 21, "mac": [43, 51, 54, 89, 90], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "machine_typ": 92, "machinecod": [2, 3, 47, 78, 81, 92], "machinecode_path": 95, "machinecodepath": 97, "machinecom": 92, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "magic": 96, "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "mail": 90, "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "maintain": [45, 95], "mainten": [33, 41, 45, 96], "major": [41, 45], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "make_api_error": [79, 83], "make_respons": [92, 95], "make_text_respons": [79, 83], "malform": 15, "malici": 49, "malwar": 48, "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "mandat": 45, "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "mani": [34, 37, 46, 66, 81, 82, 92], "manifest": 90, "manipul": [36, 49, 92], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "mark_plugin": [79, 80], "markdown": 96, "marlin": 46, "mask": 48, "master": [32, 33, 41, 42, 54, 83, 90, 95], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "materi": 81, "math": 57, "matter": [40, 93, 96], "max": [37, 51, 79, 80, 82, 83], "max_ag": 83, "max_body_s": 83, "max_cookie_s": 83, "max_default_body_s": 83, "max_i": 10, "max_x": 10, "max_z": 10, "maxbyt": 39, "maxcommunicationtimeout": [13, 37, 79, 82], "maxconsecutiveresend": [79, 82], "maxextrud": [37, 79, 82], "maxi": [2, 78], "maxim": [11, 70], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "maxnotsdprint": [79, 82], "maxsiz": [37, 79, 82, 86], "maxtimeoutsidl": 13, "maxtimeoutslong": 13, "maxtimeoutsprint": 13, "maxwritepass": [37, 79, 82], "maxx": [2, 78], "maxz": [2, 78], "mb": [33, 39], "md": [89, 90], "md5": 2, "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "meaning": 4, "meantim": 33, "measur": [48, 70], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "media": [3, 90], "medium": 14, "medium_qu": 14, "memori": [37, 82, 83], "mention": [37, 49, 52, 88, 90, 96], "menu": [15, 37, 55, 82, 89, 90, 92], "mere": [48, 92], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "mess": 96, "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "message_on_connect": 92, "met": [51, 82, 83, 95], "meta": [7, 41, 80, 85, 95], "metadata": [3, 47, 77, 78, 80, 82, 83, 87, 88, 90, 92], "metadataanalysisfinish": 47, "metadataanalysisstart": 47, "metadatastatisticsupd": 47, "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "method_nam": 95, "metric": 34, "mfa": 95, "mfa_dummi": 95, "mfa_login": 95, "mfaplugin": 93, "mfatotp": 95, "mi": 46, "microsoft": 25, "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "migrat": [24, 41, 56, 84, 93, 95], "millimet": 81, "mime": 83, "mime_type_guess": 83, "mimetyp": [74, 83], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "min_i": 10, "min_x": 10, "min_z": 10, "mind": [40, 78, 90, 92], "mindelai": 16, "mini": [2, 78], "minif": [37, 82], "minifi": [37, 79, 82], "minify_plugin": [37, 79, 82], "minim": [78, 83, 86, 95], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "minimum_free_storag": 33, "minor": 45, "mintemp": 9, "minut": [22, 33, 37, 82], "minx": [2, 78], "minz": [2, 78], "mirror": 92, "misc": 46, "misconfigur": 47, "mismatch": [0, 4, 46], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "missing_fil": 17, "missing_lineno": 46, "mistaken": 40, "mitig": 4, "mix": [2, 37, 82, 95], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "mixtur": [2, 37, 82], "mjpeg": 82, "mjpg": [37, 82], "mm": [2, 3, 9, 10, 66, 78, 81, 82, 86], "mobil": [37, 90, 95], "mobilesizethreshold": [13, 29, 37], "mod": 86, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 83, 90, 95], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 83, 85, 90, 92, 95, 97], "model_computed_field": [79, 82, 83], "model_config": [79, 82, 83], "model_field": [79, 82, 83], "model_path": 95, "modelpath": 97, "modelsizedetect": [37, 79, 82], "modern": 90, "modif": [47, 78, 81, 84, 85, 95], "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "modulenotfounderror": 44, "moduleorigin": 80, "modulesdkpath": 42, "moment": [11, 17, 57, 78, 92], "monitor": [9, 92], "monitor_termin": 9, "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "moreov": 62, "morn": 92, "most": [3, 7, 33, 34, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "mostli": [9, 13, 83], "motor": [37, 48, 52, 82], "mount": 37, "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "move_fil": [78, 79], "move_fold": [78, 79], "movement": [9, 78], "movi": [37, 47, 48, 82], "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "movierend": 47, "movierenderdon": 11, "mozilla": 82, "mpeg2video": 37, "msvcv142": 42, "much": [9, 48, 89, 90, 92, 96], "multi": [14, 52, 92, 95], "multi_gcode_test": 92, "multicommand": [77, 92], "multilin": 40, "multipart": [3, 4, 7, 57, 83, 92], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "multipli": [11, 66], "multistream": [78, 79], "multitud": 52, "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "must_exist": 85, "mutual": [9, 51, 82], "mv": 96, "my": [10, 23, 37, 57, 88, 96], "my_collect": 96, "my_custom_ev": 92, "my_custom_reprap": 3, "my_custom_tag": 92, "my_default_profil": 85, "my_error_callback": 80, "my_fil": 95, "my_funny_apikei": 83, "my_host": 80, "my_other_custom_ev": 92, "my_other_fil": 95, "my_overrid": 85, "my_permiss": 92, "my_plugin": 33, "my_port": 80, "my_printer_profil": 1, "my_profil": 10, "my_repo": 33, "my_slic": 85, "my_styl": 95, "my_sub_packag": 96, "my_success_callback": 80, "my_us": 33, "myblueprintplugin": 95, "myclass": 95, "mycommand": 57, "mycustomexcept": 57, "mycustomgcodeanalysisqueu": 92, "mycustomviewmodel": 97, "myecho": 95, "myendpoint": 57, "myfilenam": 57, "mygrowlserv": 47, "myotherclass": 95, "mypassword": [58, 70], "myplugin": [52, 57, 88, 92, 95, 96], "myplugin_about": 95, "myplugin_first_tab": 95, "myplugin_first_tab_jinja2": 95, "myplugin_mfa_login": 95, "myplugin_navbar": 95, "myplugin_othertab": 95, "myplugin_second_tab": 95, "myplugin_second_tab_jinja2": 95, "myplugin_set": 95, "myplugin_sidebar": 95, "myplugin_tab": 95, "myplugin_userset": 95, "myplugin_usersettings_mfa": 95, "myplugin_webcam": 95, "myplugin_wizard": 95, "myplugincli": 57, "myprintersymlink": 37, "myself": 42, "mysettingsplugin": 95, "mysimpleapiplugin": 95, "myusernam": [58, 70], "myvari": [52, 92], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "n0": [37, 82], "n2685": 9, "n2686": 9, "n2687": 9, "n2688": 9, "n2689": 9, "n2690": 9, "n2691": 9, "n2692": 9, "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "name_gener": 83, "namespac": [80, 90], "namesuffix": [37, 79, 82], "nano": 48, "nativ": 82, "natur": [9, 97], "nav": 90, "navbar": [13, 37, 79, 82, 90, 95], "navbartemp": 90, "navig": [33, 37, 82, 90, 95, 97], "navigationviewmodel": [90, 97], "nearest": 45, "neat": 90, "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "necessarili": [52, 81, 92], "necessit": [88, 95], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "needs_rebuild": [79, 83], "needs_restart": [79, 80], "neg": [9, 23, 86], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "net": 90, "netloc": 83, "network": [4, 25, 37, 48, 82], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "never_curr": 33, "neversendchecksum": [79, 82], "new": [1, 3, 5, 7, 8, 9, 11, 13, 14, 16, 22, 23, 24, 32, 33, 34, 37, 39, 41, 42, 45, 47, 48, 52, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "new_flag": 95, "newer": [33, 42, 92], "newli": [24, 42, 48, 80, 89], "newlin": 92, "newplugin": 90, "newurl": 90, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "nginx": [37, 82, 83], "nice": 90, "nicer": 90, "nifti": [37, 82], "nm106": [37, 82], "nm140": 37, "nm84": [37, 82], "no_color": 39, "no_firstrun_access": [79, 83], "no_fram": 47, "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "node": [2, 47, 49, 78, 90], "nois": 46, "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 83, 86, 90, 95], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "nonetyp": 82, "nonsens": 92, "nop_upload_to_sd": 92, "nor": [3, 11, 83, 85, 88, 92], "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "nosuchstorag": [78, 79], "notat": [37, 82], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "notic": [32, 90, 95], "notices_ttl": 32, "notif": [22, 30, 33, 37, 55, 56, 82], "notifi": [33, 57, 92, 95], "notify_us": 33, "notifysuppressedcommand": [79, 82], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "nozzl": [10, 29, 46, 52, 81], "nozzlediamet": [10, 81], "npn": 83, "null": [2, 9, 19, 37, 46, 97], "num": 86, "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "numextrud": 46, "o": [24, 37, 43, 46, 82, 86, 92, 95], "obj": 83, "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "object_": 83, "obligatori": [25, 95], "observ": [54, 55, 90, 92], "obsolet": 80, "obtain": [11, 23, 33, 43, 51, 82, 90], "obviou": 92, "obvious": 96, "occas": 52, "occur": [2, 9, 15, 17, 47, 90], "octet": [3, 57, 83], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "octoprint1": 62, "octoprint2": 62, "octoprint_": 90, "octoprint_app": 83, "octoprint_backup_restore_unsupport": 24, "octoprint_daemon": 77, "octoprint_helloworld": 90, "octoprint_logo": 47, "octoprint_setuptool": 90, "octoprint_tracking_dis": 34, "octoprint_viewmodel": [90, 97], "octoprintanonymousident": [79, 83], "octoprintcli": [4, 23, 30, 56, 62], "octoprintcontext": [77, 79], "octoprintdevelcommand": [77, 79], "octoprintflaskrequest": [79, 83], "octoprintflaskrespons": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintpermiss": 95, "octoprintplugin": [24, 79, 80, 92, 94, 95], "octoprintplugincommand": [77, 79, 92], "octoprintsessioninterfac": [79, 83], "od": 86, "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "offend": 86, "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "offici": [24, 32, 54, 56, 90, 93, 96], "offlin": [6, 47, 51, 81, 82], "offset": [9, 10, 11, 66, 81], "often": [3, 11, 34, 45, 95], "oh": 92, "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "okafterresend": 46, "okbeforecommandoutput": 46, "okformatstr": 46, "okwithlinenumb": 46, "old": [47, 48, 52, 57, 90, 95, 97], "old_flag": 95, "older": [37, 41, 82, 95], "omg": 9, "on_after_startup": [90, 91, 92, 95], "on_api_command": 95, "on_api_get": [91, 95], "on_cancel": 86, "on_condition_fals": 86, "on_ev": 95, "on_finish": [79, 83, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "on_plugin_pending_uninstal": [79, 80, 87], "on_print_progress": 95, "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "on_reset": 86, "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_load": 95, "on_settings_migr": 95, "on_settings_sav": 95, "on_shutdown": 95, "on_slicing_progress": 95, "on_startup": [80, 90, 92, 95], "on_ui_rend": 95, "on_wizard_finish": [19, 95], "onafterbind": 97, "onaftertabchang": 97, "onafterwizardtabchang": 97, "onallbound": 97, "onbeforebind": [90, 97], "onbeforeprintstart": 97, "onbeforewizardfinish": 97, "onbeforewizardtabchang": 97, "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "ondataupdaterpluginmessag": 97, "ondataupdaterreconnect": 97, "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "oneorderedhook": 92, "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "oneself": 78, "onev": 97, "oneventprintdon": 97, "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "onlinecheckconfig": [79, 82], "onmessag": [62, 70], "onratetoohigh": [62, 70], "onratetoolow": [62, 70], "onserverdisconnect": 97, "onsettingsbeforesav": 97, "onsettingshidden": 97, "onsettingsshown": 97, "onslicingprogress": 97, "onstartup": 97, "onstartupcomplet": 97, "ontabchang": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onusersettingsbeforesav": 97, "onusersettingshidden": 97, "onusersettingsshown": 97, "onwebcamrefresh": 97, "onwebcamvisibilitychang": 97, "onwizarddetail": [95, 97], "onwizardfinish": 97, "onwizardtabchang": 95, "op": 92, "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "open_seri": 81, "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "opposit": 78, "oprint": [54, 55, 89, 90, 96], "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "optionsalloworigin": [79, 83], "orang": [10, 37, 79, 82], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "orderedhook": 92, "ordertest": 92, "ordertestplugin": 92, "org": [9, 17, 32, 33, 34, 37, 42, 54, 56, 74, 82, 90], "organ": [40, 54], "organizeimport": 42, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95, 97], "original_absolute_path": [79, 83], "orward": 80, "oserror": 78, "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "other_kei": 86, "other_valu": 86, "otherparamet": 57, "othervalu": 57, "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "our": [23, 78, 83, 88, 90, 92, 95, 97], "ourselv": 92, "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "outdat": [42, 95, 96], "outgo": 46, "outlin": [48, 95], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "output_timeout": 86, "outright": [4, 33, 54], "outsid": [9, 40, 47, 80, 92, 96], "outskirt": 96, "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "overal": [17, 84], "overcom": 96, "overhead": [78, 92], "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "overlay_kei": [79, 84], "overload": 95, "overrid": [3, 14, 34, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "overview": [94, 95], "overwrit": [78, 81, 83, 90, 92, 95], "overwritten": [10, 14, 70, 78, 85, 86, 90], "owasp": 4, "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "owner": [23, 47], "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "p1": 21, "p500": 51, "pack": [5, 55, 62, 64, 90], "packag": [33, 54, 87, 88, 90, 93, 94, 96], "packed_cli": 62, "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "pai": 96, "pain": 90, "pair": [9, 40, 52, 57, 60, 66, 86, 95], "pane": [46, 95], "panel": [20, 24, 37, 82, 95, 97], "paragraph": 40, "param": [77, 78, 81, 83, 86, 92], "param_decl": 77, "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "parametr": 51, "parametric_command": 37, "paramtyp": 77, "parent": [3, 61, 78, 80, 83, 95], "pariti": 92, "parity_non": 92, "parity_odd": 92, "park": 81, "park_printhead": 81, "pars": [3, 17, 33, 36, 47, 77, 80, 83, 92, 95], "parse_firmware_lin": 92, "parsed_metadata": [79, 80], "parsed_temp": 92, "parsed_temperatur": 92, "parser": 82, "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "partial": [10, 13, 73, 92], "particular": [9, 81, 95, 97], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "pass_context": 92, "pass_octoprint_ctx": [77, 79, 92], "passiv": [4, 11, 58, 97], "passivelogin": [58, 62, 70], "password": [4, 17, 25, 33, 37, 58, 70, 73, 82, 83, 91], "passwordhash": 76, "past": [2, 17, 23, 37, 47, 82, 96], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "patchjson": [57, 62], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96, 97], "path_filt": 83, "path_in_storag": [78, 79], "path_on_disk": [78, 79], "path_processor": 83, "path_valid": [83, 92], "path_validation_factori": [79, 83, 92], "pathforentri": [61, 62], "pathnam": 39, "pathprefix": 25, "pathsuffix": [37, 79, 82], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "pause_fanspe": 52, "pause_posit": 52, "pause_print": [79, 81], "pause_temperatur": 52, "pausetrigg": [79, 82], "pausingcommand": [37, 79, 82], "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "pbn": [37, 82], "pc": 48, "penalti": 96, "pend": [33, 80, 86, 92], "pending_deprec": [79, 86], "peopl": [52, 90], "pep440": 45, "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "percent": [47, 81], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "perform_upd": 33, "perfprofil": 44, "period": [86, 95], "perman": 83, "permessag": 83, "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "permissionmanag": [79, 82], "permit": 48, "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "person": [0, 2, 33, 94], "pertain": 37, "phase": [80, 88, 93, 96], "phew": 40, "physic": [10, 37, 48, 82], "pi": [33, 48, 90, 96], "pick": [33, 90, 92], "pickl": 83, "pickleerror": 83, "pictur": [37, 82], "pid": 77, "piec": [40, 88], "pin": 46, "ping": 34, "pinnedextrud": 46, "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "pip_arg": 32, "pip_command": 33, "pip_cwd": 33, "pip_force_us": 32, "pisupport": 33, "pitfal": 93, "pla": [37, 82], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "plai": [40, 84], "plain": [17, 57, 83], "plan": [48, 54, 57, 96], "platform": [4, 42, 48, 56, 77, 79, 80, 92, 95], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "plot": 11, "plu": [9, 37, 41, 85, 95, 97], "plug": 87, "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "plugin_": [37, 80, 90, 92, 95], "plugin_a": 95, "plugin_achiev": 82, "plugin_achievements_2": 82, "plugin_action_command_notification_clear": 20, "plugin_action_command_notification_show": 20, "plugin_action_command_prompt": 13, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_announc": [13, 37, 82], "plugin_appkei": [37, 82], "plugin_appkeys_admin": [23, 92], "plugin_appkeys_gr": 23, "plugin_asset": 95, "plugin_author": 90, "plugin_author_email": 90, "plugin_b": 95, "plugin_backup": [37, 82], "plugin_backup_backup_cr": 24, "plugin_bas": 80, "plugin_blacklist": 80, "plugin_c": 95, "plugin_considered_bundl": 80, "plugin_corewizard_acl": [37, 82], "plugin_corewizard_onlinecheck": 82, "plugin_curalegaci": 13, "plugin_custom_template_provider_awesometempl": 92, "plugin_d": 95, "plugin_descript": 90, "plugin_disabled_list": 80, "plugin_entry_point": 80, "plugin_errortrack": [37, 82], "plugin_eventmanag": 82, "plugin_example_my_permiss": 92, "plugin_firmware_check": 37, "plugin_firmware_check_info": 82, "plugin_firmware_check_warn": 82, "plugin_flag": 80, "plugin_fold": 80, "plugin_gcodeview": [37, 82], "plugin_hash": 11, "plugin_health_check": 82, "plugin_helloworld": 37, "plugin_helloworld_url": 90, "plugin_homepag": 90, "plugin_hook": [79, 80], "plugin_id": 13, "plugin_identifi": 90, "plugin_ignored_packag": 90, "plugin_installurl": 90, "plugin_kei": 80, "plugin_licens": 90, "plugin_lifecycle_manag": 92, "plugin_log": [13, 37, 82], "plugin_logging_plugintimingslog": 82, "plugin_logging_seriallog": 82, "plugin_manag": [77, 79, 80, 92], "plugin_myplugin": 95, "plugin_myplugin_1": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2": 95, "plugin_myplugin_2nd": 95, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "plugin_nam": [13, 54, 90], "plugin_obsolete_hook": 80, "plugin_packag": 90, "plugin_pi_support": [37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "plugin_pluginmanager_disabled_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_install_plugin": 32, "plugin_pluginmanager_uninstall_plugin": 32, "plugin_printer_safety_check": 13, "plugin_requir": 90, "plugin_restart_needing_hook": 80, "plugin_set": [79, 80, 92], "plugin_settings_for_settings_plugin": 92, "plugin_settings_from_settings_plugin": 92, "plugin_softwareupd": [13, 37, 82], "plugin_softwareupdate_upd": 82, "plugin_softwareupdate_update_fail": 33, "plugin_softwareupdate_update_succeed": 33, "plugin_sorting_ord": 80, "plugin_sourc": 90, "plugin_track": [37, 82], "plugin_url": 90, "plugin_valid": 80, "plugin_vers": 90, "plugin_virtual_printer_seri": 46, "plugina": 95, "pluginassetresolv": [79, 83], "pluginb": 95, "pluginblacklist": [37, 79, 82], "pluginblacklistconfig": [79, 82], "pluginc": 95, "plugind": 95, "plugininfo": [79, 80, 94], "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "pluginnam": 95, "pluginname_eventtyp": 47, "pluginsconfig": [79, 82], "pluginset": [47, 79, 80, 92, 94], "pluginsettingsmanag": 95, "plugintim": [79, 82], "png": [17, 47], "po": 81, "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "polici": [26, 34, 80, 88], "poll": [37, 82, 92], "pollwatch": [37, 79, 82], "pop": 41, "popen": 86, "popul": [2, 57, 78, 83, 90, 95], "popup": [20, 81], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "portfallback": [79, 82], "porthead": [79, 82], "portopt": 13, "portprefer": [1, 81], "posautoreport": [79, 82], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "positionlogwait": [79, 82], "positionupd": 47, "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "possibli": [2, 42, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "postfix": [80, 92], "postjson": [57, 62], "postprocess": 92, "postrol": [16, 37, 79, 82], "potenti": [2, 10, 41, 42, 70, 80], "power": [92, 95], "poweroff": 47, "poweron": 47, "pp": [79, 86], "practic": 97, "pragma": 83, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "precaut": 88, "preced": [49, 92], "precondit": 6, "preconfigur": [22, 83, 92], "predefin": [48, 53, 92, 95], "predic": 86, "preemptiv": [37, 79, 82, 95], "preemptive_cach": 92, "preemptivecach": [37, 79, 82, 92], "preemptivecacheconfig": [79, 82], "prefer": [1, 37, 42, 62, 81, 82, 96], "preferred_stylesheet": 95, "prefil": 90, "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "prefixawarejinjaenviron": [79, 83], "prefixfallback": [37, 79, 82], "prefixhead": [37, 79, 82], "prelaunchtask": 42, "preliminari": 95, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "prepare_ok": 46, "preparedok": 46, "prepend": [37, 57, 92], "prependablequeu": [79, 86], "preprocess": [61, 92, 95], "preprocessor": [80, 84, 93, 95], "prereleas": 33, "prerelease_branch": [33, 89], "prerelease_channel": 33, "prerequisit": 42, "presenc": [0, 4, 33, 37, 82, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "preserv": 78, "press": [42, 51, 82, 86], "pretti": [9, 48, 89, 90, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "preview": [29, 41], "previou": [2, 4, 11, 52, 90, 97], "previous": 95, "primari": 90, "primarili": [56, 96], "prime": [29, 52], "primer": [38, 48, 51, 55, 56], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "print_funct": 96, "print_time_estimator_factori": 92, "printabl": [47, 92], "printafterselect": 81, "printcancel": [47, 52], "printcancelconfirm": [37, 79, 82], "printdon": [47, 52], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "printer_data": 92, "printer_factory_hook": 92, "printer_paramet": 82, "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "printer_profile_id": 85, "printer_profile_manag": [85, 92], "printer_safety_check": [13, 34], "printercallback": [79, 81, 92], "printerinst": 92, "printerinterfac": [79, 80, 81, 92, 94], "printerparamet": [79, 82], "printerparametersconfig": [79, 82], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "printerprofilemodifi": 47, "printerprofileprefer": 1, "printerprofilesconfig": [79, 82], "printerprofilesviewmodel": 97, "printerstatechang": 47, "printerstateviewmodel": 97, "printfail": [11, 47], "printhead": [9, 92], "printingarea": [2, 78], "printjob": 34, "printpaus": [47, 52], "printresum": [47, 52], "printstart": [47, 52], "printstartconfirm": [79, 82], "printtim": [2, 6, 37, 79, 81, 82, 92], "printtimeestim": 92, "printtimeestimationconfig": [79, 82], "printtimegeniu": 32, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "prior": [6, 48, 57, 78, 81, 92, 95, 97], "priorit": 78, "prioriti": [22, 37, 78, 82], "privaci": [26, 34, 37, 80, 88], "privacypolici": [79, 80], "privat": 33, "privileg": 42, "pro": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "problemat": 96, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "proceed": [21, 48, 90], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "process_lin": [78, 79, 92, 96], "produc": [11, 21, 83, 86, 90, 95], "product": [37, 80, 82, 92], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "profile_nam": 85, "profile_path": [85, 95], "profilealreadyexist": [79, 85], "profileexcept": [79, 85], "profileid": 69, "profiles_last_modifi": [79, 85], "program": [9, 42, 90], "programm": 90, "programmat": [15, 95], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "progress_report": 95, "progressavail": 47, "progressoutput": 57, "progressplugin": 93, "project": [27, 28, 42, 90, 96], "projectfiledir": 42, "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "prompt_begin": 21, "prompt_button": 21, "prompt_choic": 21, "prompt_end": 21, "prompt_requir": 77, "prompt_show": 21, "prone": 92, "pronterfac": 49, "proper": [57, 90, 93, 95], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "properti": [0, 2, 3, 9, 10, 13, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "protect": [5, 82, 95], "proto": 83, "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "protocol_action_hook": 92, "protocol_atcommandphase_hook": 92, "protocol_gcodephase_hook": 92, "protocol_scripts_hook": 92, "protocol_temperatures_received_hook": 92, "protocol_vers": [46, 92], "prototyp": 57, "proven": 96, "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "proxi": [37, 82, 83, 92], "pubkei": 37, "public": [25, 33, 48, 56, 90], "publicli": [48, 95], "publicport": 25, "publish": [25, 33, 89, 90, 91, 95], "pull": [42, 96], "pure": [33, 95], "purpos": [4, 37, 80, 90, 92, 95], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 95, 96, 97], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "putjson": [57, 62], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "py2": 96, "py311": 90, "py__": 89, "pybonjour": 91, "pyc": 90, "pycharm": 43, "pydant": [82, 83], "pyenv": 90, "pyinstrument": 44, "pyinterpreterdirectori": 42, "pylinten": 42, "pypi": [33, 54], "pypi_releas": 33, "pyseri": 92, "pytest": 42, "pytesten": 42, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "python2": 96, "python3": [42, 96], "python37": 96, "python3execut": 96, "python_check": 33, "python_requir": 90, "python_updat": 33, "pythoncompat": [79, 80], "pythoneolcheck": [79, 82], "pythoneolcheckconfig": [79, 82], "pythoneolentri": [79, 82], "q": 82, "qualifi": [78, 86], "qualiti": [14, 81], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "question": [4, 9, 23, 33, 83, 92], "queu": [81, 92], "queue": [21, 78, 86, 92, 94, 95, 96], "queue_factori": 78, "queueentri": [78, 79], "quick": [82, 90], "quick_test": 14, "quickli": [37, 55, 90, 96], "quirk": 35, "quit": [40, 90, 92, 96], "quo": [11, 14], "quot": [40, 49], "quoted_str": 40, "r": [17, 37, 74, 77, 80, 83, 92], "r0lgodlhaqabaiaaaaaaap": 17, "rais": [78, 80, 81, 83, 84, 85, 86, 95], "ran": 86, "random": [78, 82, 92], "random_greet_command": 92, "randomli": [37, 82], "randrang": 92, "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "rare": 4, "raspberri": [33, 48, 90], "raspi": 47, "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "rateslidingwindows": 70, "rather": [4, 37, 82], "ratio": [2, 46, 82], "ratioenum": [79, 82], "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "rawiobas": 78, "rc": [26, 33, 41], "re": [33, 81, 82, 92, 95], "reach": [17, 51, 56, 82, 92], "reachabl": [17, 25, 48, 74, 92, 95], "react": [24, 34, 54, 80, 87, 90, 92, 95], "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "read_m115_respons": 92, "read_timeout": 92, "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "reader": 22, "readi": [2, 4, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "readlin": 92, "readm": 90, "readonly_group": 92, "real": [11, 46, 83, 86, 92], "realli": [15, 33, 37, 48, 55, 82, 90], "really_univers": 78, "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "reauthent": [11, 37, 82], "reauthrequir": 11, "reboot": 15, "rebuild": 42, "rebuilt": 83, "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "recent": [0, 23, 33, 83, 86, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "reconnect": [1, 32, 62, 70, 93], "reconnect_hook": 93, "reconnect_hooks_hook": 32, "record": [0, 4, 16, 25, 37, 47, 82, 95], "recov": 47, "recover": 92, "recoveri": [4, 55, 82, 92], "rectangular": [10, 79, 81], "recurs": [2, 3, 61, 78, 86, 90], "recursivelyprintnam": 61, "recv": [9, 11, 37, 82], "red": [10, 22, 37, 51, 79, 82, 95], "redefin": [37, 39], "redirect": [17, 30, 82, 83, 95], "redirect_to_tornado": [79, 83], "reduc": [37, 82, 90, 95], "redund": [2, 90], "reenqueu": 78, "reestablish": 97, "ref": [2, 3, 31], "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "referenc": [39, 92], "reflect": [9, 13, 17, 66, 90], "refresh": [3, 9, 42, 66, 82, 89, 97], "refreshsd": [62, 66], "refus": [37, 78, 96], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "regardless": [37, 62, 82, 87, 92, 95, 96], "regener": [5, 11, 37, 82], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "register_callback": [79, 81], "register_custom_ev": [47, 93], "register_custom_events_hook": 92, "register_finish_callback": 78, "register_message_receiv": [79, 80], "registered_slic": [79, 85], "registerplugincompon": [57, 62], "registr": [57, 78, 89, 92, 96], "registri": 57, "regret": 48, "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "regular_express": 82, "regularli": [33, 54], "reinstal": [24, 33, 90], "reject": [23, 37, 57, 82], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "rel_path": 83, "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 42, 45, 48, 56, 66, 93, 96], "release_compar": 33, "releasesd": [62, 66], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "reli": [4, 37, 57, 82, 95, 96], "reload": [80, 87, 90, 95, 97], "reload_plugin": [79, 80], "reload_slic": [79, 85], "reloadneedingplugin": [79, 80, 87, 93], "remain": 90, "rememb": [4, 37, 58, 82, 90, 95, 97], "rememberfilefold": [79, 82], "remind": 55, "remot": [17, 33, 37, 47, 82, 83, 90, 92], "remote_filenam": 92, "remote_group": 82, "remote_ip": 83, "remote_nam": 92, "remote_us": [37, 82], "remote_vers": 33, "remoteaddress": 47, "remotegroupshead": [79, 82], "remotegroupsmap": [79, 82], "remoteuserhead": [37, 79, 82], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "remove_handl": [79, 83], "remove_link": [78, 79], "remove_overlai": [79, 80, 84], "remove_path_update_callback": [79, 84], "remove_valu": 36, "removed_head": 83, "removemessag": [62, 70], "renam": [86, 90], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "render_kwarg": 95, "render_templ": 95, "renderafterprint": [16, 37, 79, 82], "renderafterprintenum": [79, 82], "renderunrend": [62, 72], "rendit": [51, 82, 95], "reorder": 37, "repeat": [42, 61], "repeatedli": 86, "repeatedtim": [79, 86], "repeti": [37, 46, 82], "repetierstyleresend": 46, "repetierstyletargettemperatur": 46, "repetiertargettemp": [37, 79, 82], "repetit": 51, "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 83, 84, 86, 90, 92, 95], "repli": [9, 17, 46], "replic": [57, 92], "repo": 33, "repo_nam": 90, "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "repository_ttl": 32, "reprap": [10, 49], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 84, 86, 92, 95], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "reproduc": [46, 55], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "requestforus": 23, "requesthandl": [83, 92], "requestlessexceptionloggingmixin": [79, 83], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "require_configur": 85, "require_credentials_checked_rec": [79, 83], "require_en": 80, "require_exist": 85, "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "required_en": 80, "rerend": [37, 82], "resembl": 90, "resend": [11, 37, 46, 47, 82, 92], "resend_loop": 47, "resend_ratio": 46, "resend_with_timeout": 46, "resendok": [79, 82], "resendratiostart": [79, 82], "resendratiothreshold": [37, 79, 82], "reserv": [33, 41], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "resetapikei": [62, 73], "resetlin": 46, "resettabletim": [79, 86], "reshow": 95, "resid": [37, 80, 87, 92], "resolut": 82, "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "resolve_output_to_path": [79, 83], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "resp": 83, "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "respond": [9, 15, 17, 46, 81, 83], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 81, 82, 83, 85, 92, 95, 96, 97], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "restartneedingplugin": [79, 80, 87, 93], "restor": [24, 48], "restore_unsupport": 24, "restrict": [3, 15, 23, 92, 95], "restricted_access": [79, 83], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "result1": 96, "result2": 96, "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "resume_print": [79, 81], "retract": [9, 16, 37, 52, 66, 81, 82], "retractionzhop": [16, 37, 79, 82], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "returncod": [47, 86], "retval": 92, "reus": [4, 33, 90], "reusabl": 52, "rev": 42, "revers": [9, 37, 77, 78, 82], "reverseproxi": [37, 79, 82], "reverseproxyconfig": [79, 82], "reverseproxyinfo": [79, 83], "revert": [37, 47, 82], "revis": 42, "revisit": 96, "revoc": 23, "revok": [4, 23], "revokekei": 23, "revokekeyforapp": 23, "rewrit": [37, 82, 83, 92], "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "rewritten": [83, 92], "rfc": [3, 4], "rfc6454": 83, "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "risk": [48, 49, 95], "roadmap": 96, "rock": 41, "role": [2, 48, 76, 84, 92, 95, 97], "roll": [16, 37, 82], "rollov": 39, "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "rotat": [37, 82], "rotate90": [37, 79, 82], "rotatingfilehandl": 39, "roughli": [48, 92, 96], "round": [57, 70, 86, 92, 96], "roundtrip": 11, "rout": [48, 93, 95], "route_hook": 92, "router": 92, "rpi1": 37, "rsa": 37, "rss": 22, "rubi": 42, "ruff": 42, "rule": [38, 42, 92, 95, 96], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "run_first": 86, "run_serv": [77, 79], "runat": [79, 82], "runatenum": [79, 82], "runawai": 47, "runout": 21, "runtim": [46, 87, 95, 96], "runtimeexcept": 81, "rx": 46, "rxbuffer": 46, "s0": [9, 21, 37, 52, 82, 92], "s220": [3, 46], "s3g": 92, "s_or_u": 86, "sadli": [42, 53, 90, 95, 96, 97], "safari": 25, "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86, 95], "safe_mod": 77, "safemod": [12, 55], "safeti": [13, 28, 34], "sai": [48, 55, 88, 93], "said": [37, 47, 48, 82], "sake": 92, "salt": [48, 79, 82], "salv": 92, "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "same_devic": 95, "samedevic": 14, "samesit": [37, 79, 82, 83], "samesiteenum": [79, 82], "sampl": 62, "sane": [92, 95], "sanit": [78, 79, 86, 92], "saniti": [37, 82, 92], "sanitize_filenam": 78, "sanitize_nam": [78, 79], "sanitize_path": [78, 79], "sanitize_temperatur": 92, "sanity_check_fold": [79, 84], "sanitychecktool": [79, 82], "sarg": 86, "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "save_profil": [79, 85], "save_sess": [79, 83], "save_slicer_profil": [85, 95], "saveconfig": [62, 72], "saveerror": [79, 81], "savepluginset": [62, 68], "savescript": [79, 84], "saveset": [62, 73], "saw": 40, "scalabl": 95, "scale": 95, "scan": 25, "scan_dep": 42, "scari": [37, 48], "scenario": 96, "schema": [56, 79], "scheme": [25, 37, 41, 82, 83], "schemefallback": [37, 79, 82], "schemehead": [37, 79, 82], "scope": [42, 83], "screen": [48, 90, 95], "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "script_nam": 92, "script_typ": [84, 92], "scriptlin": 92, "scriptnam": [47, 92], "scriptsconfig": [79, 82], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "sd_card_upload_hook": 92, "sd_eject": 49, "sd_insert": 49, "sd_status_pol": 92, "sd_updat": 49, "sd_upload_fail": 92, "sd_upload_failur": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_success": 92, "sdalwaysavail": [37, 79, 82], "sdcancelcommand": [79, 82], "sdcard": [2, 3, 11, 47, 61, 81, 92], "sdcardupload": 93, "sdfile": 46, "sdist": 90, "sdk": 42, "sdlowercas": [79, 82], "sdreadi": [2, 9, 81], "sdrelativepath": [37, 79, 82], "sdstatu": [13, 37, 79, 82, 84], "sdstatusautoreport": [79, 82], "sdsupport": [37, 79, 82], "search": 29, "sec": 37, "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "secret": [37, 82], "secretkei": [37, 79, 82], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "section_featur": [13, 37, 82], "section_octoprint": [13, 37, 82], "section_plugin": [13, 37], "section_print": [13, 37, 82], "secur": [4, 26, 37, 48, 79, 82, 83, 95], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "seek": 78, "seekabl": [78, 79], "seem": [6, 37, 42, 82, 90, 96], "seen": [19, 90, 95], "seen_wizard": 95, "seenwizard": [79, 82], "segment": [45, 46], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "select_fil": [79, 81], "select_sd": 46, "selector": [57, 90], "selecttool": [62, 66], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "semant": [33, 45, 52, 90], "semantic_vers": 33, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 92, 95, 97], "send_initial_callback": [79, 81], "send_plugin_messag": [79, 80], "send_printhead_back": 81, "sendauth": [62, 70], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "sendbusi": 46, "sendchecksumwithunknowncommand": [37, 79, 82], "sendgcod": [60, 62], "sendgcodescript": [60, 62], "sendgcodescriptwithparamet": [60, 62], "sendgcodewithparamet": [60, 62], "sendm112onerror": [79, 82], "sendmessag": [62, 70], "sendwait": 46, "sens": [4, 40, 47, 48, 86, 90, 92, 95], "sensit": [40, 51, 82, 95], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "sent_m106": 92, "sentri": 26, "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "sequenc": [77, 92], "sequenti": 86, "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "serial_factory_hook": 92, "serial_obj": 92, "serialcap": [79, 82], "serialconfig": [79, 82], "serialfil": 39, "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "server_bodysize_hook": 92, "server_error": 17, "server_nam": [79, 83], "server_opt": [77, 79], "server_path": 83, "server_port": [79, 83], "server_protocol": 83, "server_rout": 92, "server_route_hook": 92, "serverconfig": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "serverrestartcommand": [37, 79, 82], "servic": [26, 30, 37, 48, 95, 96], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "session_id": 83, "session_refresh_each_request": 83, "sessionmanag": 80, "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 34, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "set_additional_metadata": [78, 79], "set_boolean": [79, 80], "set_close_exec": [79, 86], "set_cooki": [79, 83], "set_ctx_obj_opt": [77, 79], "set_default_head": [79, 83], "set_default_profil": [79, 85], "set_extra_head": [79, 83], "set_float": [79, 80], "set_handl": [79, 83], "set_int": [79, 80], "set_job_on_hold": [79, 81], "set_preprocessor": 80, "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "setbasefold": [79, 84], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "setboolean": [79, 80, 84], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "setfloat": [79, 80, 84], "setflowr": [62, 66], "setint": [79, 80, 84], "setpaus": 92, "setter": [80, 81, 84, 95], "setting1": 40, "setting2": 40, "settings_read": 13, "settingscheckupdat": [79, 83], "settingsmanag": 92, "settingsplugin": [13, 90, 92, 93, 94], "settingsupd": [47, 80], "settingsviewmodel": [90, 97], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 95, 96], "setuptool": [42, 89, 90], "sever": [4, 47, 95, 96, 97], "sha": 83, "sha1": 78, "shadow": 86, "shall": 83, "shallow": 86, "share": [4, 10, 46, 77, 81, 86, 94, 95], "sharednozzl": [10, 46, 52, 81, 82], "shed": 40, "sheet": 96, "shell": [37, 42], "shift": [42, 90], "shini": 90, "ship": [37, 54, 55, 82], "short": [47, 83, 95], "shortcut": [57, 74, 83, 90], "shorten": [37, 82], "shorthand": 63, "shot": 16, "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "should_set_cooki": [79, 83], "shouldn": [32, 33, 48, 90], "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "show_bundl": 80, "show_choic": 77, "show_default": 77, "show_en": 80, "show_envvar": 77, "show_loc": 80, "showfahrenheitalso": [79, 82], "showinternalfilenam": [37, 79, 82], "showloadinganim": [37, 79, 82], "shown": [20, 37, 82, 95, 97], "shut": [37, 47, 82, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "shutdownplugin": 93, "sibl": 92, "side": [4, 37, 46, 83, 95], "sidebar": [13, 20, 37, 79, 82, 95, 97], "signal": [11, 21, 23, 49, 92, 95], "signatur": [33, 57, 85, 86, 92], "signifi": [9, 15, 80, 92, 95], "silent": [24, 37, 78, 82, 83, 84], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "similarli": 83, "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "simpleapicommand": [57, 62], "simpleapiget": [57, 62], "simpleapiplugin": [57, 93], "simplecach": 83, "simpli": [37, 42, 48, 52, 95, 96], "simul": [35, 37, 46], "simulated_error": 46, "simulatereset": 46, "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "single_file_plugin": 33, "singleton": [80, 84], "singular": 62, "site": [83, 90], "situat": [9, 81, 92, 96], "six": 96, "sixteen_nin": [79, 82], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "sizethreshold": [13, 29, 37], "skeleton": 90, "skip": [19, 29, 37, 82, 83, 95], "skipuntilthi": 29, "skirt": 14, "skirt_line_count": 14, "slash": 78, "sleep": [9, 46, 86, 92], "sleep_a_bit": 33, "sleep_aft": 46, "sleep_after_next": 46, "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "slicer_nam": 85, "slicerexcept": [79, 85], "slicernotconfigur": [79, 85], "slicerplugin": [85, 93], "slicing_en": [79, 85], "slicing_manag": 92, "slicingcancel": [47, 79, 85, 95], "slicingconfig": [79, 82], "slicingdon": 47, "slicingexcept": [79, 85], "slicingfail": 47, "slicingmanag": [79, 80, 85, 92, 94], "slicingplugin": [80, 95], "slicingprofil": [37, 79, 82, 85, 95], "slicingprofilead": 47, "slicingprofiledelet": 47, "slicingprofilemodifi": 47, "slicingprogress": 47, "slicingstart": 47, "slicingviewmodel": 97, "slide": 70, "slider": [51, 79, 82], "slightli": [52, 57, 83], "slot": [46, 86], "slower": 70, "slowli": [41, 70], "small": [17, 42, 52, 90, 92, 95, 96], "smaller": [10, 92], "smoothietemperaturereport": 46, "snappi": 56, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "snapshotdisplai": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "snapshoturl": 13, "snapshotwebcam": [79, 82], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "socket_authed_hook": 92, "socket_emit_hook": 92, "socket_registration_hook": 92, "sockj": [11, 56, 62, 70, 79, 93], "sockjsconnecttimeout": [79, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "solid": [41, 90], "solv": [37, 81, 96], "solver": 1, "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "some_command": 92, "some_custom_hook": 32, "some_depend": 88, "some_div": 97, "some_fil": [78, 95], "some_file_strip": 92, "some_flag": [40, 95], "some_fold": [3, 78], "some_hook": 37, "some_kei": 95, "some_key_unset": 95, "some_method": 95, "some_model": 3, "some_optional_paramet": 95, "some_other_bar": 86, "some_other_custom_hook": 32, "some_other_div": 97, "some_other_fold": 3, "some_other_hook": 37, "some_other_kei": 95, "some_other_key_unset": 95, "some_other_profil": 10, "some_other_set": 37, "some_other_valu": 95, "some_paramet": 95, "some_plugin": [7, 33, 37], "some_profil": 10, "some_set": [37, 40, 95], "some_sub_fold": 78, "some_us": 23, "some_valu": [40, 95], "some_vers": 37, "somedepend": 90, "somefil": 61, "somefunct": 57, "somegist": 33, "someimag": 74, "somekei": 57, "someon": [48, 92], "someotherparamet": 57, "someothervalu": 57, "someotherviewmodel": 97, "someparamet": 57, "somepathstofind": 61, "someplugin": 33, "somerepo": 90, "somesecretkei": 37, "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "sometim": [41, 42, 96], "someus": [11, 33, 37, 90], "somevalu": 57, "somewher": [81, 90], "soon": [8, 65, 90], "sooner": 97, "sophist": [51, 52, 82, 95], "sort": [13, 37, 42, 80, 82, 92, 95], "sort_kei": 83, "sortabl": 80, "sortableplugin": [79, 80, 95], "sorting_context": [80, 92], "sorting_ord": [79, 82], "sound": 48, "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "source_file_typ": 95, "source_loc": [11, 95], "source_nam": 47, "source_path": [11, 47, 85, 95], "source_typ": [32, 47], "space": [3, 31, 33, 37, 40, 82], "span": [40, 83], "sparingli": [22, 81, 88], "spars": [37, 82], "spec": 92, "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "spectrum": 52, "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "speed_i": 51, "speed_x": 51, "speed_z": 51, "spent": 2, "sphinx": 42, "split": [74, 78, 92], "split_path": [78, 79], "split_prefix": [79, 83], "splitext": 92, "spot": 41, "spread": 40, "squash": 90, "squish": 90, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "ss": 86, "ssdp": [25, 91], "ssdp_brows": 91, "sseof": 82, "ssh": [33, 48], "ssl": [17, 37, 82, 83], "ssliostream": 83, "stabil": 2, "stabl": [26, 29, 33, 37, 41, 42, 82], "stable_branch": [33, 89], "stable_channel": 33, "stablethreshold": [37, 79, 82], "stack": [57, 83, 86], "stacklevel": 86, "stackoverflow": [86, 90], "stage": [41, 42], "stai": [6, 40, 51, 92, 96], "stale": [11, 23], "stall": [1, 92], "stamp": 85, "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "standard_opt": [77, 79], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "start_callback": 92, "start_heartbeat": 83, "start_print": [47, 79, 81], "start_sd": 46, "startingdirectori": 42, "startonceinsafemod": [37, 55, 79, 82], "startswith": [80, 86, 92, 95], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "startupplugin": [80, 90, 92, 93], "stat": [9, 11, 48], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "state_detect_seri": 92, "state_error": 92, "state_id": 47, "state_str": 47, "statement": [39, 90, 92, 96], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "static_fold": 95, "staticdatahandl": [79, 83, 92], "staticfilehandl": [83, 92], "staticzipbundlehandl": [79, 83], "statist": [11, 37, 82], "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "statsweighinguntil": [37, 79, 82], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "status_cod": [83, 92], "stderr": 86, "stdout": [33, 39, 86], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "stepper": [48, 52], "stick": 96, "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "stl": [2, 3, 11, 47, 78, 95], "stl_locat": 47, "stock": [92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "storageinterfac": [78, 79], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "stranger": 92, "strategi": [4, 43, 56, 96], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "stream_bodi": 83, "streamed_get": [79, 83], "streamer": [37, 82], "streamhandl": 39, "streamlin": [11, 14], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamurl": 13, "streamwebrtciceserv": [79, 82], "streamwrapp": [78, 79, 92], "strict": [37, 40, 79, 82, 86], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "strip": [3, 78, 86, 92], "strip_all_com": 92, "strip_com": 92, "strong": 15, "strongli": [95, 96], "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stuck": 81, "studio": 43, "stuff": [41, 51, 90], "stun": 82, "style": [37, 42, 46, 48, 51, 82, 93, 95], "styles_cont": 95, "styles_link": 95, "styles_wrapp": 95, "stylesheet": [37, 79, 82, 90, 95], "stylesheetenum": [79, 82], "styliz": 47, "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "subclass": [57, 78, 83, 86, 90, 92, 95], "subcod": 92, "subcommand": 77, "subdirectori": 83, "subfold": [2, 3, 61, 78, 90], "subgroup": [0, 2], "subject": 95, "submit": [4, 89], "subnet": [17, 37, 48, 82], "subscrib": [9, 11, 26, 82], "subscript": [11, 37, 47, 79, 82], "subscriptiontypeenum": [79, 82], "subset": 77, "subsetting21": 40, "subsetting22": 40, "substitut": 42, "substructur": 78, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "subsystem": [24, 80, 88, 89, 94, 95], "subtre": [13, 78, 95], "succe": [14, 70, 85], "succeed": 33, "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 79, 80, 82, 86, 92, 95], "success_callback": 92, "success_or_failure_callback": 92, "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "sudo": [37, 42, 48, 96], "suffic": [11, 52, 92], "suffix": [37, 57, 82, 83, 84, 92, 95], "suggest": 96, "suit": 42, "suitabl": 42, "sum": 96, "summari": [42, 96], "summary_limit": 22, "supersed": 47, "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 42, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "support_m503": 46, "support_x3g_machinecod": 92, "supported_stylesheet": 95, "supportedextens": 95, "supportf": 46, "supportfascommand": [37, 79, 82], "supportm112": 46, "supportresendswithoutok": [37, 79, 82], "supportwait": [79, 82], "suppos": [3, 15, 88, 92, 96], "suppress": [37, 47, 81, 82, 92, 95], "suppressapplicationtitl": 42, "suppressedcommand": 47, "suppresssecondhello": [79, 82], "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "swallowokafterresend": [37, 79, 82], "swap": 21, "switch": [33, 42, 51, 81, 90, 92, 96, 97], "sy": [39, 86, 96], "symptom": 1, "synchron": 9, "syntax": [40, 51, 52, 80, 82, 90], "system": [0, 2, 3, 5, 10, 11, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "systemconfig": [79, 82], "systeminfo": [82, 93], "systeminfobundlehandl": [79, 83], "systemmenu": [13, 37, 82], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "t": [0, 3, 4, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "t0": [3, 46, 52, 82, 92], "t1": [46, 92], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tab_plugin_helloworld": 90, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2": 95, "tab_plugin_myplugin_2nd": 95, "tabtitl": 42, "tag": [33, 45, 81, 90, 92], "tailor": 34, "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "take_snapshot": 81, "take_webcam_snapshot": 95, "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "talk": [37, 62, 82], "tar": [7, 32], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "target_commitish": 33, "target_vers": 33, "targetextr0": [37, 46, 82], "task": [42, 54, 57, 80, 95], "tb": 83, "tcp": 17, "tcpserver": 83, "te": 77, "team": [7, 33], "tell": [21, 42, 78, 88, 90, 92, 93], "temp": [11, 81], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "temperature_pol": 92, "temperatureautoreport": [79, 82], "temperatureconfig": [79, 82], "temperaturegraph": [37, 79, 82], "temperatureprofil": [79, 82], "temperaturetargetset": [13, 37, 79, 82], "temperatureviewmodel": 97, "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "template_fold": 95, "template_head": 95, "template_kei": 95, "template_rul": 92, "template_sort": 92, "template_typ": 95, "templateplugin": [90, 92, 93], "templatetyp": [93, 95], "templatetype_hook": 92, "temporari": [37, 82, 83, 85], "temporarili": [33, 95, 96], "temporaryprofil": [79, 85], "tempt": 95, "ten": 92, "term": 95, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "terminalfilt": [13, 37, 79, 82], "terminalfilterentri": [79, 82], "terminallogs": [79, 82], "terminalviewmodel": 97, "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "test2": 3, "testballoon": 17, "testexecut": [62, 74], "testpath": [62, 74], "testpictur": 95, "testresolut": [62, 74], "testserv": [62, 74], "testurl": [62, 74], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textstatu": 57, "textual": [2, 6], "tgz": [7, 32], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "thank": [9, 42, 43, 52], "the_end": 40, "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "theme": 93, "themselv": [33, 39, 88, 92, 95, 97], "therefor": [4, 90, 95, 97], "therein": [33, 42, 92, 96], "thereof": 92, "thermal": 47, "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "think": 48, "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "thirdparti": [13, 37, 82], "thoroughli": 96, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "thread": [9, 37, 81, 82, 86, 92], "threadsafesess": [79, 83], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "threshold": [37, 82, 83], "throttl": [11, 33, 34, 46, 62, 81], "throttle_highprio": [37, 79, 82], "throttle_lin": [79, 82], "throttle_normalprio": [37, 79, 82], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "throughout": [81, 90, 92], "throw": [46, 57], "thrown": [81, 84, 85], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "thumb": [40, 96], "thumbnail": 16, "tick": [51, 82], "ticket": 37, "tier": [37, 82], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "timedelta": 86, "timedrotatingfilehandl": 39, "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "timelapse_admin": 16, "timelapse_delet": 16, "timelapse_extension_hook": 92, "timelapse_list": 16, "timelapse_manage_unrend": 16, "timelapse_tmp": [13, 37, 79, 82], "timelapseconfig": [79, 82], "timelapseen": [79, 82], "timelapseopt": [79, 82], "timelapsetmp": 13, "timelapsetypeenum": [79, 82], "timelapseviewmodel": 97, "timelas": 82, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutcommun": 13, "timeoutconnect": 13, "timeoutdetect": 13, "timeoutsdstatu": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "timer": 86, "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "timezon": 83, "titl": [10, 22, 37, 82, 95], "tmp": [37, 82, 83], "tmpzupkro": 83, "tn": 52, "to_byt": [79, 86, 96], "to_entri": 92, "to_list": 92, "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "to_vers": 33, "todo": 90, "togeth": [17, 51, 78, 82, 90], "toggl": 6, "toggle_pause_print": [79, 81], "toggleabl": 2, "togglepaus": [62, 63], "token": [4, 17, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "took": [47, 90], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "tool0": [6, 9, 66, 78, 81], "tool1": [9, 66, 78, 81], "toolchang": 47, "toolx": 78, "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "topic": 96, "tornado": [56, 79, 92], "tornadorouteplugin": 92, "total": [2, 37, 57, 82, 90], "totp": 95, "touch": [24, 25, 32, 37, 48, 56, 82, 90], "toward": [4, 81, 96], "trace": [83, 90], "traceback": 86, "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "tracker": 55, "traffic": 92, "trail": [57, 78], "transfer": [47, 92], "transferdon": 47, "transfering_fil": 81, "transferstart": 47, "transform": [92, 95], "transifex": 7, "translat": [7, 55, 79, 82, 90, 95], "transmit": [2, 83, 97], "transpar": [37, 82, 97], "transport": [81, 93], "travel": [2, 9, 78], "travelarea": [2, 78], "traveldimens": [2, 78], "treat": 4, "tree": [2, 13, 42, 61, 92, 95], "tremend": [40, 41, 90], "tri": [57, 58, 70, 80, 83], "trick": [40, 92], "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "trigger_ev": [47, 80, 84], "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "trigger_resend_checksum": 46, "trigger_resend_lineno": 46, "triggerokform29": [37, 79, 82], "trip": 70, "trivial": 57, "troubl": 96, "troublesom": 96, "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "truncat": 78, "trust": [37, 48, 82, 83], "trustbasicauthent": [37, 79, 82, 83], "trusted_proxi": 83, "trustedproxi": [37, 79, 82], "trustedsubnet": [37, 79, 82], "trustlocalhostproxi": [37, 79, 82], "trustremotegroup": [79, 82], "trustremoteus": [37, 79, 82, 83], "truthi": 61, "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "ttl": [22, 33, 37, 79, 82], "ttyacm0": [1, 37, 84], "tune": 46, "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "turtl": 2, "tutori": [56, 89, 93, 95], "tweak": 37, "twice": [11, 90], "twitter": 37, "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "txt": [17, 24, 25, 90, 95], "txt_record": 25, "typ": 83, "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "typeof": 57, "typeok": 17, "typepath": [2, 3, 78], "typic": 95, "u": [23, 25, 90], "ubuntu": 42, "udp": [17, 74], "ugli": 90, "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "ui_theming_hook": 92, "uiapikei": 95, "uiplugin": 93, "ul": 95, "umlaut": 3, "un": 78, "unauthent": 4, "unauthor": [4, 95], "unavail": 24, "unbind": 90, "uncaught": 83, "unchang": [77, 83], "uncom": 52, "uncommit": 45, "uncompress": 83, "unconfigur": [81, 85], "undefin": [61, 97], "under": [4, 6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "underestim": 48, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "underneath": [86, 90], "understand": [48, 90], "unequ": 33, "unexpect": [52, 90], "unicod": [2, 37, 78, 82, 93], "unicode_liter": 96, "uninstal": [32, 34, 55, 80, 87], "union": [82, 83], "uniqu": [22, 26, 29, 34, 81, 90, 95], "unique_id": [26, 34], "unit": 86, "unittesten": 42, "univers": [37, 82], "unix": [2, 31, 83], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "unknowncommandsneedack": [37, 79, 82], "unknownprofil": [79, 85], "unknownrol": [76, 79], "unknownscriptexcept": 81, "unknownslic": [79, 85], "unknownus": [76, 79], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "unload": [21, 79, 80, 87, 88], "unlock": 34, "unpack": 54, "unquot": 40, "unrecover": [2, 47], "unregist": [80, 81], "unregister_callback": [79, 81], "unregister_finish_callback": 78, "unregister_message_receiv": [79, 80], "unrel": 95, "unreleas": [26, 29], "unrend": [5, 37, 57, 72, 82], "unresolv": 83, "unsecur": 48, "unselect": [3, 81], "unselect_fil": [79, 81], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "unsolv": 57, "unstructur": 82, "unsupport": [3, 17], "unsupportedoper": 78, "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "unto": [73, 97], "untouch": 92, "unus": [22, 23, 37, 82, 95], "up": [4, 11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "upcom": 96, "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "update_check_overlai": 33, "update_config_hook": 33, "update_fold": 33, "update_script": 33, "updatedfil": 47, "updateplugindemo": 33, "updateprofileforslic": [62, 69], "upgrad": 42, "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "uploadoverwriteconfirm": [79, 82], "uploadsconfig": [79, 82], "uploadstoragefallbackhandl": [79, 83], "upnp": 25, "upnpuuid": 25, "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "upper": [32, 33, 70, 92, 95], "uppercas": [37, 82, 92], "upward": 52, "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "url_for": [62, 92, 95], "urlforwardhandl": 92, "urlproxyhandl": [79, 83, 92], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "usabl": [57, 78, 80], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "use_enum_valu": 82, "usefrozendictforprinterst": [79, 82], "useparityworkaround": [79, 82], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 78, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "user_ag": 95, "user_group": 92, "user_id": [23, 83], "user_manag": 92, "user_manager_factory_hook": 92, "user_onli": 95, "user_token": 23, "userag": 95, "useralreadyexist": [76, 79], "userdata": [3, 47, 61], "userfil": [37, 79, 82], "userid": [70, 92], "userloggedin": 47, "userloggedout": 47, "usermanag": [37, 79, 80, 82, 83, 92, 94], "usernam": [0, 4, 17, 23, 25, 33, 47, 58, 70, 76], "userset": [13, 37, 79, 82, 95], "usersettings_mfa": 95, "usersettingsviewmodel": 97, "usersviewmodel": 97, "usessl": 25, "usr": 96, "ustyantsev": 29, "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "utc": 83, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "uuid": 25, "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "v1": [82, 83], "v3": 56, "v6": 82, "v6_onli": 77, "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "valid_ax": [79, 81], "valid_boolean_tru": [79, 84], "valid_file_typ": [92, 95], "valid_heater_regex": [79, 81], "valid_heater_regex_no_curr": [79, 81], "valid_tool_regex": [79, 81], "validate_default": 82, "validate_local_redirect": [79, 83], "validityrang": [37, 79, 82], "validssl": 17, "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "valuabl": [26, 34], "value1": [25, 40, 86], "value11": 40, "value2": [25, 86], "valueerror": [78, 80, 83, 84, 85, 86], "vanish": 81, "var": [57, 58, 61, 62, 70, 74, 90, 97], "variabl": [9, 24, 34, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "variant": [4, 33, 40, 62, 89, 92], "variou": [5, 25, 33, 34, 35, 37, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "vase": 16, "vcodec": 82, "ve": [90, 96], "vendor": [25, 32], "vendorurl": 25, "venv": [42, 90, 96], "venv2": 96, "venv3": 96, "venv37": 96, "verbos": 77, "veri": [40, 41, 48, 54, 62, 70, 81, 90, 95, 97], "verif": 95, "verifi": [24, 83, 89, 95], "versa": 84, "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "versionad": 33, "vertic": [37, 51, 79, 82], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "vice": 84, "video": [16, 17, 37, 82, 95], "videocodec": [37, 82], "view": [51, 83, 84, 86, 90, 92, 95, 97], "viewer": [13, 30, 38, 48, 56, 97], "viewmodel": [56, 93], "viewport": 95, "violet": [37, 79, 82], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "virtual_print": [35, 46, 92], "virtualenv": [42, 90, 96], "virtualsd": [37, 79, 82], "visibl": [40, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "visualstudio": 42, "void": 90, "volum": [2, 3, 6, 10, 51, 52, 78, 81], "vscode": 43, "w": [17, 24, 46, 95], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "wait_for_handshak": 83, "waitforstartonconnect": [37, 79, 82], "waitinterv": 46, "waittoloadsdfilelist": [37, 79, 82], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "warn_about_risky_set": [79, 84], "wasn": 9, "watch": [37, 42, 79, 82, 95], "watcher": 42, "watermark": [37, 79, 82], "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "webasset": [37, 62, 79, 82, 90], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "webcamcompat": [79, 82], "webcamconfig": [79, 82], "webcamen": [79, 82], "webcamnam": 95, "webcamproviderplugin": 93, "webcamsnapshothandl": [79, 83], "webinterfac": [4, 23], "webkitformboundarydec2e3iwbtv1pwmc": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "webkitformboundarypyisux63abamht5c": 83, "webpag": 88, "webrtc": 82, "webserv": [9, 92], "websit": [4, 22, 56, 78, 80, 90], "websocket": 83, "websockethandl": 83, "weight": [23, 37, 82], "weird": 96, "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "welt": 90, "went": [48, 57], "were": [19, 47, 55, 78, 90, 92, 95, 96], "werkzeug": 95, "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "whatev": [88, 92, 95], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "whenev": [33, 48, 55, 95], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "wherev": 55, "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "whichev": 96, "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "whistle_": 3, "whistle_v2": [3, 6], "whistle_v2_copi": 3, "white": 40, "whitelist": [17, 86], "whitespac": 40, "whl": 32, "who": [2, 23, 47, 48, 78, 83, 95], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "whose": [86, 88, 92, 95], "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "wide": [5, 42, 68], "width": [2, 10, 51, 78, 81, 90, 95], "wiki": [37, 49, 54, 90], "wikipedia": 90, "will_handle_ui": 95, "win32": 86, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "winless": 90, "wish": [11, 37, 82, 87, 90, 92], "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 81, 82, 83, 86, 90, 92, 95, 96], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "wizardplugin": [19, 93, 97], "wizardviewmodel": 97, "wlan0": 48, "won": [9, 32, 48, 87, 91, 95], "wonder": 9, "word": [47, 84], "work": [4, 6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "workflow": [4, 30, 62, 95], "workspacefold": 42, "world": [20, 37, 86, 90, 92, 95], "wors": 9, "worst": 92, "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "wouldn": 56, "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "wrapper": [78, 83, 85, 95], "wrench": [32, 33], "writabl": [17, 78, 79], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "writetimeout": 92, "writeup": 89, "written": [37, 80, 82, 83, 96], "wrong": [4, 23, 48, 52, 57, 92, 95], "wrongmfacredenti": 95, "wrote": 96, "wsgi": [9, 83], "wsgi_app": 83, "wsgi_appl": 83, "wsgicontain": 83, "wsgiinputcontain": [79, 83], "www": [37, 82, 83, 86], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "x0": [51, 52], "x10": [51, 92], "x145": 9, "x147": 9, "x148": 9, "x149": 9, "x2": 51, "x3g": 92, "x64": 42, "x86": 42, "x_max": 81, "x_min": 81, "xcode": 42, "xcodebuild": 42, "xmlhttprequest": [4, 57], "xormedia": 86, "xss": 95, "xxlarg": 90, "xyz": 52, "xyze": 52, "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "y0": [51, 52], "y107": 9, "y108": 9, "y112": 9, "y2": 51, "y_max": 81, "y_min": 81, "yai": 40, "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "yamlpatch": 55, "ye": [9, 40, 96], "year": 96, "yellow": [10, 22, 37, 79, 82], "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "yetanotherhook": 92, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "yield": [51, 78, 86, 90], "yml": [4, 90], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "your_plugins_slicing_progress": 95, "youraddressrang": 48, "yourcustomviewmodel": 97, "yourgithubnam": 90, "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "yourusernam": 48, "yte": 86, "yyyi": [82, 86], "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "z0": 92, "z1": 51, "z10": 51, "z_max": 81, "z_min": 81, "zchang": [16, 37, 47, 79, 82], "zero": [15, 86], "zeroconf": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "zip": [7, 24, 32, 33, 54, 90, 93], "zlib": 86}, "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "titleterms": {"": [0, 3, 41, 45, 56, 90], "3": 96, "A": 40, "If": 48, "The": 48, "_http": 25, "_octoprint": 25, "_tcp": 25, "about": [6, 9, 19], "abridg": 2, "absolut": [48, 96], "access": [0, 2, 37, 48, 76, 92], "access_valid": 92, "accesscontrol": 92, "action": [20, 21, 49, 92], "actual": 90, "ad": 90, "add": [0, 10, 14, 90], "addit": 19, "additional_bundle_fil": 92, "additional_command": 92, "additional_exclud": [24, 92], "additional_port_nam": 92, "additional_state_data": 92, "address": 17, "adjust": 90, "after": 89, "after_backup": [24, 92], "after_request": 92, "after_restor": [24, 92], "all": [0, 3, 10, 14, 15], "an": [9, 10, 16, 23, 70], "analysi": [2, 37, 78, 92], "announc": [22, 25], "anonym": 34, "api": [0, 5, 13, 23, 31, 37, 92], "appear": 37, "applic": 23, "ar": 48, "arbitrari": 9, "assetplugin": 95, "atcommand": 92, "auth": [23, 70, 92], "author": [4, 23], "autologin": 48, "autologinconfig": 48, "avail": [31, 47, 48, 92, 95], "backup": [24, 92], "basic": 40, "bed": 9, "before_backup": [24, 92], "before_request": 92, "before_restor": [24, 92], "blueprintplugin": 95, "bodys": 92, "boolean": 40, "branch": 41, "browser": 58, "build": 42, "bundl": [30, 52], "byte": 96, "callback": 97, "capability_report": 92, "capabl": 92, "captur": 92, "chamber": 9, "chang": [0, 16, 39], "check": [27, 28, 33], "check_config": [33, 92], "checklist": 96, "cli": [36, 77, 92], "client": [15, 23, 31, 62], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "comm": 92, "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "commandlin": 86, "common": [2, 33, 96], "commun": [20, 21, 47, 70], "compon": [7, 90], "concept": [87, 92, 95], "config": [16, 37, 48, 82], "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "connect": [1, 11, 59], "contain": 51, "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "context": 52, "control": [0, 2, 9, 37, 48, 51, 60, 88], "core": 80, "creat": 3, "create_backup": 24, "credenti": 33, "cross": 4, "csrf": 4, "css": 90, "current": [4, 6, 9, 11, 13, 16], "custom": [9, 51, 90, 97], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "debug": 46, "decid": 23, "decis": 23, "definit": 15, "delet": [0, 3, 7, 14, 16, 31], "delete_backup": 24, "depend": 97, "destin": 78, "dev": 77, "develop": [37, 42, 43, 54, 93], "diagram": 97, "dialog": [23, 92], "dictionari": 40, "differ": 55, "disabl": 48, "discoveri": 25, "distribut": [89, 90], "divis": 96, "do": 90, "document": 56, "dure": 96, "easi": 48, "edit": 48, "emit": 92, "enabl": 46, "encod": 4, "entri": [19, 23], "environ": [42, 96], "error": [9, 26, 44, 92], "estim": [37, 92], "event": [11, 24, 32, 33, 37, 47, 52, 92], "eventhandlerplugin": 95, "exampl": [20, 21, 25, 40, 47, 51, 52], "except": [33, 85], "execut": [15, 92, 95], "exist": [10, 23], "extens": [48, 92], "extension_tre": 92, "factori": 92, "featur": [37, 53], "fetch": [13, 23], "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "filemanag": [78, 92], "filter": [37, 96], "find": 54, "finish": 19, "firmwar": [20, 21, 28, 92], "first": 33, "flask": 83, "float": 40, "folder": [2, 3, 37], "formatt": 39, "from": [3, 90, 96], "frontend": 90, "full": 9, "fun": 90, "function": 90, "further": [25, 96], "galor": 90, "gather": 48, "gcode": [2, 29, 37, 47, 51, 52, 92], "gener": [4, 87, 92, 95], "get": [0, 1, 96], "global": 33, "go": 90, "group": [0, 2], "grow": 90, "handl": [1, 47], "handle_connect": 92, "handler": 39, "hard": 48, "head": 9, "hello": 90, "helper": [24, 33, 91], "here": 90, "histor": 2, "histori": [2, 11], "hook": [24, 32, 33, 48, 92], "how": [55, 90, 96], "http": 92, "i": 96, "id": 42, "import": 96, "info": 92, "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "inject": [90, 94, 95], "instal": [7, 54, 89], "instead": 96, "int": 40, "integ": 96, "interest": 40, "interfac": [90, 97], "intern": [48, 79], "issu": [1, 3, 6, 9, 16, 23], "iter": 96, "j": 31, "javascript": [23, 62, 90], "job": [2, 6, 63], "kei": [0, 13, 23], "keyvalid": 92, "languag": [7, 64], "last": 9, "level": 39, "librari": [23, 31, 62], "lifecycl": [87, 97], "line": [24, 33], "linux": 42, "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "locat": 3, "log": [8, 31, 39, 46, 65], "logfil": 31, "login": [4, 48], "logout": 4, "mac": 42, "make": 90, "manag": [8, 32, 89], "manual": [48, 54, 89], "map": 96, "matter": 90, "metadata": 7, "method": 33, "mfaplugin": 95, "migrat": 96, "mixin": 95, "mode": 55, "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "modul": 79, "more": [52, 90], "need": 2, "new": [0, 10], "nifti": 52, "normal": 55, "notif": 20, "o": 42, "obtain": 42, "octopi": 48, "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "offici": 89, "offset": 2, "oper": [3, 6, 9, 10, 55], "option": [42, 46], "order": [92, 95], "origin": 4, "pack": 7, "packag": 89, "page": 90, "parameter": 51, "part": 90, "password": 0, "path": 17, "pattern": 33, "paus": 52, "payload": 11, "pend": 23, "permiss": [0, 2, 48, 92], "phase": 92, "pip": 89, "pitfal": 96, "placehold": 47, "platform": 86, "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "pluginmanag": [32, 92], "point": 2, "poll": 23, "post": 92, "pre": 92, "predefin": 52, "prepar": 48, "preprocessor": 92, "primer": 40, "print": [2, 9, 47], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "printerprofil": 67, "probe": 23, "process": [23, 47], "profil": [10, 14, 37, 44, 47, 81], "progress": 2, "progressplugin": 95, "prompt": 21, "proper": 89, "properti": [88, 94, 95], "protect": 4, "protocol": 92, "push": 11, "pycharm": 42, "python": 96, "read": 96, "readi": 96, "receiv": 92, "recommend": 42, "reconnect": 97, "reconnect_hook": [32, 92], "record": 2, "redirect": 23, "refer": [2, 31], "regener": [0, 13], "regist": [15, 19, 89, 92, 97], "register_custom_ev": 92, "registr": 0, "relat": 2, "releas": 89, "reloadneedingplugin": 95, "remov": 10, "render": 16, "repositori": 89, "request": [0, 4, 9, 10, 14, 23, 44], "requir": 48, "resend": 2, "resolut": 17, "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "rest": 5, "restartneedingplugin": 95, "result": 17, "resum": 52, "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "rout": 92, "rule": 40, "run": 42, "safe": 55, "sai": 90, "sampl": 70, "save": 13, "scalar": 40, "schema": 82, "script": [37, 51, 52, 92], "sd": 9, "sdcardupload": 92, "send": 9, "serial": [37, 92], "server": [12, 17, 37, 47, 77, 83, 92], "servic": 25, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "settingsplugin": 95, "setup": [42, 48, 70], "shutdownplugin": 95, "simpleapiplugin": 95, "singl": 10, "slice": [14, 37, 47, 69, 85], "slicer": 14, "slicerplugin": 95, "slicingprogress": 11, "snippet": 52, "socket": 70, "sockj": [83, 92], "softwar": 33, "softwareupd": [33, 92], "someth": 90, "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "specif": [3, 14, 31, 48, 96], "start": [23, 55], "startup": 97, "startupplugin": 95, "stat": 2, "state": [2, 9], "statist": 2, "step": [33, 48], "storag": 78, "strategi": 45, "string": 40, "studio": 42, "style": 90, "support": [20, 21, 23], "system": [13, 15, 37, 71, 92], "systeminfo": 92, "tell": 96, "temperatur": [2, 9, 37, 92], "templat": 13, "templateplugin": 95, "templatetyp": 92, "termin": 37, "test": 17, "theme": [48, 92], "throttl": 70, "time": 16, "timelaps": [16, 47, 72, 92], "todo": 42, "tool": [9, 42], "tornado": 83, "track": [26, 34], "transport": 92, "trigger": 16, "tutori": 90, "type": [4, 40, 51, 80], "ui": 92, "uiplugin": 95, "unicod": 96, "unrend": 16, "up": [42, 46, 90], "updat": [0, 10, 11, 14, 33], "upload": [3, 7], "url": 17, "us": 48, "usag": [24, 33, 34], "user": [0, 2, 4, 73, 76, 90, 92], "util": [17, 33, 74, 78, 83, 86], "v": [55, 96], "variou": 17, "version": [18, 33, 45, 89, 96], "version_check": 33, "via": 89, "viewer": [29, 37], "viewmodel": 97, "virtual": [35, 46, 96], "visual": 42, "vpn": 48, "vscode": 42, "wai": 48, "we": 90, "web": [90, 92, 97], "webcam": [37, 82], "webcamproviderplugin": 95, "welcom": 56, "where": 90, "wide": 13, "window": 42, "wizard": [19, 75], "wizardplugin": 95, "workflow": 23, "x": 42, "yaml": [37, 39, 40, 48], "you": 48, "your": [48, 89, 90, 96], "z": 16, "zeroconf": 25, "zip": 96}}) \ No newline at end of file diff --git a/master/_static/_sphinx_javascript_frameworks_compat.js b/master/_static/_sphinx_javascript_frameworks_compat.js index 8549469dc..81415803e 100644 --- a/master/_static/_sphinx_javascript_frameworks_compat.js +++ b/master/_static/_sphinx_javascript_frameworks_compat.js @@ -1,20 +1,9 @@ -/* - * _sphinx_javascript_frameworks_compat.js - * ~~~~~~~~~~ - * - * Compatability shim for jQuery and underscores.js. - * - * WILL BE REMOVED IN Sphinx 6.0 - * xref RemovedInSphinx60Warning +/* Compatability shim for jQuery and underscores.js. * + * Copyright Sphinx contributors + * Released under the two clause BSD licence */ -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - - /** * small helper function to urldecode strings * diff --git a/master/_static/basic.css b/master/_static/basic.css index eeb0519a6..f316efcb4 100644 --- a/master/_static/basic.css +++ b/master/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -236,17 +236,11 @@ div.body p, div.body dd, div.body li, div.body blockquote { a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} -a.brackets:after, -span.brackets > a:after { - content: "]"; +a:visited { + color: #551A8B; } - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -334,11 +328,17 @@ aside.sidebar { p.sidebar-title { font-weight: bold; } + +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; padding: 7px; @@ -377,6 +377,8 @@ div.body p.centered { div.sidebar > :last-child, aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; @@ -384,6 +386,8 @@ div.admonition > :last-child { div.sidebar::after, aside.sidebar::after, +nav.contents::after, +aside.topic::after, div.topic::after, div.admonition::after, blockquote::after { @@ -608,19 +612,27 @@ ol.simple p, ul.simple p { margin-bottom: 0; } -dl.footnote > dt, -dl.citation > dt { + +aside.footnote > span, +div.citation > span { float: left; - margin-right: 0.5em; } - -dl.footnote > dd, -dl.citation > dd { +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { margin-bottom: 0em; } - -dl.footnote > dd:after, -dl.citation > dd:after { +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { content: ""; clear: both; } @@ -636,10 +648,6 @@ dl.field-list > dt { padding-left: 0.5em; padding-right: 5px; } -dl.field-list > dt:after { - content: ":"; -} - dl.field-list > dd { padding-left: 0.5em; @@ -666,6 +674,16 @@ dd { margin-left: 30px; } +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + dl > dd:last-child, dl > dd:last-child > :last-child { margin-bottom: 0; @@ -734,6 +752,14 @@ abbr, acronym { cursor: help; } +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + /* -- code displays --------------------------------------------------------- */ pre { diff --git a/master/_static/doctools.js b/master/_static/doctools.js index 527b876ca..4d67807d1 100644 --- a/master/_static/doctools.js +++ b/master/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/master/_static/documentation_options.js b/master/_static/documentation_options.js index ac1f83182..7ac10cbb2 100644 --- a/master/_static/documentation_options.js +++ b/master/_static/documentation_options.js @@ -1,5 +1,4 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), +const DOCUMENTATION_OPTIONS = { VERSION: 'master', LANGUAGE: 'en', COLLAPSE_INDEX: false, diff --git a/master/_static/jquery-3.6.0.js b/master/_static/jquery-3.6.0.js deleted file mode 100644 index fc6c299b7..000000000 --- a/master/_static/jquery-3.6.0.js +++ /dev/null @@ -1,10881 +0,0 @@ -/*! - * jQuery JavaScript Library v3.6.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright OpenJS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2021-03-02T17:08Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var flat = arr.flat ? function( array ) { - return arr.flat.call( array ); -} : function( array ) { - return arr.concat.apply( [], array ); -}; - - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - -var isFunction = function isFunction( obj ) { - - // Support: Chrome <=57, Firefox <=52 - // In some browsers, typeof returns "function" for HTML elements - // (i.e., `typeof document.createElement( "object" ) === "function"`). - // We don't want to classify *any* DOM node as a function. - // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 - // Plus for old WebKit, typeof returns "function" for HTML collections - // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) - return typeof obj === "function" && typeof obj.nodeType !== "number" && - typeof obj.item !== "function"; - }; - - -var isWindow = function isWindow( obj ) { - return obj != null && obj === obj.window; - }; - - -var document = window.document; - - - - var preservedScriptAttributes = { - type: true, - src: true, - nonce: true, - noModule: true - }; - - function DOMEval( code, node, doc ) { - doc = doc || document; - - var i, val, - script = doc.createElement( "script" ); - - script.text = code; - if ( node ) { - for ( i in preservedScriptAttributes ) { - - // Support: Firefox 64+, Edge 18+ - // Some browsers don't support the "nonce" property on scripts. - // On the other hand, just using `getAttribute` is not enough as - // the `nonce` attribute is reset to an empty string whenever it - // becomes browsing-context connected. - // See https://github.com/whatwg/html/issues/2369 - // See https://html.spec.whatwg.org/#nonce-attributes - // The `node.getAttribute` check was added for the sake of - // `jQuery.globalEval` so that it can fake a nonce-containing node - // via an object. - val = node[ i ] || node.getAttribute && node.getAttribute( i ); - if ( val ) { - script.setAttribute( i, val ); - } - } - } - doc.head.appendChild( script ).parentNode.removeChild( script ); - } - - -function toType( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; -} -/* global Symbol */ -// Defining this global in .eslintrc.json would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.6.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - - // Return all the elements in a clean array - if ( num == null ) { - return slice.call( this ); - } - - // Return just the one element from the set - return num < 0 ? this[ num + this.length ] : 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.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - even: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return ( i + 1 ) % 2; - } ) ); - }, - - odd: function() { - return this.pushStack( jQuery.grep( this, function( _elem, i ) { - return i % 2; - } ) ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - copy = options[ name ]; - - // Prevent Object.prototype pollution - // Prevent never-ending loop - if ( name === "__proto__" || target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = Array.isArray( copy ) ) ) ) { - src = target[ name ]; - - // Ensure proper type for the source value - if ( copyIsArray && !Array.isArray( src ) ) { - clone = []; - } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { - clone = {}; - } else { - clone = src; - } - copyIsArray = false; - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - // Evaluates a script in a provided context; falls back to the global one - // if not specified. - globalEval: function( code, options, doc ) { - DOMEval( code, { nonce: options && options.nonce }, doc ); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return flat( ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), - function( _i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); - } ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = toType( obj ); - - if ( isFunction( obj ) || isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.6 - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://js.foundation/ - * - * Date: 2021-02-16 - */ -( function( window ) { -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - nonnativeSelectorCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ( {} ).hasOwnProperty, - arr = [], - pop = arr.pop, - pushNative = arr.push, - push = arr.push, - slice = arr.slice, - - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[ i ] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + - "ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram - identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + - "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - - // "Attribute values must be CSS identifiers [capture 5] - // or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + - whitespace + "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + - whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + - "*" ), - rdescend = new RegExp( whitespace + "|>" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + - whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + - whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + - "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + - "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rhtml = /HTML$/i, - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), - funescape = function( escape, nonHex ) { - var high = "0x" + escape.slice( 1 ) - 0x10000; - - return nonHex ? - - // Strip the backslash prefix from a non-hex escape sequence - nonHex : - - // Replace a hexadecimal escape sequence with the encoded Unicode code point - // Support: IE <=11+ - // For values outside the Basic Multilingual Plane (BMP), manually construct a - // surrogate pair - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + - ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - inDisabledFieldset = addCombinator( - function( elem ) { - return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - ( arr = slice.call( preferredDoc.childNodes ) ), - preferredDoc.childNodes - ); - - // Support: Android<4.0 - // Detect silently failing push.apply - // eslint-disable-next-line no-unused-expressions - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - pushNative.apply( target, slice.call( els ) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - - // Can't trust NodeList.length - while ( ( target[ j++ ] = els[ i++ ] ) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - setDocument( context ); - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { - - // ID selector - if ( ( m = match[ 1 ] ) ) { - - // Document context - if ( nodeType === 9 ) { - if ( ( elem = context.getElementById( m ) ) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && ( elem = newContext.getElementById( m ) ) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[ 2 ] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !nonnativeSelectorCache[ selector + " " ] && - ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && - - // Support: IE 8 only - // Exclude object elements - ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { - - newSelector = selector; - newContext = context; - - // qSA considers elements outside a scoping root when evaluating child or - // descendant combinators, which is not what we want. - // In such cases, we work around the behavior by prefixing every selector in the - // list with an ID selector referencing the scope context. - // The technique has to be used as well when a leading combinator is used - // as such selectors are not recognized by querySelectorAll. - // Thanks to Andrew Dupont for this technique. - if ( nodeType === 1 && - ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - - // We can use :scope instead of the ID hack if the browser - // supports it & if we're not changing the context. - if ( newContext !== context || !support.scope ) { - - // Capture the context ID, setting it first if necessary - if ( ( nid = context.getAttribute( "id" ) ) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", ( nid = expando ) ); - } - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + - toSelector( groups[ i ] ); - } - newSelector = groups.join( "," ); - } - - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - nonnativeSelectorCache( selector, true ); - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return ( cache[ key + " " ] = value ); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement( "fieldset" ); - - try { - return !!fn( el ); - } catch ( e ) { - return false; - } finally { - - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split( "|" ), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[ i ] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( ( cur = cur.nextSibling ) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return ( name === "input" || name === "button" ) && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - - // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Only certain elements can match :enabled or :disabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled - // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled - if ( "form" in elem ) { - - // Check for inherited disabledness on relevant non-disabled elements: - // * listed form-associated elements in a disabled fieldset - // https://html.spec.whatwg.org/multipage/forms.html#category-listed - // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled - // * option elements in a disabled optgroup - // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled - // All such elements have a "form" property. - if ( elem.parentNode && elem.disabled === false ) { - - // Option elements defer to a parent optgroup if present - if ( "label" in elem ) { - if ( "label" in elem.parentNode ) { - return elem.parentNode.disabled === disabled; - } else { - return elem.disabled === disabled; - } - } - - // Support: IE 6 - 11 - // Use the isDisabled shortcut property to check for disabled fieldset ancestors - return elem.isDisabled === disabled || - - // Where there is no isDisabled, check manually - /* jshint -W018 */ - elem.isDisabled !== !disabled && - inDisabledFieldset( elem ) === disabled; - } - - return elem.disabled === disabled; - - // Try to winnow out elements that can't be disabled before trusting the disabled property. - // Some victims get caught in our net (label, legend, menu, track), but it shouldn't - // even exist on them, let alone have a boolean value. - } else if ( "label" in elem ) { - return elem.disabled === disabled; - } - - // Remaining elements are neither :enabled nor :disabled - return false; - }; -} - -/** - * Returns a function to use in pseudos for positionals - * @param {Function} fn - */ -function createPositionalPseudo( fn ) { - return markFunction( function( argument ) { - argument = +argument; - return markFunction( function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ ( j = matchIndexes[ i ] ) ] ) { - seed[ j ] = !( matches[ j ] = seed[ j ] ); - } - } - } ); - } ); -} - -/** - * Checks a node for validity as a Sizzle context - * @param {Element|Object=} context - * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value - */ -function testContext( context ) { - return context && typeof context.getElementsByTagName !== "undefined" && context; -} - -// Expose support vars for convenience -support = Sizzle.support = {}; - -/** - * Detects XML nodes - * @param {Element|Object} elem An element or a document - * @returns {Boolean} True iff elem is a non-HTML XML node - */ -isXML = Sizzle.isXML = function( elem ) { - var namespace = elem && elem.namespaceURI, - docElem = elem && ( elem.ownerDocument || elem ).documentElement; - - // Support: IE <=8 - // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes - // https://bugs.jquery.com/ticket/4833 - return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, subWindow, - doc = node ? node.ownerDocument || node : preferredDoc; - - // Return early if doc is invalid or already selected - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Update global variables - document = doc; - docElem = document.documentElement; - documentIsHTML = !isXML( document ); - - // Support: IE 9 - 11+, Edge 12 - 18+ - // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( preferredDoc != document && - ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { - - // Support: IE 11, Edge - if ( subWindow.addEventListener ) { - subWindow.addEventListener( "unload", unloadHandler, false ); - - // Support: IE 9 - 10 only - } else if ( subWindow.attachEvent ) { - subWindow.attachEvent( "onunload", unloadHandler ); - } - } - - // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, - // Safari 4 - 5 only, Opera <=11.6 - 12.x only - // IE/Edge & older browsers don't support the :scope pseudo-class. - // Support: Safari 6.0 only - // Safari 6.0 supports :scope but it's an alias of :root there. - support.scope = assert( function( el ) { - docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); - return typeof el.querySelectorAll !== "undefined" && - !el.querySelectorAll( ":scope fieldset div" ).length; - } ); - - /* Attributes - ---------------------------------------------------------------------- */ - - // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties - // (excepting IE8 booleans) - support.attributes = assert( function( el ) { - el.className = "i"; - return !el.getAttribute( "className" ); - } ); - - /* getElement(s)By* - ---------------------------------------------------------------------- */ - - // Check if getElementsByTagName("*") returns only elements - support.getElementsByTagName = assert( function( el ) { - el.appendChild( document.createComment( "" ) ); - return !el.getElementsByTagName( "*" ).length; - } ); - - // Support: IE<9 - support.getElementsByClassName = rnative.test( document.getElementsByClassName ); - - // Support: IE<10 - // Check if getElementById returns elements by name - // The broken getElementById methods don't pick up programmatically-set names, - // so use a roundabout getElementsByName test - support.getById = assert( function( el ) { - docElem.appendChild( el ).id = expando; - return !document.getElementsByName || !document.getElementsByName( expando ).length; - } ); - - // ID filter and find - if ( support.getById ) { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute( "id" ) === attrId; - }; - }; - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var elem = context.getElementById( id ); - return elem ? [ elem ] : []; - } - }; - } else { - Expr.filter[ "ID" ] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && - elem.getAttributeNode( "id" ); - return node && node.value === attrId; - }; - }; - - // Support: IE 6 - 7 only - // getElementById is not reliable as a find shortcut - Expr.find[ "ID" ] = function( id, context ) { - if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { - var node, i, elems, - elem = context.getElementById( id ); - - if ( elem ) { - - // Verify the id attribute - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - - // Fall back on getElementsByName - elems = context.getElementsByName( id ); - i = 0; - while ( ( elem = elems[ i++ ] ) ) { - node = elem.getAttributeNode( "id" ); - if ( node && node.value === id ) { - return [ elem ]; - } - } - } - - return []; - } - }; - } - - // Tag - Expr.find[ "TAG" ] = support.getElementsByTagName ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( tag ); - - // DocumentFragment nodes don't have gEBTN - } else if ( support.qsa ) { - return context.querySelectorAll( tag ); - } - } : - - function( tag, context ) { - var elem, - tmp = [], - i = 0, - - // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Class - Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { - return context.getElementsByClassName( className ); - } - }; - - /* QSA/matchesSelector - ---------------------------------------------------------------------- */ - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21) - // We allow this because of a bug in IE8/9 that throws an error - // whenever `document.activeElement` is accessed on an iframe - // So, we allow :focus to pass through QSA all the time to avoid the IE error - // See https://bugs.jquery.com/ticket/13378 - rbuggyQSA = []; - - if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { - - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert( function( el ) { - - var input; - - // Select is set to empty string on purpose - // This is to test IE's treatment of not explicitly - // setting a boolean content attribute, - // since its presence should be enough - // https://bugs.jquery.com/ticket/12359 - docElem.appendChild( el ).innerHTML = "" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll( "[selected]" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push( "~=" ); - } - - // Support: IE 11+, Edge 15 - 18+ - // IE 11/Edge don't find elements on a `[name='']` query in some cases. - // Adding a temporary attribute to the document before the selection works - // around the issue. - // Interestingly, IE 10 & older don't seem to have the issue. - input = document.createElement( "input" ); - input.setAttribute( "name", "" ); - el.appendChild( input ); - if ( !el.querySelectorAll( "[name='']" ).length ) { - rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + - whitespace + "*(?:''|\"\")" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll( ":checked" ).length ) { - rbuggyQSA.push( ":checked" ); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push( ".#.+[+~]" ); - } - - // Support: Firefox <=3.6 - 5 only - // Old Firefox doesn't throw on a badly-escaped identifier. - el.querySelectorAll( "\\\f" ); - rbuggyQSA.push( "[\\r\\n\\f]" ); - } ); - - assert( function( el ) { - el.innerHTML = "" + - ""; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement( "input" ); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll( "[name=d]" ).length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: Opera 10 - 11 only - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll( "*,:x" ); - rbuggyQSA.push( ",.*:" ); - } ); - } - - if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector ) ) ) ) { - - assert( function( el ) { - - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - } ); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - ) ); - } : - function( a, b ) { - if ( b ) { - while ( ( b = b.parentNode ) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { - - // Choose the first element that is related to our preferred document - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( a == document || a.ownerDocument == preferredDoc && - contains( preferredDoc, a ) ) { - return -1; - } - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( b == document || b.ownerDocument == preferredDoc && - contains( preferredDoc, b ) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - return a == document ? -1 : - b == document ? 1 : - /* eslint-enable eqeqeq */ - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( ( cur = cur.parentNode ) ) { - ap.unshift( cur ); - } - cur = b; - while ( ( cur = cur.parentNode ) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[ i ] === bp[ i ] ) { - i++; - } - - return i ? - - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[ i ], bp[ i ] ) : - - // Otherwise nodes in our document sort first - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - /* eslint-disable eqeqeq */ - ap[ i ] == preferredDoc ? -1 : - bp[ i ] == preferredDoc ? 1 : - /* eslint-enable eqeqeq */ - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - setDocument( elem ); - - if ( support.matchesSelector && documentIsHTML && - !nonnativeSelectorCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch ( e ) { - nonnativeSelectorCache( expr, true ); - } - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( context.ownerDocument || context ) != document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - - // Set document vars if needed - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( ( elem.ownerDocument || elem ) != document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return ( sel + "" ).replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( ( elem = results[ i++ ] ) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - - // If no nodeType, this is expected to be an array - while ( ( node = elem[ i++ ] ) ) { - - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[ 1 ] = match[ 1 ].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[ 3 ] = ( match[ 3 ] || match[ 4 ] || - match[ 5 ] || "" ).replace( runescape, funescape ); - - if ( match[ 2 ] === "~=" ) { - match[ 3 ] = " " + match[ 3 ] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[ 1 ] = match[ 1 ].toLowerCase(); - - if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { - - // nth-* requires argument - if ( !match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[ 4 ] = +( match[ 4 ] ? - match[ 5 ] + ( match[ 6 ] || 1 ) : - 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); - match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); - - // other types prohibit arguments - } else if ( match[ 3 ] ) { - Sizzle.error( match[ 0 ] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[ 6 ] && match[ 2 ]; - - if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[ 3 ] ) { - match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - - // Get excess from tokenize (recursively) - ( excess = tokenize( unquoted, true ) ) && - - // advance to the next closing parenthesis - ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { - - // excess is a negative index - match[ 0 ] = match[ 0 ].slice( 0, excess ); - match[ 2 ] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { - return true; - } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - ( pattern = new RegExp( "(^|" + whitespace + - ")" + className + "(" + whitespace + "|$)" ) ) && classCache( - className, function( elem ) { - return pattern.test( - typeof elem.className === "string" && elem.className || - typeof elem.getAttribute !== "undefined" && - elem.getAttribute( "class" ) || - "" - ); - } ); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - /* eslint-disable max-len */ - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - /* eslint-enable max-len */ - - }; - }, - - "CHILD": function( type, what, _argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, _context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( ( node = node[ dir ] ) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( ( node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - - // Use previously-cached element index if available - if ( useCache ) { - - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - - // Use the same loop as above to seek `elem` from the start - while ( ( node = ++nodeIndex && node && node[ dir ] || - ( diff = nodeIndex = 0 ) || start.pop() ) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || - ( node[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - ( outerCache[ node.uniqueID ] = {} ); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction( function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[ i ] ); - seed[ idx ] = !( matches[ idx ] = matched[ i ] ); - } - } ) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - - // Potentially complex pseudos - "not": markFunction( function( selector ) { - - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction( function( seed, matches, _context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( ( elem = unmatched[ i ] ) ) { - seed[ i ] = !( matches[ i ] = elem ); - } - } - } ) : - function( elem, _context, xml ) { - input[ 0 ] = elem; - matcher( input, null, xml, results ); - - // Don't keep the element (issue #299) - input[ 0 ] = null; - return !results.pop(); - }; - } ), - - "has": markFunction( function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - } ), - - "contains": markFunction( function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; - }; - } ), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - - // lang value must be a valid identifier - if ( !ridentifier.test( lang || "" ) ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( ( elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); - return false; - }; - } ), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && - ( !document.hasFocus || document.hasFocus() ) && - !!( elem.type || elem.href || ~elem.tabIndex ); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return ( nodeName === "input" && !!elem.checked ) || - ( nodeName === "option" && !!elem.selected ); - }, - - "selected": function( elem ) { - - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - // eslint-disable-next-line no-unused-expressions - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos[ "empty" ]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( ( attr = elem.getAttribute( "type" ) ) == null || - attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo( function() { - return [ 0 ]; - } ), - - "last": createPositionalPseudo( function( _matchIndexes, length ) { - return [ length - 1 ]; - } ), - - "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - } ), - - "even": createPositionalPseudo( function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "odd": createPositionalPseudo( function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? - argument + length : - argument > length ? - length : - argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ), - - "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - } ) - } -}; - -Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || ( match = rcomma.exec( soFar ) ) ) { - if ( match ) { - - // Don't consume trailing commas as valid - soFar = soFar.slice( match[ 0 ].length ) || soFar; - } - groups.push( ( tokens = [] ) ); - } - - matched = false; - - // Combinators - if ( ( match = rcombinators.exec( soFar ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - - // Cast descendant combinators to space - type: match[ 0 ].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || - ( match = preFilters[ type ]( match ) ) ) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[ i ].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - return false; - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( ( elem = elem[ dir ] ) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || ( elem[ expando ] = {} ); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || - ( outerCache[ elem.uniqueID ] = {} ); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( ( oldCache = uniqueCache[ key ] ) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return ( newCache[ 2 ] = oldCache[ 2 ] ); - } else { - - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { - return true; - } - } - } - } - } - return false; - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[ i ]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[ 0 ]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[ i ], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( ( elem = unmatched[ i ] ) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction( function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( - selector || "*", - context.nodeType ? [ context ] : context, - [] - ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( ( elem = temp[ i ] ) ) { - matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) ) { - - // Restore matcherIn since elem is not yet a final match - temp.push( ( matcherIn[ i ] = elem ) ); - } - } - postFinder( null, ( matcherOut = [] ), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( ( elem = matcherOut[ i ] ) && - ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { - - seed[ temp ] = !( results[ temp ] = elem ); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - } ); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[ 0 ].type ], - implicitRelative = leadingRelative || Expr.relative[ " " ], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - ( checkContext = context ).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { - matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; - } else { - matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[ j ].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens - .slice( 0, i - 1 ) - .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), - - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), - len = elems.length; - - if ( outermost ) { - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - outermostContext = context == document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - - // Support: IE 11+, Edge 17 - 18+ - // IE/Edge sometimes throw a "Permission denied" error when strict-comparing - // two documents; shallow comparisons work. - // eslint-disable-next-line eqeqeq - if ( !context && elem.ownerDocument != document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( ( matcher = elementMatchers[ j++ ] ) ) { - if ( matcher( elem, context || document, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - - // They will have gone through all possible matchers - if ( ( elem = !matcher && elem ) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( ( matcher = setMatchers[ j++ ] ) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !( unmatched[ i ] || setMatched[ i ] ) ) { - setMatched[ i ] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[ i ] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( - selector, - matcherFromGroupMatchers( elementMatchers, setMatchers ) - ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( ( selector = compiled.selector || selector ) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[ 0 ] = match[ 0 ].slice( 0 ); - if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && - context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { - - context = ( Expr.find[ "ID" ]( token.matches[ 0 ] - .replace( runescape, funescape ), context ) || [] )[ 0 ]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[ i ]; - - // Abort if we hit a combinator - if ( Expr.relative[ ( type = token.type ) ] ) { - break; - } - if ( ( find = Expr.find[ type ] ) ) { - - // Search, expanding context for leading sibling combinators - if ( ( seed = find( - token.matches[ 0 ].replace( runescape, funescape ), - rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || - context - ) ) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert( function( el ) { - - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; -} ); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert( function( el ) { - el.innerHTML = ""; - return el.firstChild.getAttribute( "href" ) === "#"; -} ) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - } ); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert( function( el ) { - el.innerHTML = ""; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -} ) ) { - addHandle( "value", function( elem, _name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - } ); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert( function( el ) { - return el.getAttribute( "disabled" ) == null; -} ) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - ( val = elem.getAttributeNode( name ) ) && val.specified ? - val.value : - null; - } - } ); -} - -return Sizzle; - -} )( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - - - -function nodeName( elem, name ) { - - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - -} -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - } - - // Single element - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - } - - // Arraylike of elements (jQuery, arguments, Array) - if ( typeof qualifier !== "string" ) { - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not; - } ); - } - - // Filtered directly for both simple and complex selectors - return jQuery.filter( qualifier, elements, not ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - if ( elems.length === 1 && elem.nodeType === 1 ) { - return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; - } - - return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, _i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, _i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, _i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - if ( elem.contentDocument != null && - - // Support: IE 11+ - // elements with no `data` attribute has an object - // `contentDocument` with a `null` prototype. - getProto( elem.contentDocument ) ) { - - return elem.contentDocument; - } - - // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only - // Treat the template element as a regular one in browsers that - // don't support it. - if ( nodeName( elem, "template" ) ) { - elem = elem.content || elem; - } - - return jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = locked || options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && toType( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject, noValue ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: - // * false: [ value ].slice( 0 ) => resolve( value ) - // * true: [ value ].slice( 1 ) => resolve() - resolve.apply( undefined, [ value ].slice( noValue ) ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.apply( undefined, [ value ] ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( _i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // rejected_handlers.disable - // fulfilled_handlers.disable - tuples[ 3 - i ][ 3 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock, - - // progress_handlers.lock - tuples[ 0 ][ 3 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the primary Deferred - primary = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - primary.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, - !remaining ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( primary.state() === "pending" || - isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return primary.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); - } - - return primary.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( toType( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, _key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - if ( chainable ) { - return elems; - } - - // Gets - if ( bulk ) { - return fn.call( elems ); - } - - return len ? fn( elems[ 0 ], key ) : emptyGet; -}; - - -// Matches dashed string for camelizing -var rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g; - -// Used by camelCase as callback to replace() -function fcamelCase( _all, letter ) { - return letter.toUpperCase(); -} - -// Convert dashed to camelCase; used by the css and data modules -// Support: IE <=9 - 11, Edge 12 - 15 -// Microsoft forgot to hump their vendor prefix (#9572) -function camelCase( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); -} -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( Array.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( camelCase ); - } else { - key = camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnothtmlwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function getData( data ) { - if ( data === "true" ) { - return true; - } - - if ( data === "false" ) { - return false; - } - - if ( data === "null" ) { - return null; - } - - // Only convert to a number if it doesn't change the string - if ( data === +data + "" ) { - return +data; - } - - if ( rbrace.test( data ) ) { - return JSON.parse( data ); - } - - return data; -} - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = getData( data ); - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || Array.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var documentElement = document.documentElement; - - - - var isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ); - }, - composed = { composed: true }; - - // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only - // Check attachment across shadow DOM boundaries when possible (gh-3504) - // Support: iOS 10.0-10.2 only - // Early iOS 10 versions support `attachShadow` but not `getRootNode`, - // leading to errors. We need to check for `getRootNode`. - if ( documentElement.getRootNode ) { - isAttached = function( elem ) { - return jQuery.contains( elem.ownerDocument, elem ) || - elem.getRootNode( composed ) === elem.ownerDocument; - }; - } -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - isAttached( elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, scale, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = elem.nodeType && - ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Support: Firefox <=54 - // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) - initial = initial / 2; - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - while ( maxIterations-- ) { - - // Evaluate and update our best guess (doubling guesses that zero out). - // Finish if the scale equals or crosses 1 (making the old*new product non-positive). - jQuery.style( elem, prop, initialInUnit + unit ); - if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { - maxIterations = 0; - } - initialInUnit = initialInUnit / scale; - - } - - initialInUnit = initialInUnit * 2; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ); - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); - -var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); - - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; - - // Support: IE <=9 only - // IE <=9 replaces "; - support.option = !!div.lastChild; -} )(); - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting
                    or other required elements. - thead: [ 1, "

                    order

                    ", "
                    " ], - col: [ 2, "", "
                    " ], - tr: [ 2, "", "
                    " ], - td: [ 3, "", "
                    " ], - - _default: [ 0, "", "" ] -}; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: IE <=9 only -if ( !support.option ) { - wrapMap.optgroup = wrapMap.option = [ 1, "" ]; -} - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret; - - if ( typeof context.getElementsByTagName !== "undefined" ) { - ret = context.getElementsByTagName( tag || "*" ); - - } else if ( typeof context.querySelectorAll !== "undefined" ) { - ret = context.querySelectorAll( tag || "*" ); - - } else { - ret = []; - } - - if ( tag === undefined || tag && nodeName( context, tag ) ) { - return jQuery.merge( [ context ], ret ); - } - - return ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, attached, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( toType( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - attached = isAttached( elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( attached ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 - 11+ -// focus() and blur() are asynchronous, except when they are no-op. -// So expect focus to be synchronous when the element is already active, -// and blur to be synchronous when the element is not already active. -// (focus and blur are always synchronous in other supported browsers, -// this just defines when we can count on it). -function expectSync( elem, type ) { - return ( elem === safeActiveElement() ) === ( type === "focus" ); -} - -// Support: IE <=9 only -// Accessing document.activeElement can throw unexpectedly -// https://bugs.jquery.com/ticket/13393 -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Only attach events to objects that accept data - if ( !acceptData( elem ) ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = Object.create( null ); - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( nativeEvent ), - - handlers = ( - dataPriv.get( this, "events" ) || Object.create( null ) - )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // If the event is namespaced, then each handler is only invoked if it is - // specially universal or its namespaces are a superset of the event's. - if ( !event.rnamespace || handleObj.namespace === false || - event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, handleObj, sel, matchedHandlers, matchedSelectors, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - if ( delegateCount && - - // Support: IE <=9 - // Black-hole SVG instance trees (trac-13180) - cur.nodeType && - - // Support: Firefox <=42 - // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) - // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click - // Support: IE 11 only - // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) - !( event.type === "click" && event.button >= 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { - matchedHandlers = []; - matchedSelectors = {}; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matchedSelectors[ sel ] === undefined ) { - matchedSelectors[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matchedSelectors[ sel ] ) { - matchedHandlers.push( handleObj ); - } - } - if ( matchedHandlers.length ) { - handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - cur = this; - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - - // Utilize native event to ensure correct state for checkable inputs - setup: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Claim the first handler - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - // dataPriv.set( el, "click", ... ) - leverageNative( el, "click", returnTrue ); - } - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function( data ) { - - // For mutual compressibility with _default, replace `this` access with a local var. - // `|| data` is dead code meant only to preserve the variable through minification. - var el = this || data; - - // Force setup before triggering a click - if ( rcheckableType.test( el.type ) && - el.click && nodeName( el, "input" ) ) { - - leverageNative( el, "click" ); - } - - // Return non-false to allow normal event-path propagation - return true; - }, - - // For cross-browser consistency, suppress native .click() on links - // Also prevent it if we're currently inside a leveraged native-event stack - _default: function( event ) { - var target = event.target; - return rcheckableType.test( target.type ) && - target.click && nodeName( target, "input" ) && - dataPriv.get( target, "click" ) || - nodeName( target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -// Ensure the presence of an event listener that handles manually-triggered -// synthetic events by interrupting progress until reinvoked in response to -// *native* events that it fires directly, ensuring that state changes have -// already occurred before other listeners are invoked. -function leverageNative( el, type, expectSync ) { - - // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add - if ( !expectSync ) { - if ( dataPriv.get( el, type ) === undefined ) { - jQuery.event.add( el, type, returnTrue ); - } - return; - } - - // Register the controller as a special universal handler for all event namespaces - dataPriv.set( el, type, false ); - jQuery.event.add( el, type, { - namespace: false, - handler: function( event ) { - var notAsync, result, - saved = dataPriv.get( this, type ); - - if ( ( event.isTrigger & 1 ) && this[ type ] ) { - - // Interrupt processing of the outer synthetic .trigger()ed event - // Saved data should be false in such cases, but might be a leftover capture object - // from an async native handler (gh-4350) - if ( !saved.length ) { - - // Store arguments for use when handling the inner native event - // There will always be at least one argument (an event object), so this array - // will not be confused with a leftover capture object. - saved = slice.call( arguments ); - dataPriv.set( this, type, saved ); - - // Trigger the native event and capture its result - // Support: IE <=9 - 11+ - // focus() and blur() are asynchronous - notAsync = expectSync( this, type ); - this[ type ](); - result = dataPriv.get( this, type ); - if ( saved !== result || notAsync ) { - dataPriv.set( this, type, false ); - } else { - result = {}; - } - if ( saved !== result ) { - - // Cancel the outer synthetic event - event.stopImmediatePropagation(); - event.preventDefault(); - - // Support: Chrome 86+ - // In Chrome, if an element having a focusout handler is blurred by - // clicking outside of it, it invokes the handler synchronously. If - // that handler calls `.remove()` on the element, the data is cleared, - // leaving `result` undefined. We need to guard against this. - return result && result.value; - } - - // If this is an inner synthetic event for an event with a bubbling surrogate - // (focus or blur), assume that the surrogate already propagated from triggering the - // native event and prevent that from happening again here. - // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the - // bubbling surrogate propagates *after* the non-bubbling base), but that seems - // less bad than duplication. - } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { - event.stopPropagation(); - } - - // If this is a native event triggered above, everything is now in order - // Fire an inner synthetic event with the original arguments - } else if ( saved.length ) { - - // ...and capture the result - dataPriv.set( this, type, { - value: jQuery.event.trigger( - - // Support: IE <=9 - 11+ - // Extend with the prototype to reset the above stopImmediatePropagation() - jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), - saved.slice( 1 ), - this - ) - } ); - - // Abort handling of the native event - event.stopImmediatePropagation(); - } - } - } ); -} - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || Date.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - code: true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - which: true -}, jQuery.event.addProp ); - -jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { - jQuery.event.special[ type ] = { - - // Utilize native event if possible so blur/focus sequence is correct - setup: function() { - - // Claim the first handler - // dataPriv.set( this, "focus", ... ) - // dataPriv.set( this, "blur", ... ) - leverageNative( this, type, expectSync ); - - // Return false to allow normal processing in the caller - return false; - }, - trigger: function() { - - // Force setup before trigger - leverageNative( this, type ); - - // Return non-false to allow normal event-path propagation - return true; - }, - - // Suppress native focus or blur as it's already being fired - // in leverageNative. - _default: function() { - return true; - }, - - delegateType: delegateType - }; -} ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - // Support: IE <=10 - 11, Edge 12 - 13 only - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -// Prefer a tbody over its parent table for containing new rows -function manipulationTarget( elem, content ) { - if ( nodeName( elem, "table" ) && - nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return jQuery( elem ).children( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { - elem.type = elem.type.slice( 5 ); - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.get( src ); - events = pdataOld.events; - - if ( events ) { - dataPriv.remove( dest, "handle events" ); - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = flat( args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - valueIsFunction = isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( valueIsFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( valueIsFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl && !node.noModule ) { - jQuery._evalUrl( node.src, { - nonce: node.nonce || node.getAttribute( "nonce" ) - }, doc ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && isAttached( node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html; - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = isAttached( elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - -var swap = function( elem, options, callback ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.call( elem ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - -var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - container.style.cssText = "position:absolute;left:-11111px;width:60px;" + - "margin-top:1px;padding:0;border:0"; - div.style.cssText = - "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + - "margin:auto;border:1px;padding:1px;" + - "width:60%;top:1%"; - documentElement.appendChild( container ).appendChild( div ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; - - // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 - // Some styles come back with percentage values, even though they shouldn't - div.style.right = "60%"; - pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; - - // Support: IE 9 - 11 only - // Detect misreporting of content dimensions for box-sizing:border-box elements - boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; - - // Support: IE 9 only - // Detect overflow:scroll screwiness (gh-3699) - // Support: Chrome <=64 - // Don't get tricked when zoom affects offsetWidth (gh-4029) - div.style.position = "absolute"; - scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - function roundPixelMeasures( measure ) { - return Math.round( parseFloat( measure ) ); - } - - var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, - reliableTrDimensionsVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - jQuery.extend( support, { - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelBoxStyles: function() { - computeStyleTests(); - return pixelBoxStylesVal; - }, - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - }, - scrollboxSize: function() { - computeStyleTests(); - return scrollboxSizeVal; - }, - - // Support: IE 9 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Behavior in IE 9 is more subtle than in newer versions & it passes - // some versions of this test; make sure not to make it pass there! - // - // Support: Firefox 70+ - // Only Firefox includes border widths - // in computed dimensions. (gh-4529) - reliableTrDimensions: function() { - var table, tr, trChild, trStyle; - if ( reliableTrDimensionsVal == null ) { - table = document.createElement( "table" ); - tr = document.createElement( "tr" ); - trChild = document.createElement( "div" ); - - table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; - tr.style.cssText = "border:1px solid"; - - // Support: Chrome 86+ - // Height set through cssText does not get applied. - // Computed height then comes back as 0. - tr.style.height = "1px"; - trChild.style.height = "9px"; - - // Support: Android 8 Chrome 86+ - // In our bodyBackground.html iframe, - // display for all div elements is set to "inline", - // which causes a problem only in Android 8 Chrome 86. - // Ensuring the div is display: block - // gets around this issue. - trChild.style.display = "block"; - - documentElement - .appendChild( table ) - .appendChild( tr ) - .appendChild( trChild ); - - trStyle = window.getComputedStyle( tr ); - reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + - parseInt( trStyle.borderTopWidth, 10 ) + - parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; - - documentElement.removeChild( table ); - } - return reliableTrDimensionsVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - - // Support: Firefox 51+ - // Retrieving style before computed somehow - // fixes an issue with getting wrong values - // on detached elements - style = elem.style; - - computed = computed || getStyles( elem ); - - // getPropertyValue is needed for: - // .css('filter') (IE 9 only, #12537) - // .css('--customProperty) (#3144) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !isAttached( elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style, - vendorProps = {}; - -// Return a vendor-prefixed property or undefined -function vendorPropName( name ) { - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -// Return a potentially-mapped jQuery.cssProps or vendor prefixed property -function finalPropName( name ) { - var final = jQuery.cssProps[ name ] || vendorProps[ name ]; - - if ( final ) { - return final; - } - if ( name in emptyStyle ) { - return name; - } - return vendorProps[ name ] = vendorPropName( name ) || name; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rcustomProp = /^--/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }; - -function setPositiveNumber( _elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { - var i = dimension === "width" ? 1 : 0, - extra = 0, - delta = 0; - - // Adjustment may not be necessary - if ( box === ( isBorderBox ? "border" : "content" ) ) { - return 0; - } - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin - if ( box === "margin" ) { - delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); - } - - // If we get here with a content-box, we're seeking "padding" or "border" or "margin" - if ( !isBorderBox ) { - - // Add padding - delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // For "border" or "margin", add border - if ( box !== "padding" ) { - delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - - // But still keep track of it otherwise - } else { - extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - - // If we get here with a border-box (content + padding + border), we're seeking "content" or - // "padding" or "margin" - } else { - - // For "content", subtract padding - if ( box === "content" ) { - delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // For "content" or "padding", subtract border - if ( box !== "margin" ) { - delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - // Account for positive content-box scroll gutter when requested by providing computedVal - if ( !isBorderBox && computedVal >= 0 ) { - - // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border - // Assuming integer scroll gutter, subtract the rest and round down - delta += Math.max( 0, Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - computedVal - - delta - - extra - - 0.5 - - // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter - // Use an explicit zero to avoid NaN (gh-3964) - ) ) || 0; - } - - return delta; -} - -function getWidthOrHeight( elem, dimension, extra ) { - - // Start with computed style - var styles = getStyles( elem ), - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). - // Fake content-box until we know it's needed to know the true value. - boxSizingNeeded = !support.boxSizingReliable() || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - valueIsBorderBox = isBorderBox, - - val = curCSS( elem, dimension, styles ), - offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); - - // Support: Firefox <=54 - // Return a confounding non-pixel value or feign ignorance, as appropriate. - if ( rnumnonpx.test( val ) ) { - if ( !extra ) { - return val; - } - val = "auto"; - } - - - // Support: IE 9 - 11 only - // Use offsetWidth/offsetHeight for when box sizing is unreliable. - // In those cases, the computed value can be trusted to be border-box. - if ( ( !support.boxSizingReliable() && isBorderBox || - - // Support: IE 10 - 11+, Edge 15 - 18+ - // IE/Edge misreport `getComputedStyle` of table rows with width/height - // set in CSS while `offset*` properties report correct values. - // Interestingly, in some cases IE 9 doesn't suffer from this issue. - !support.reliableTrDimensions() && nodeName( elem, "tr" ) || - - // Fall back to offsetWidth/offsetHeight when value is "auto" - // This happens for inline elements with no explicit setting (gh-3571) - val === "auto" || - - // Support: Android <=4.1 - 4.3 only - // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) - !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && - - // Make sure the element is visible & connected - elem.getClientRects().length ) { - - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Where available, offsetWidth/offsetHeight approximate border box dimensions. - // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the - // retrieved value as a content box dimension. - valueIsBorderBox = offsetProp in elem; - if ( valueIsBorderBox ) { - val = elem[ offsetProp ]; - } - } - - // Normalize "" and auto - val = parseFloat( val ) || 0; - - // Adjust for the element's box model - return ( val + - boxModelAdjustment( - elem, - dimension, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles, - - // Provide the current computed size to request scroll gutter calculation (gh-3589) - val - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "gridArea": true, - "gridColumn": true, - "gridColumnEnd": true, - "gridColumnStart": true, - "gridRow": true, - "gridRowEnd": true, - "gridRowStart": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: {}, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ), - style = elem.style; - - // Make sure that we're working with the right name. We don't - // want to query the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append - // "px" to a few hardcoded values. - if ( type === "number" && !isCustomProp ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - if ( isCustomProp ) { - style.setProperty( name, value ); - } else { - style[ name ] = value; - } - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = camelCase( name ), - isCustomProp = rcustomProp.test( name ); - - // Make sure that we're working with the right name. We don't - // want to modify the value if it is a CSS custom property - // since they are user-defined. - if ( !isCustomProp ) { - name = finalPropName( origName ); - } - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( _i, dimension ) { - jQuery.cssHooks[ dimension ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, dimension, extra ); - } ) : - getWidthOrHeight( elem, dimension, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = getStyles( elem ), - - // Only read styles.position if the test has a chance to fail - // to avoid forcing a reflow. - scrollboxSizeBuggy = !support.scrollboxSize() && - styles.position === "absolute", - - // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) - boxSizingNeeded = scrollboxSizeBuggy || extra, - isBorderBox = boxSizingNeeded && - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - subtract = extra ? - boxModelAdjustment( - elem, - dimension, - extra, - isBorderBox, - styles - ) : - 0; - - // Account for unreliable border-box dimensions by comparing offset* to computed and - // faking a content-box to get border and padding (gh-3699) - if ( isBorderBox && scrollboxSizeBuggy ) { - subtract -= Math.ceil( - elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - - parseFloat( styles[ dimension ] ) - - boxModelAdjustment( elem, dimension, "border", false, styles ) - - 0.5 - ); - } - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ dimension ] = value; - value = jQuery.css( elem, dimension ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( prefix !== "margin" ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( Array.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && ( - jQuery.cssHooks[ tween.prop ] || - tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, inProgress, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function schedule() { - if ( inProgress ) { - if ( document.hidden === false && window.requestAnimationFrame ) { - window.requestAnimationFrame( schedule ); - } else { - window.setTimeout( schedule, jQuery.fx.interval ); - } - - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = Date.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 15 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY and Edge just mirrors - // the overflowX value there. - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( Array.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - // If there's more to do, yield - if ( percent < 1 && length ) { - return remaining; - } - - // If this was an empty animation, synthesize a final progress notification - if ( !length ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - } - - // Resolve the animation and report its conclusion - deferred.resolveWith( elem, [ animation ] ); - return false; - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - result.stop.bind( result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - // Attach callbacks from options - animation - .progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - return animation; -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnothtmlwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !isFunction( easing ) && easing - }; - - // Go to the end state if fx are off - if ( jQuery.fx.off ) { - opt.duration = 0; - - } else { - if ( typeof opt.duration !== "number" ) { - if ( opt.duration in jQuery.fx.speeds ) { - opt.duration = jQuery.fx.speeds[ opt.duration ]; - - } else { - opt.duration = jQuery.fx.speeds._default; - } - } - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = Date.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Run the timer and safely remove it when done (allowing for external removal) - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - jQuery.fx.start(); -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( inProgress ) { - return; - } - - inProgress = true; - schedule(); -}; - -jQuery.fx.stop = function() { - inProgress = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - - // Attribute names can contain non-HTML whitespace characters - // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 - attrNames = value && value.match( rnothtmlwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - if ( tabindex ) { - return parseInt( tabindex, 10 ); - } - - if ( - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && - elem.href - ) { - return 0; - } - - return -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -// eslint rule "no-unused-expressions" is disabled for this code -// since it considers such accessions noop -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - - /* eslint no-unused-expressions: "off" */ - - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - - // Strip and collapse whitespace according to HTML spec - // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace - function stripAndCollapse( value ) { - var tokens = value.match( rnothtmlwhite ) || []; - return tokens.join( " " ); - } - - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -function classesToArray( value ) { - if ( Array.isArray( value ) ) { - return value; - } - if ( typeof value === "string" ) { - return value.match( rnothtmlwhite ) || []; - } - return []; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - classes = classesToArray( value ); - - if ( classes.length ) { - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = stripAndCollapse( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isValidValue = type === "string" || Array.isArray( value ); - - if ( typeof stateVal === "boolean" && isValidValue ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( isValidValue ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = classesToArray( value ); - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, valueIsFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - // Handle most common string cases - if ( typeof ret === "string" ) { - return ret.replace( rreturn, "" ); - } - - // Handle cases where value is null/undef or number - return ret == null ? "" : ret; - } - - return; - } - - valueIsFunction = isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( valueIsFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( Array.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - stripAndCollapse( jQuery.text( elem ) ); - } - }, - select: { - get: function( elem ) { - var value, option, i, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length; - - if ( index < 0 ) { - i = max; - - } else { - i = one ? index : 0; - } - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( Array.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -support.focusin = "onfocusin" in window; - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - stopPropagationCallback = function( e ) { - e.stopPropagation(); - }; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = lastElement = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - lastElement = cur; - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - - if ( event.isPropagationStopped() ) { - lastElement.addEventListener( type, stopPropagationCallback ); - } - - elem[ type ](); - - if ( event.isPropagationStopped() ) { - lastElement.removeEventListener( type, stopPropagationCallback ); - } - - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - - // Handle: regular nodes (via `this.ownerDocument`), window - // (via `this.document`) & document (via `this`). - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this.document || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = { guid: Date.now() }; - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml, parserErrorElem; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) {} - - parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; - if ( !xml || parserErrorElem ) { - jQuery.error( "Invalid XML: " + ( - parserErrorElem ? - jQuery.map( parserErrorElem.childNodes, function( el ) { - return el.textContent; - } ).join( "\n" ) : - data - ) ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( Array.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && toType( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - if ( a == null ) { - return ""; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ).filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ).map( function( _i, elem ) { - var val = jQuery( this ).val(); - - if ( val == null ) { - return null; - } - - if ( Array.isArray( val ) ) { - return jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ); - } - - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rantiCache = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - -originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; - - if ( isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() + " " ] = - ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) - .concat( match[ 2 ] ); - } - } - match = responseHeaders[ key.toLowerCase() + " " ]; - } - return match == null ? null : match.join( ", " ); - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 15 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available and should be processed, append data to url - if ( s.data && ( s.processData || typeof s.data === "string" ) ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add or update anti-cache param if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rantiCache, "$1" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + - uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Use a noop converter for missing script but not if jsonp - if ( !isSuccess && - jQuery.inArray( "script", s.dataTypes ) > -1 && - jQuery.inArray( "json", s.dataTypes ) < 0 ) { - s.converters[ "text script" ] = function() {}; - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( _i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - -jQuery.ajaxPrefilter( function( s ) { - var i; - for ( i in s.headers ) { - if ( i.toLowerCase() === "content-type" ) { - s.contentType = s.headers[ i ] || ""; - } - } -} ); - - -jQuery._evalUrl = function( url, options, doc ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - - // Only evaluate the response if it is successful (gh-4126) - // dataFilter is not invoked for failure responses, so using it instead - // of the default converter is kludgy but it works. - converters: { - "text script": function() {} - }, - dataFilter: function( response ) { - jQuery.globalEval( response, options, doc ); - } - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var htmlIsFunction = isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.ontimeout = - xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain or forced-by-attrs requests - if ( s.crossDomain || s.scriptAttrs ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( " - - - - - - + + + + + + + @@ -174,8 +174,8 @@
                    -

                    Access control

                    -
                    +

                    Access control

                    +
                    +
                    -

                    Permissions

                    +

                    Permissions

                    -

                    List all permissions

                    +

                    List all permissions

                    -GET /api/access/permissions
                    +GET /api/access/permissions

                    Retrieves all permissions available in the system.

                    Will return a 200 OK with a permission list as body.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -257,18 +257,18 @@
                    -

                    Groups

                    +

                    Groups

                    -

                    Get group list

                    +

                    Get group list

                    -GET /api/access/groups
                    +GET /api/access/groups

                    Retrieves all groups registered in the system.

                    Will return a 200 OK with a group list as body.

                    Requires the SETTINGS permission.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -278,16 +278,16 @@
                    -

                    Add a new group

                    +

                    Add a new group

                    -POST /api/access/groups
                    +POST /api/access/groups

                    Adds a new group to the system.

                    Expects a group registration request as request body.

                    Will return a group list response on success.

                    Requires the SETTINGS permission and a recent credentials check.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • key – The group’s identifier

                    • name – The user’s name

                    • @@ -297,7 +297,7 @@
                    • default – Whether the group should be assigned to new users by default or not

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -310,16 +310,16 @@

                    -

                    Retrieve a group

                    +

                    Retrieve a group

                    -GET /api/access/groups/(string: key)
                    +GET /api/access/groups/(string: key)

                    Retrieves an individual group record.

                    Will return a 200 OK with a group record as body.

                    Requires the SETTINGS permission.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -329,16 +329,16 @@
                    -

                    Update a group

                    +

                    Update a group

                    -PUT /api/access/groups/(string: key)
                    +PUT /api/access/groups/(string: key)

                    Updates an existing group.

                    Expects a group update request as request body.

                    Will return a group list response on success.

                    Requires the SETTINGS permission and a recent credentials check.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • description – A human readable description of the group

                    • permissions – The permissions to assign to the group

                    • @@ -346,7 +346,7 @@
                    • default – Whether the group should be assigned to new users by default or not

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -358,15 +358,15 @@

                    -

                    Delete a group

                    +

                    Delete a group

                    -DELETE /api/access/groups/(string: key)
                    +DELETE /api/access/groups/(string: key)

                    Deletes a group.

                    Will return a group list response on success.

                    Requires the SETTINGS permission and a recent credentials check.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -377,19 +377,19 @@
                    -

                    Users

                    +

                    Users

                    -

                    Retrieve a list of users

                    +

                    Retrieve a list of users

                    -GET /api/access/users
                    +GET /api/access/users

                    Retrieves a list of all registered users in OctoPrint.

                    Will return a 200 OK with a user list response as body.

                    Requires the SETTINGS permission.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -398,21 +398,21 @@
                    -

                    Retrieve a user

                    +

                    Retrieve a user

                    -GET /api/access/users/(string: username)
                    +GET /api/access/users/(string: username)

                    Retrieves information about a user.

                    Will return a 200 OK with a user record as body.

                    Requires either the SETTINGS permission or to be logged in as the user.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user which to retrieve

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Add a new user

                    +

                    Add a new user

                    -POST /api/access/users
                    +POST /api/access/users

                    Adds a user to OctoPrint.

                    Expects a user registration request as request body.

                    Returns a list of registered users on success, see Retrieve a list of users.

                    Requires the SETTINGS permission and a recent credentials check.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • name – The user’s name

                    • password – The user’s password

                    • @@ -441,7 +441,7 @@
                    • admin – Whether to give the account admin rights (true) or not (false)

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 400 Bad Request – If any of the mandatory fields is missing or the request is otherwise @@ -454,28 +454,28 @@

                    -

                    Update a user

                    +

                    Update a user

                    -PUT /api/access/users/(string: username)
                    +PUT /api/access/users/(string: username)

                    Updates a user record.

                    Expects a user update request as request body.

                    Returns a list of registered users on success, see Retrieve a list of users.

                    Requires the SETTINGS permission and a recent credentials check.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to update

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • admin – Whether to mark the user as admin (true) or not (false), can be left out (no change)

                    • active – Whether to mark the account as activated (true) or deactivated (false), can be left out (no change)

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Delete a user

                    +

                    Delete a user

                    -DELETE /api/access/users/(string: username)
                    +DELETE /api/access/users/(string: username)

                    Delete a user record.

                    Returns a list of registered users on success, see Retrieve a list of users.

                    Requires the SETTINGS permission and a recent credentials check.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to delete

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Change a user’s password

                    +

                    Change a user’s password

                    -PUT /api/access/users/(string: username)/password
                    +PUT /api/access/users/(string: username)/password

                    Changes the password of a user.

                    Expects a JSON object with a property password containing the new password as request body. Without the SETTINGS permission, an additional property current @@ -521,18 +521,18 @@

                    Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check. Note that current will be evaluated even in presence of the SETTINGS permission, if set.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to change the password for

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • password – The new password to set

                    • current – The current password

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 400 Bad Request – If the request doesn’t contain a password property, doesn’t @@ -548,21 +548,21 @@

                    -

                    Get a user’s settings

                    +

                    Get a user’s settings

                    -GET /api/access/users/(string: username)/settings
                    +GET /api/access/users/(string: username)/settings

                    Retrieves a user’s settings.

                    Will return a 200 OK with a JSON object representing the user’s personal settings (if any) as body.

                    Requires the SETTINGS permission or to be logged in as the user.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to retrieve the settings for

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 403 Forbidden – No admin rights and not logged in as the user

                    • @@ -574,21 +574,21 @@
                    -

                    Update a user’s settings

                    +

                    Update a user’s settings

                    -PATCH /api/access/users/(string: username)/settings
                    +PATCH /api/access/users/(string: username)/settings

                    Updates a user’s settings.

                    Expects a new settings JSON object to merge with the current settings as request body.

                    Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to retrieve the settings for

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 204 No Content – No error

                    • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

                    • @@ -600,21 +600,21 @@
                    -

                    Regenerate a user’s api key

                    +

                    Regenerate a user’s api key

                    -POST /api/access/users/(string: username)/apikey
                    +POST /api/access/users/(string: username)/apikey

                    Generates a new API key for the user.

                    Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

                    Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to retrieve the settings for

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

                    • @@ -626,19 +626,19 @@
                    -

                    Delete a user’s api key

                    +

                    Delete a user’s api key

                    -DELETE /api/access/users/(string: username)/apikey
                    +DELETE /api/access/users/(string: username)/apikey

                    Deletes a user’s personal API key.

                    Requires the SETTINGS permission or to be logged in as the user, and a recent credentials check.

                    -
                    Parameters
                    +
                    Parameters:
                    • username – Name of the user to retrieve the settings for

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 204 No Content – No error

                    • 403 Forbidden – No admin rights and not logged in as the user, or no recent credentials check

                    • @@ -651,17 +651,17 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Permissions

                    +

                    Permissions

                    -

                    Permission list response

                    - +

                    Permission list response

                    +
                    ----++++ @@ -681,15 +681,15 @@
                    -

                    Groups

                    +

                    Groups

                    -

                    Group list response

                    -

                    Name

                    +

                    Group list response

                    +
                    ----++++ @@ -708,13 +708,13 @@

                    Name

                    -

                    Group registration request

                    - +

                    Group registration request

                    +
                    ----++++ @@ -758,13 +758,13 @@

                    Name

                    -

                    Group update request

                    - +

                    Group update request

                    +
                    ----++++ @@ -799,15 +799,15 @@
                    -

                    Users

                    +

                    Users

                    -

                    User list response

                    -

                    Name

                    +

                    User list response

                    +
                    ----++++ @@ -826,13 +826,13 @@

                    Name

                    -

                    User registration request

                    - +

                    User registration request

                    +
                    ----++++ @@ -871,13 +871,13 @@

                    Name

                    -

                    User update request

                    - +

                    User update request

                    +
                    ----++++ diff --git a/master/api/connection.html b/master/api/connection.html index d5c2b8ae4..1ea49cb9e 100644 --- a/master/api/connection.html +++ b/master/api/connection.html @@ -1,26 +1,26 @@ - + - + Connection handling — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -145,8 +145,8 @@
                    -

                    Connection handling

                    -
                    +

                    Connection handling

                    +
                    +
                    -

                    Get connection settings

                    +

                    Get connection settings

                    -GET /api/connection
                    +GET /api/connection

                    Retrieve the current connection settings, including information regarding the available baudrates and serial ports and the current connection state.

                    Requires the STATUS permission.

                    @@ -194,7 +194,7 @@
                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -204,10 +204,10 @@
                    -

                    Issue a connection command

                    +

                    Issue a connection command

                    -POST /api/connection
                    +POST /api/connection

                    Issue a connection command. Currently available command are:

                    connect

                    Instructs OctoPrint to connect or, if already connected, reconnect to the printer. Additional parameters are:

                    @@ -281,7 +281,7 @@
                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • command (string) – The command to issue, either connect, disconnect or fake_ack.

                    • port (string) – connect command: The port to connect to. If left out either the existing portPreference @@ -298,7 +298,7 @@ startup. If not set no changes will be made to the current setting.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 204 No Content – No error

                    • 400 Bad Request – If the selected port or baudrate for a connect command are not part of the available diff --git a/master/api/datamodel.html b/master/api/datamodel.html index 0d90af258..33be4e3bf 100644 --- a/master/api/datamodel.html +++ b/master/api/datamodel.html @@ -1,26 +1,26 @@ - + - + Common data model — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -172,8 +172,8 @@

                      -

                      Common data model

                      -
                      +

                      Common data model

                      +
                    - +

                    Name

                    +

                    Printer State

                    +
                    ----++++ @@ -299,13 +299,13 @@

                    Name

                    -

                    Temperature Data

                    - +

                    Temperature Data

                    +
                    ----++++ @@ -334,13 +334,13 @@

                    Name

                    -

                    Historic Temperature Data Point

                    - +

                    Historic Temperature Data Point

                    +
                    ----++++ @@ -370,13 +370,13 @@

                    Name

                    -

                    Temperature offset

                    - +

                    Temperature offset

                    +
                    ----++++ @@ -400,13 +400,13 @@

                    Name

                    -

                    Resend stats

                    - +

                    Resend stats

                    +
                    ----++++ @@ -436,15 +436,15 @@

                    Name

                    +

                    Job information

                    +
                    ----++++ @@ -488,13 +488,13 @@

                    Name

                    -

                    Progress information

                    - +

                    Progress information

                    +
                    ----++++ @@ -545,15 +545,15 @@

                    Name

                    +

                    File information

                    +
                    ----++++ @@ -599,13 +599,13 @@ For a type value of folder, see Folders. For any other value see Files.

                    -

                    Folders

                    -

                    Name

                    +

                    Folders

                    +
                    ----++++ @@ -630,13 +630,13 @@

                    Name

                    -

                    Files

                    - +

                    Files

                    +
                    ----++++ @@ -693,13 +693,13 @@
                    -

                    Abridged file or folder information

                    -

                    Name

                    +

                    Abridged file or folder information

                    +
                    ----++++ @@ -742,13 +742,13 @@

                    Name

                    -

                    GCODE analysis information

                    - +

                    GCODE analysis information

                    +
                    ----++++ @@ -892,13 +892,13 @@

                    Name

                    -

                    References

                    - +

                    References

                    +
                    ----++++ @@ -928,13 +928,13 @@

                    Name

                    -

                    Permission record

                    - +

                    Permission record

                    +
                    ----++++ @@ -1121,13 +1121,13 @@

                    Name

                    -

                    Group record

                    - +

                    Group record

                    +
                    ----++++ @@ -1192,13 +1192,13 @@

                    Name

                    -

                    Needs

                    - +

                    Needs

                    +
                    ----++++ diff --git a/master/api/files.html b/master/api/files.html index 9fa4d968f..cf045cc34 100644 --- a/master/api/files.html +++ b/master/api/files.html @@ -1,26 +1,26 @@ - + - + File operations — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -154,8 +154,8 @@
                    -

                    File operations

                    -
                    +

                    File operations

                    +
                    +
                    -

                    Retrieve all files

                    +

                    Retrieve all files

                    -GET /api/files
                    +GET /api/files

                    Retrieve information regarding all files currently available and regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. Note that @@ -393,13 +393,13 @@

                    -
                    Parameters
                    +
                    Parameters:
                    • force – If set to true, forces a refresh, overriding the cache.

                    • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -409,10 +409,10 @@
                    -

                    Retrieve files from specific location

                    +

                    Retrieve files from specific location

                    -GET /api/files/(string: location)
                    +GET /api/files/(string: location)

                    Retrieve information regarding the files currently available on the selected location and – if targeting the local location – regarding the disk space still available locally in the system. The results are cached for performance reasons. If you want to override the cache, supply the query parameter force and set it to true. @@ -468,7 +468,7 @@

                    -
                    Parameters
                    +
                    Parameters:
                    • location – The origin location from which to retrieve the files. Currently only local and sdcard are supported, with local referring to files stored in OctoPrint’s uploads folder and sdcard @@ -477,7 +477,7 @@

                    • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 404 Not Found – If location is neither local nor sdcard

                    • @@ -488,10 +488,10 @@
                    -

                    Upload file or create folder

                    +

                    Upload file or create folder

                    -POST /api/files/(string: location)
                    +POST /api/files/(string: location)

                    Upload a file to the selected location or create a new empty folder on it.

                    Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload. A Content-Length header specifying @@ -636,14 +636,14 @@

                    -
                    Parameters
                    +
                    Parameters:
                    • location – The target location to which to upload the file. Currently only local and sdcard are supported here, with local referring to OctoPrint’s uploads folder and sdcard referring to the printer’s SD card. If an upload targets the SD card, it will also be stored locally first.

                    -
                    Form Parameters
                    +
                    Form Parameters:
                    • file – The file to upload, including a valid filename.

                    • path – The path within the location to upload the file to or create the folder in (without the future @@ -661,7 +661,7 @@

                    • foldername – The name of the folder to create. Ignored when uploading a file.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 201 Created – No error

                    • 400 Bad Request – If no file or foldername are included in the request, userdata was provided but could @@ -680,10 +680,10 @@

                    -

                    Retrieve a specific file’s or folder’s information

                    +

                    Retrieve a specific file’s or folder’s information

                    -GET /api/files/(string: location)/(path: filename)
                    +GET /api/files/(string: location)/(path: filename)

                    Retrieves the selected file’s or folder’s information.

                    If the file is unknown, a 404 Not Found is returned.

                    If the targeted path is a folder, by default only its direct children will be returned. If recursive is @@ -728,14 +728,14 @@

                    -
                    Parameters
                    +
                    Parameters:
                    • location – The location of the file for which to retrieve the information, either local or sdcard.

                    • filename – The filename of the file for which to retrieve the information

                    • recursive – If set to true, return all files and folders recursively. Otherwise only return items on same level.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 404 Not Found – If target is neither local nor sdcard, sdcard but SD card support is disabled or the @@ -747,10 +747,10 @@

                    -

                    Issue a file command

                    +

                    Issue a file command

                    -POST /api/files/(string: location)/(path: path)
                    +POST /api/files/(string: location)/(path: path)

                    Issue a file command to an existing file. Currently supported commands are:

                    select

                    Selects a file for printing. Additional parameters are:

                    @@ -921,14 +921,14 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • location – The target location on which to send the command for is located, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

                    • path – The path of the file for which to issue the command

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • command (string) – The command to issue for the file, currently only select is supported

                    • print (boolean) – select and slice command: Optional, whether to start printing the file directly after selection @@ -945,7 +945,7 @@ defaults to false

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error for a select command.

                    • 202 Accepted – No error for a slice command.

                    • @@ -963,10 +963,10 @@
                    -

                    Delete file

                    +

                    Delete file

                    -DELETE /api/files/(string: location)/(path: path)
                    +DELETE /api/files/(string: location)/(path: path)

                    Delete the selected path on the selected location.

                    If the file to be deleted is currently being printed, a 409 Conflict will be returned.

                    Returns a 204 No Content after successful deletion.

                    @@ -978,14 +978,14 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • location – The target location on which to delete the file, either local (for OctoPrint’s uploads folder) or sdcard for the printer’s SD card (if available)

                    • path – The path of the file to delete

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 204 No Content – No error

                    • 404 Not Found – If location is neither local nor sdcard or the requested file was not found

                    • @@ -997,15 +997,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Retrieve response

                    -

                    Name

                    +

                    Retrieve response

                    +
                    ----++++ @@ -1030,13 +1030,13 @@

                    Name

                    -

                    Upload response

                    - +

                    Upload response

                    +
                    ----++++ diff --git a/master/api/general.html b/master/api/general.html index c903099c9..825d9d25a 100644 --- a/master/api/general.html +++ b/master/api/general.html @@ -1,26 +1,26 @@ - + - + General information — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -156,8 +156,8 @@
                    -

                    General information

                    -
                    +

                    General information

                    +
                    +
                    -

                    Authorization

                    +

                    Authorization

                    If Access Control is enabled OctoPrint’s API expects an API key to be supplied with each request. This API key can be either the globally configured one, a user specific one or an app and user specific one as generated by the authorization workflow implemented by the bundled Application Keys Plugin (since 1.3.10).

                    @@ -224,28 +224,28 @@
                    Global API key in the API settings
                    -

                    Fig. 22 The global API key can be found in the “API” settings

                    +

                    Fig. 22 The global API key can be found in the “API” settings

                    User specific API key location in user list
                    -

                    Fig. 23 The user list in the “Access Control” settings shows the API key for users (if available)

                    +

                    Fig. 23 The user list in the “Access Control” settings shows the API key for users (if available)

                    API key options in "Change password" dialog
                    -

                    Fig. 24 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

                    +

                    Fig. 24 The API key options in the “Change password” dialog. Users can generate and revoke their custom API key here.

                    -

                    Content Type

                    +

                    Content Type

                    If not otherwise stated, OctoPrint’s API expects request bodies and issues response bodies as Content-Type: application/json.

                    -

                    Encoding

                    +

                    Encoding

                    OctoPrint uses UTF-8 as charset.

                    That also includes headers in multipart/form-data requests, in order to allow the full UTF-8 range of characters for uploaded filenames. If a multipart/form-data sub header cannot be decoded as UTF-8, OctoPrint will also attempt @@ -258,7 +258,7 @@ in Upload file.

                    -

                    Cross-origin requests

                    +

                    Cross-origin requests

                    To make use of the OctoPrint API from websites other than the OctoPrint web interface, cross-origin resource sharing (CORS) must be enabled. This is the case even when the website in question is served from a different port on the same machine and on localhost.

                    @@ -273,7 +273,7 @@
                    CORS configuration in the API settings
                    -

                    Fig. 25 Support for CORS can be enabled in the “API” settings

                    +

                    Fig. 25 Support for CORS can be enabled in the “API” settings

                    @@ -295,9 +295,9 @@
                    -

                    CSRF Protection

                    +

                    CSRF Protection

                    -

                    New in version 1.8.3.

                    +

                    Added in version 1.8.3.

                    To protect OctoPrint against CSRF attacks against the non CORS affected upload endpoints, in case of browser session based authorization the API is protected using the Double Submit Cookie mitigation strategy. @@ -316,10 +316,10 @@

                    -

                    Login

                    +

                    Login

                    -POST /api/login
                    +POST /api/login

                    Creates a login session or retrieves information about the currently existing session (“passive login”).

                    Can be used in one of two ways: to login a user via username and password and create a persistent session (usually from a UI in the browser), or to retrieve information about the active user (from an existing session or an API key) @@ -340,7 +340,7 @@ on the web socket.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • passive – If present, performs a passive login only, returning information about the current user that’s active either through an existing session or the used API key

                    • @@ -349,7 +349,7 @@
                    • remember – (active login only) Whether to set a “remember me” cookie on the session

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – Successful login

                    • 403 Forbidden – Username/password mismatch, unknown user or deactivated account

                    • @@ -360,15 +360,15 @@
                    -

                    Logout

                    +

                    Logout

                    -POST /api/logout
                    +POST /api/logout

                    Ends the current login session of the current user.

                    Only makes sense in the context of browser based workflows.

                    Will return a 204 No Content.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -378,15 +378,15 @@
                    -

                    Current User

                    +

                    Current User

                    -GET /api/currentuser
                    +GET /api/currentuser

                    Retrieves information about the current user.

                    Will return a 200 OK with a current user object as body.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -396,16 +396,16 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Login response

                    +

                    Login response

                    The Login response is a user record extended by the following fields:

                    -

                    Name

                    +
                    ----++++ @@ -429,13 +429,13 @@

                    Name

                    -

                    Current user

                    - +

                    Current user

                    +
                    ----++++ diff --git a/master/api/index.html b/master/api/index.html index df0caeb5d..e5f37e171 100644 --- a/master/api/index.html +++ b/master/api/index.html @@ -1,26 +1,26 @@ - + - + REST API — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -139,7 +139,7 @@
                    -

                    REST API

                    +

                    REST API

                    • General information
                        diff --git a/master/api/job.html b/master/api/job.html index 4a33bf8df..9a19cd299 100644 --- a/master/api/job.html +++ b/master/api/job.html @@ -1,26 +1,26 @@ - + - + Job operations — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -149,10 +149,10 @@
                        -

                        Job operations

                        +

                        Job operations

                        Use these operations to query the currently selected file and start/cancel/restart/pause the actual print job.

                        -
                        +
                      -
                    +
                    -

                    Issue a job command

                    +

                    Issue a job command

                    -POST /api/job
                    +POST /api/job

                    Job commands allow starting, pausing and cancelling print jobs. Available commands are:

                    start

                    Starts the print of the currently selected file. For selecting a file, see Issue a file command. @@ -297,12 +297,12 @@

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • command (string) – The command to issue, either start, restart, pause or cancel

                    -
                    Status Codes
                    +
                    Status Codes:

                    Name

                    +

                    Job information response

                    +
                    ----++++ diff --git a/master/api/languages.html b/master/api/languages.html index 17336399b..c71921647 100644 --- a/master/api/languages.html +++ b/master/api/languages.html @@ -1,26 +1,26 @@ - + - + Languages — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -152,12 +152,12 @@
                    -

                    Languages

                    +

                    Languages

                    Note

                    All language pack management operations require the SETTINGS permission.

                    -
                    +
                    +
                    -

                    Retrieve installed language packs

                    +

                    Retrieve installed language packs

                    -GET /api/languages
                    +GET /api/languages

                    Retrieves a list of installed language packs.

                    The response body will contain a list response.

                    Example

                    @@ -223,7 +223,7 @@
                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -233,10 +233,10 @@
                    -

                    Upload a language pack

                    +

                    Upload a language pack

                    -POST /api/languages
                    +POST /api/languages

                    Uploads a new language pack to OctoPrint.

                    Other than most of the other requests on OctoPrint’s API which are expected as JSON, this request is expected as Content-Type: multipart/form-data due to the included file upload.

                    @@ -247,12 +247,12 @@

                    Will return a list of installed language packs upon completion, as described in Retrieve installed language packs.

                    -
                    Form Parameters
                    +
                    Form Parameters:
                    • file – The language pack file to upload

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – The file was uploaded successfully

                    @@ -262,10 +262,10 @@
                    -

                    Delete a language pack

                    +

                    Delete a language pack

                    -DELETE /api/languages/(string: locale)/(string: pack)
                    +DELETE /api/languages/(string: locale)/(string: pack)

                    Deletes the language pack pack for locale locale. Can be either the _core pack (containing translations for core OctoPrint) or the language pack for a plugin specified by the plugin identifier.

                    @@ -304,13 +304,13 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • locale – The locale for which to delete the language pack

                    • pack – The language pack to delete

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – The language pack was deleted

                    @@ -320,15 +320,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    List response

                    -

                    Name

                    +

                    List response

                    +
                    ----++++ @@ -347,13 +347,13 @@

                    Name

                    -

                    Component list

                    - +

                    Component list

                    +
                    ----++++ @@ -382,13 +382,13 @@

                    Name

                    -

                    Language pack metadata

                    - +

                    Language pack metadata

                    +
                    ----++++ diff --git a/master/api/logs.html b/master/api/logs.html index 49b5e0ae7..ad5633499 100644 --- a/master/api/logs.html +++ b/master/api/logs.html @@ -1,26 +1,26 @@ - + - + Log file management — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,7 +141,7 @@
                    -

                    Log file management

                    +

                    Log file management

                    Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins API for the API documentation.

                    The former endpoints /api/logs and api/logs/<path> are marked as deprecated but still work for now. New diff --git a/master/api/printer.html b/master/api/printer.html index 67f52f360..575e0302b 100644 --- a/master/api/printer.html +++ b/master/api/printer.html @@ -1,26 +1,26 @@ - + - + Printer operations — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -165,8 +165,8 @@

                    -

                    Printer operations

                    -
                    +

                    Printer operations

                    +
                    +

                    Printer control is mostly achieved through the use of commands, issued to resources reflecting components of the printer. OctoPrint currently knows the following components:

                    @@ -246,10 +246,10 @@ If you need the printer’s serial communication, you’ll need to subscribe to push updates.

                    -

                    Retrieve the current printer state

                    +

                    Retrieve the current printer state

                    -GET /api/printer
                    +GET /api/printer

                    Retrieves the current state of the printer. Returned information includes:

                    -
                    Query Parameters
                    +
                    Query Parameters:
                    • exclude – An optional comma-separated list of fields to exclude from the response (e.g. if not needed by the client). Valid values to supply here are temperature, sd and state.

                    • @@ -383,7 +383,7 @@ will be returned. Will be ignored if history is not enabled.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 409 Conflict – If the printer is not operational.

                    • @@ -394,10 +394,10 @@
                      -

                      Issue a print head command

                      +

                      Issue a print head command

                      -POST /api/printer/printhead
                      +POST /api/printer/printhead

                      Print head commands allow jogging and homing the print head in all three axes. Available commands are:

                      jog

                      Jogs the print head (relatively) by a defined amount in one or more axes. Additional parameters are:

                      @@ -494,7 +494,7 @@
                      -
                      JSON Parameters
                      +
                      JSON Parameters:
                      • command (string) – The command to issue, either jog or home.

                      • x (number) – jog command: The amount to travel on the X axis in mm.

                      • @@ -504,7 +504,7 @@
                      • factor (number) – feedrate command: The factor to apply to the feed rate, percentage between 50 and 200% as integer or float.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 204 No Content – No error

                      • 400 Bad Request – Invalid axis specified, invalid value for travel amount for a jog command or factor for feed rate or otherwise invalid @@ -517,10 +517,10 @@

                      -

                      Issue a tool command

                      +

                      Issue a tool command

                      -POST /api/printer/tool
                      +POST /api/printer/tool

                      Tool commands allow setting the temperature and temperature offsets for the printer’s tools (hotends), selecting the current tool and extruding/retracting from the currently selected tool. Available commands are:

                      @@ -677,7 +677,7 @@
                      -
                      JSON Parameters
                      +
                      JSON Parameters:
                      • command (string) – The command to issue, either target, offset, select or extrude.

                      • targets (object) – target command: The target temperatures to set. Valid properties have to match the format tool{n}.

                      • @@ -687,7 +687,7 @@
                      • factor (number) – flowrate command: The factor to apply to the flow rate, percentage between 75 and 125% as integer or float.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 204 No Content – No error

                      • 400 Bad Request – If targets or offsets contains a property or tool contains a value not matching the format @@ -701,10 +701,10 @@

                      -

                      Retrieve the current tool state

                      +

                      Retrieve the current tool state

                      -GET /api/printer/tool
                      +GET /api/printer/tool

                      Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for all of the printer’s available tools.

                      It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -764,7 +764,7 @@

                      -
                      Query Parameters
                      +
                      Query Parameters:
                      • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

                      • @@ -772,7 +772,7 @@ will be returned. Will be ignored if history is not enabled.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 200 OK – No error

                      • 409 Conflict – If the printer is not operational.

                      • @@ -783,10 +783,10 @@
                      -

                      Issue a bed command

                      +

                      Issue a bed command

                      -POST /api/printer/bed
                      +POST /api/printer/bed

                      Bed commands allow setting the temperature and temperature offsets for the printer’s heated bed. Available commands are:

                      @@ -840,14 +840,14 @@
                      -
                      JSON Parameters
                      +
                      JSON Parameters:
                      • command (string) – The command to issue, either target or offset.

                      • target (object) – target command: The target temperature to set.

                      • offset (object) – offset command: The offset temperature to set.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 204 No Content – No error

                      • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -861,10 +861,10 @@

                      -

                      Retrieve the current bed state

                      +

                      Retrieve the current bed state

                      -GET /api/printer/bed
                      +GET /api/printer/bed

                      Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated bed.

                      It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -914,7 +914,7 @@

                      -
                      Query Parameters
                      +
                      Query Parameters:
                      • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

                      • @@ -922,7 +922,7 @@ will be returned. Will be ignored if history is not enabled.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 200 OK – No error

                      • 409 Conflict – If the printer is not operational or the selected printer profile @@ -934,10 +934,10 @@

                      -

                      Issue a chamber command

                      +

                      Issue a chamber command

                      -POST /api/printer/chamber
                      +POST /api/printer/chamber

                      Chamber commands allow setting the temperature and temperature offsets for the printer’s heated chamber. Available commands are:

                      @@ -991,14 +991,14 @@
                      -
                      JSON Parameters
                      +
                      JSON Parameters:
                      • command (string) – The command to issue, either target or offset.

                      • target (object) – target command: The target temperature to set.

                      • offset (object) – offset command: The offset temperature to set.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 204 No Content – No error

                      • 400 Bad Request – If target or offset is not a valid number or outside of the supported range, or if the @@ -1012,10 +1012,10 @@

                      -

                      Retrieve the current chamber state

                      +

                      Retrieve the current chamber state

                      -GET /api/printer/chamber
                      +GET /api/printer/chamber

                      Retrieves the current temperature data (actual, target and offset) plus optionally a (limited) history (actual, target, timestamp) for the printer’s heated chamber.

                      It’s also possible to retrieve the temperature history by supplying the history query parameter set to true. The @@ -1065,7 +1065,7 @@

                      -
                      Query Parameters
                      +
                      Query Parameters:
                      • history – If set to true (or: yes, y, 1), history information will be included in the response too. If no limit parameter is given, all available temperature history data will be returned.

                      • @@ -1073,7 +1073,7 @@ will be returned. Will be ignored if history is not enabled.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 200 OK – No error

                      • 409 Conflict – If the printer is not operational or the selected printer profile @@ -1085,10 +1085,10 @@

                      -

                      Issue an SD command

                      +

                      Issue an SD command

                      -POST /api/printer/sd
                      +POST /api/printer/sd

                      SD commands allow initialization, refresh and release of the printer’s SD card (if available).

                      Available commands are:

                      @@ -1157,12 +1157,12 @@
                      -
                      JSON Parameters
                      +
                      JSON Parameters:
                      • command (string) – The command to issue, either init, refresh or release.

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 204 No Content – No error

                      • 409 Conflict – If a refresh or release command is issued but the SD card has not been initialized (e.g. @@ -1174,10 +1174,10 @@

                      -

                      Retrieve the current SD state

                      +

                      Retrieve the current SD state

                      -GET /api/printer/sd
                      +GET /api/printer/sd

                      Retrieves the current state of the printer’s SD card. For this request no authentication is needed.

                      If SD support has been disabled in OctoPrint’s settings, a 404 Not Found is returned.

                      Returns a 200 OK with an SD State Response in the body @@ -1199,7 +1199,7 @@

                      -
                      Status Codes
                      +
                      Status Codes:
                      • 200 OK – No error

                      • 404 Not Found – If SD support has been disabled in OctoPrint’s config.

                      • @@ -1210,10 +1210,10 @@
                      -

                      Retrieve information about the last error

                      +

                      Retrieve information about the last error

                      -GET /api/printer/error
                      +GET /api/printer/error

                      Retrieves information about the last error that occurred on the printer.

                      Returns a 200 OK with an Error Information in the body upon success.

                      @@ -1258,7 +1258,7 @@
                      -
                      Status Codes
                      +
                      Status Codes:
                      @@ -1268,10 +1268,10 @@
                      -

                      Send an arbitrary command to the printer

                      +

                      Send an arbitrary command to the printer

                      -POST /api/printer/command
                      +POST /api/printer/command

                      Sends any command to the printer via the serial interface. Should be used with some care as some commands can interfere with or even stop a running print job.

                      Expects a Arbitrary Command Request as the request’s body.

                      @@ -1309,13 +1309,13 @@
                      -
                      JSON Parameters
                      +
                      JSON Parameters:
                      • command (string) – Single command to send to the printer, mutually exclusive with commands.

                      • commands (string) – List of commands to send to the printer, mutually exclusive with command.

                      -
                      Status Codes
                      +
                      Status Codes:
                      @@ -1325,10 +1325,10 @@
                      -

                      Retrieve custom controls

                      +

                      Retrieve custom controls

                      -GET /api/printer/command/custom
                      +GET /api/printer/command/custom

                      Retrieves the custom controls as configured in config.yaml.

                      Please refer to the documentation of custom controls on what @@ -1337,7 +1337,7 @@ in the body upon success.

                      Requires the CONTROL permission.

                      -
                      Status Codes
                      +
                      Status Codes:
                      @@ -1347,15 +1347,15 @@
                      -

                      Data model

                      +

                      Data model

                      -

                      Full State Response

                      -

                    Name

                    +

                    Full State Response

                    +
                    ----++++ @@ -1384,13 +1384,13 @@

                    Name

                    -

                    Temperature State

                    - +

                    Temperature State

                    +
                    ----++++ @@ -1421,13 +1421,13 @@

                    Name

                    -

                    SD State

                    - +

                    SD State

                    +
                    ----++++ @@ -1446,13 +1446,13 @@

                    Name

                    -

                    Arbitrary Command Request

                    - +

                    Arbitrary Command Request

                    +
                    ----++++ @@ -1491,13 +1491,13 @@

                    Name

                    -

                    Custom Controls Response

                    - +

                    Custom Controls Response

                    +
                    ----++++ @@ -1516,13 +1516,13 @@

                    Name

                    -

                    Error Information

                    - +

                    Error Information

                    +
                    ----++++ diff --git a/master/api/printerprofiles.html b/master/api/printerprofiles.html index dfb5fdf1a..850e6787c 100644 --- a/master/api/printerprofiles.html +++ b/master/api/printerprofiles.html @@ -1,26 +1,26 @@ - + - + Printer profile operations — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -154,8 +154,8 @@
                    -

                    Printer profile operations

                    -
                    +

                    Printer profile operations

                    +
                    +

                    OctoPrint allows the management of Printer profiles that define a printer’s physical properties (such as print volume, whether a heated bed is available, maximum speeds on its axes etc). The data stored within these profiles is used for both slicing and gcode visualization.

                    -

                    Retrieve all printer profiles

                    +

                    Retrieve all printer profiles

                    -GET /api/printerprofiles
                    +GET /api/printerprofiles

                    Retrieves an object representing all configured printer profiles.

                    Returns a 200 OK with a profile list.

                    Requires the CONNECTION permission.

                    @@ -290,15 +290,15 @@
                    -

                    Retrieve a single printer profile

                    +

                    Retrieve a single printer profile

                    -GET /api/printerprofiles/(string: identifier)
                    +GET /api/printerprofiles/(string: identifier)

                    Retrieves an existing single printer profile.

                    Returns a 200 OK with a profile.

                    Requires the CONNECTION permission.

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Add a new printer profile

                    +

                    Add a new printer profile

                    -POST /api/printerprofiles
                    +POST /api/printerprofiles

                    Adds a new printer profile based on either the current default profile or the profile identified in basedOn.

                    The provided profile data will be merged with the profile data from the @@ -472,10 +472,10 @@

                    -

                    Update an existing printer profile

                    +

                    Update an existing printer profile

                    -PATCH /api/printerprofiles/(string: profile)
                    +PATCH /api/printerprofiles/(string: profile)

                    Updates an existing printer profile by its profile identifier.

                    The updated (potentially partial) profile is expected in the request’s body as part of an Add or update request.

                    @@ -552,10 +552,10 @@
                    -

                    Remove an existing printer profile

                    +

                    Remove an existing printer profile

                    -DELETE /api/printerprofiles/(string: profile)
                    +DELETE /api/printerprofiles/(string: profile)

                    Deletes an existing printer profile by its profile identifier.

                    If the profile to be deleted is the currently selected profile, a 409 Conflict will be returned.

                    @@ -574,15 +574,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Profile list

                    -

                    Name

                    +

                    Profile list

                    +
                    ----++++ @@ -606,13 +606,13 @@

                    Name

                    -

                    Add or update request

                    - +

                    Add or update request

                    +
                    ----++++ @@ -641,13 +641,13 @@

                    Name

                    -

                    Profile

                    - +

                    Profile

                    +
                    ----++++ diff --git a/master/api/push.html b/master/api/push.html index 2111ce435..21a462b01 100644 --- a/master/api/push.html +++ b/master/api/push.html @@ -1,26 +1,26 @@ - + - + Push updates — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -150,14 +150,14 @@
                    -

                    Push updates

                    +

                    Push updates

                    Warning

                    The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

                    -
                    +
                    +

                    To enable real time information exchange between client and server, OctoPrint uses SockJS to push status updates, temperature changes etc to connected web interface instances.

                    @@ -315,15 +315,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    connected payload

                    -

                    Name

                    +

                    connected payload

                    +
                    ----++++ @@ -371,13 +371,13 @@

                    Name

                    -

                    current and history payload

                    - +

                    current and history payload

                    +
                    ----++++ @@ -442,13 +442,13 @@

                    Name

                    -

                    event payload

                    - +

                    event payload

                    +
                    ----++++ @@ -472,13 +472,13 @@

                    Name

                    -

                    slicingProgress payload

                    - +

                    slicingProgress payload

                    +
                    ----++++ diff --git a/master/api/server.html b/master/api/server.html index d689b3db3..88e2d5159 100644 --- a/master/api/server.html +++ b/master/api/server.html @@ -1,26 +1,26 @@ - + - + Server information — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,12 +141,12 @@
                    -

                    Server information

                    +

                    Server information

                    -GET /api/server
                    +GET /api/server
                    -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    Retrieve information regarding server status. Returns a JSON object with two keys, version containing the server version and safemode containing one of settings, incomplete_startup or flag @@ -169,7 +169,7 @@

                    -
                    Status Codes
                    +
                    Status Codes:
                    diff --git a/master/api/settings.html b/master/api/settings.html index 3db2a3eee..266c0bb7a 100644 --- a/master/api/settings.html +++ b/master/api/settings.html @@ -1,26 +1,26 @@ - + - + Settings — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -148,8 +148,8 @@
                    -

                    Settings

                    -
                    +

                    Settings

                    +
                    +
                    -

                    Retrieve current settings

                    +

                    Retrieve current settings

                    -GET /api/settings
                    +GET /api/settings

                    Retrieves the current configuration of OctoPrint.

                    Returns a 200 OK with the current settings as a JSON object in the response body.

                    @@ -178,10 +178,10 @@
                    -

                    Save settings

                    +

                    Save settings

                    -POST /api/settings
                    +POST /api/settings

                    Saves the provided settings in OctoPrint.

                    Expects a JSON object with the settings to change as request body. This can be either a full settings tree, or only a partial tree containing only those fields that should @@ -219,16 +219,16 @@

                    -

                    Regenerate the system wide API key

                    +

                    Regenerate the system wide API key

                    -POST /api/settings/apikey
                    +POST /api/settings/apikey

                    Generates a new system wide API key.

                    Does not expect a body. Will return the generated API key as apikey property in the JSON object contained in the response body.

                    Requires admin rights.

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Fetch template data

                    +

                    Fetch template data

                    -GET /api/settings/templates
                    +GET /api/settings/templates

                    Fetch data (currently only the sorting order) of all registered template components in the system.

                    Use this to get a full list of the identifiers of all UI components provided either by core OctoPrint or any currently active plugins.

                    @@ -488,7 +488,7 @@ me an email to make sure I can give you a heads-up when something changes in an backwards incompatible way.

                    -
                    Status Codes
                    +
                    Status Codes:

                    Name

                    ---- diff --git a/master/api/slicing.html b/master/api/slicing.html index 2e3997ec3..689f7e5e2 100644 --- a/master/api/slicing.html +++ b/master/api/slicing.html @@ -1,26 +1,26 @@ - + - + Slicing — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -157,14 +157,14 @@
                    -

                    Slicing

                    +

                    Slicing

                    Warning

                    The interface documented here is the status quo that might be changed while the interfaces are streamlined for a more general consumption. If you happen to want to develop against it, you should drop me an email to make sure I can give you a heads-up when something changes.

                    -
                    +
                    +

                    The Slicing API on one hand offers methods for managing slicing profiles stored within OctoPrint, on the other hand it will be extended in the future to also allow for multi extruder slicing (which currently is not possible with the slice command of the File operations API and other things.

                    -

                    List All Slicers and Slicing Profiles

                    +

                    List All Slicers and Slicing Profiles

                    -GET /api/slicing
                    +GET /api/slicing

                    Returns a list of all available slicing profiles for all registered slicers in the system.

                    Returns a 200 OK response with a Slicer list as the body upon successful completion.

                    @@ -233,7 +233,7 @@
                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -243,10 +243,10 @@
                    -

                    List Slicing Profiles of a Specific Slicer

                    +

                    List Slicing Profiles of a Specific Slicer

                    -GET /api/slicing/(string: slicer)/profiles
                    +GET /api/slicing/(string: slicer)/profiles

                    Returns a list of all available slicing profiles for the requested slicer.

                    Returns a 200 OK response with a Profile list as the body upon successful completion.

                    @@ -277,12 +277,12 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • slicer – The identifying key of the slicer for which to list the available profiles.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 404 Not Found – If the slicer was unknown to the system or not yet configured.

                    • @@ -293,10 +293,10 @@
                    -

                    Retrieve Specific Profile

                    +

                    Retrieve Specific Profile

                    -GET /api/slicing/(string: slicer)/profiles/(string: key)
                    +GET /api/slicing/(string: slicer)/profiles/(string: key)

                    Retrieves the specified profile from the system.

                    Returns a 200 OK response with a full Profile as the body upon successful completion.

                    @@ -326,13 +326,13 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • slicer – The identifying key of the slicer for which to list the available profiles.

                    • name – The identifying key of the profile to retrieve

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 404 Not Found – If the slicer or the profile key was unknown to the system.

                    • @@ -343,10 +343,10 @@
                    -

                    Add Slicing Profile

                    +

                    Add Slicing Profile

                    -PUT /api/slicing/(string: slicer)/profiles/(string: key)
                    +PUT /api/slicing/(string: slicer)/profiles/(string: key)

                    Adds a new slicing profile for the given slicer to the system. If the profile identified by key already exists, it will be overwritten.

                    Expects a Profile as body.

                    @@ -381,13 +381,13 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • slicer – The identifying key of the slicer for which to add the profile

                    • key – The identifying key of the new profile

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Update Slicing Profile

                    +

                    Update Slicing Profile

                    -PATCH /api/slicing/(string: slicer)/profiles/(string: key)
                    +PATCH /api/slicing/(string: slicer)/profiles/(string: key)

                    Updates the slicing profile identified by key for the slicer slicer.

                    Expects a profile update request as body.

                    Returns a 201 Created and an abridged Profile in the body upon successful completion.

                    Requires the SETTINGS permission.

                    -
                    Parameters
                    +
                    Parameters:
                    • slicer – The identifying key of the slicer for which to update the profile

                    • key – The identifying key of the profile to update

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • data – New profile overrides to apply

                    • displayName – New display name

                    • @@ -422,7 +422,7 @@
                    • default – Whether to make the profile default (true) or not (false) for the slicer

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Delete Slicing Profile

                    +

                    Delete Slicing Profile

                    -DELETE /api/slicing/(string: slicer)/profiles/(string: key)
                    +DELETE /api/slicing/(string: slicer)/profiles/(string: key)

                    Delete the slicing profile identified by key for the slicer slicer. If the profile doesn’t exist, the request will succeed anyway.

                    Requires the SETTINGS permission.

                    -
                    Parameters
                    +
                    Parameters:
                    • slicer – The identifying key of the slicer for which to delete the profile

                    • key – The identifying key of the profile to delete

                    -
                    Status Codes
                    +
                    Status Codes:
                    -

                    Data model

                    +

                    Data model

                    -

                    Slicer list

                    -

                    Field

                    Notes

                    +

                    Slicer list

                    +
                    ----++++ @@ -485,13 +485,13 @@

                    Name

                    -

                    Slicer

                    - +

                    Slicer

                    +
                    ----++++ @@ -531,13 +531,13 @@

                    Name

                    -

                    Profile list

                    - +

                    Profile list

                    +
                    ----++++ @@ -556,13 +556,13 @@

                    Name

                    -

                    Profile

                    - +

                    Profile

                    +
                    ----++++ @@ -609,13 +609,13 @@

                    Name

                    -

                    Profile Update Request

                    - +

                    Profile Update Request

                    +
                    ----++++ diff --git a/master/api/system.html b/master/api/system.html index 824af2ac4..aa8941e02 100644 --- a/master/api/system.html +++ b/master/api/system.html @@ -1,26 +1,26 @@ - + - + System — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -152,16 +152,16 @@
                    -

                    System

                    +

                    System

                    Note

                    All system operations require the SYSTEM permission.

                    -

                    List all registered system commands

                    +

                    List all registered system commands

                    -GET /api/system/commands
                    +GET /api/system/commands

                    Retrieves all configured system commands.

                    A 200 OK with a List all response will be returned.

                    @@ -204,7 +204,7 @@
                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -214,10 +214,10 @@
                    -

                    List all registered system commands for a source

                    +

                    List all registered system commands for a source

                    -GET /api/system/commands/(string: source)
                    +GET /api/system/commands/(string: source)

                    Retrieves the configured system commands for the specified source.

                    The response will contain a list of command definitions.

                    Example

                    @@ -255,12 +255,12 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • source – The source for which to list commands, currently either core or custom

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 404 Not Found – If a source other than core or custom is specified.

                    • @@ -271,10 +271,10 @@
                    -

                    Execute a registered system command

                    +

                    Execute a registered system command

                    -POST /api/system/commands/(string: source)/(string: action)
                    +POST /api/system/commands/(string: source)/(string: action)

                    Execute the system command action defined in source.

                    Example

                    Restart OctoPrint via the core system command restart (which is available if the server @@ -288,13 +288,13 @@

                    -
                    Parameters
                    +
                    Parameters:
                    • source – The source for which to list commands, currently either core or custom

                    • action – The identifier of the command, action from its definition

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 204 No Content – No error

                    • 400 Bad Request – If a divider is supposed to be executed or if the request is malformed otherwise

                    • @@ -308,15 +308,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    List all response

                    -

                    Name

                    +

                    List all response

                    +
                    ----++++ @@ -340,15 +340,15 @@

                    Name

                    -

                    Client command definitions

                    +

                    Client command definitions

                    A restricted form of the full command definition. For exposing via the API.

                    - +
                    ----++++ @@ -390,14 +390,14 @@

                    Name

                    -

                    Command definition

                    +

                    Command definition

                    The full command definition is not available via the API.

                    - +
                    ----++++ diff --git a/master/api/timelapse.html b/master/api/timelapse.html index 118d79cb7..6657f91d4 100644 --- a/master/api/timelapse.html +++ b/master/api/timelapse.html @@ -1,26 +1,26 @@ - + - + Timelapse — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -155,8 +155,8 @@
                    -

                    Timelapse

                    -
                    +

                    Timelapse

                    +
                    +
                    -

                    Retrieve a list of timelapses and the current config

                    +

                    Retrieve a list of timelapses and the current config

                    -GET /api/timelapse
                    +GET /api/timelapse

                    Retrieves a list of timelapses and the current config.

                    Returns a timelapse list in the response body.

                    Requires the TIMELAPSE_LIST permission.

                    -
                    Parameters
                    +
                    Parameters:
                    • unrendered – If provided and true, also include unrendered timelapses

                    @@ -203,16 +203,16 @@
                    -

                    Delete a timelapse

                    +

                    Delete a timelapse

                    -DELETE /api/timelapse/(string: name)
                    +DELETE /api/timelapse/(string: name)

                    Delete the timelapse name.

                    Returns a timelapse list in the response body with the updated information.

                    Requires the TIMELAPSE_DELETE permission.

                    -
                    Parameters
                    +
                    Parameters:
                    • unrendered – If provided and true, also include unrendered timelapses in the response

                    @@ -222,15 +222,15 @@
                    -

                    Issue a command for an unrendered timelapse

                    +

                    Issue a command for an unrendered timelapse

                    -POST /api/timelapse/unrendered/(string: name)
                    +POST /api/timelapse/unrendered/(string: name)

                    Current only supports to render the unrendered timelapse name via the render command.

                    Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • command – The command to issue, currently only render is supported

                    @@ -240,16 +240,16 @@
                    -

                    Delete an unrendered timelapse

                    +

                    Delete an unrendered timelapse

                    -DELETE /api/timelapse/unrendered/(string: name)
                    +DELETE /api/timelapse/unrendered/(string: name)

                    Delete the unrendered timelapse name.

                    Returns a timelapse list in the response body.

                    Requires the TIMELAPSE_MANAGE_UNRENDERED permission.

                    -
                    Parameters
                    +
                    Parameters:
                    • unrendered – If provided and true, also include unrendered timelapses in the response

                    @@ -259,10 +259,10 @@
                    -

                    Change current timelapse config

                    +

                    Change current timelapse config

                    -POST /api/timelapse
                    +POST /api/timelapse

                    Save a new timelapse configuration to use for the next print. Set the optional save flag in the configuration to true in order to make the new configuration persist across restarts.

                    The configuration is expected as the request body.

                    @@ -270,7 +270,7 @@ response body.

                    Requires the TIMELAPSE_ADMIN permission.

                    -
                    Parameters
                    +
                    Parameters:
                    • unrendered – If provided and true, also include unrendered timelapses in the response

                    @@ -280,15 +280,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Timelapse list

                    -

                    Name

                    +

                    Timelapse list

                    +
                    ----++++ @@ -317,13 +317,13 @@

                    Name

                    -

                    Rendered timelapse

                    - +

                    Rendered timelapse

                    +
                    ----++++ @@ -367,13 +367,13 @@

                    Name

                    -

                    Unrendered timelapse

                    - +

                    Unrendered timelapse

                    +
                    ----++++ @@ -422,13 +422,13 @@

                    Name

                    -

                    Timelapse configuration

                    - +

                    Timelapse configuration

                    +
                    ----++++ @@ -452,14 +452,14 @@

                    Name

                    Further fields are timelapse type specific, see below for details.

                    -

                    Z-change-triggered timelapse

                    +

                    Z-change-triggered timelapse

                    For timelapse type zchange.

                    - +
                    ----++++ @@ -493,14 +493,14 @@

                    Name

                    -

                    Time triggered timelapse

                    +

                    Time triggered timelapse

                    For timelapse type timed.

                    - +
                    ----++++ diff --git a/master/api/util.html b/master/api/util.html index ec0db8ec6..a16152170 100644 --- a/master/api/util.html +++ b/master/api/util.html @@ -1,26 +1,26 @@ - + - + Util — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -152,12 +152,12 @@
                    -

                    Util

                    +

                    Util

                    -

                    Various tests

                    +

                    Various tests

                    -POST /api/util/test
                    +POST /api/util/test

                    Provides commands to test paths or URLs for correctness.

                    Used by OctoPrint to validate paths or URLs that the user needs to enter in the settings.

                    @@ -497,7 +497,7 @@
                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • command – The command to execute, currently either path or url

                    • pathpath command only: the path to test

                    • @@ -519,7 +519,7 @@
                    • addressaddress command only: the address to test

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error occurred

                    @@ -529,15 +529,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Path test result

                    -

                    Name

                    +

                    Path test result

                    +
                    ----++++ @@ -576,13 +576,13 @@

                    Name

                    -

                    URL test result

                    - +

                    URL test result

                    +
                    ----++++ @@ -624,13 +624,13 @@

                    Name

                    -

                    Server test result

                    - +

                    Server test result

                    +
                    ----++++ @@ -664,13 +664,13 @@

                    Name

                    -

                    Resolution test result

                    - +

                    Resolution test result

                    +
                    ----++++ @@ -694,13 +694,13 @@

                    Name

                    -

                    Address test result

                    - +

                    Address test result

                    +
                    ----++++ diff --git a/master/api/version.html b/master/api/version.html index 6be5bed95..018e68284 100644 --- a/master/api/version.html +++ b/master/api/version.html @@ -1,26 +1,26 @@ - + - + Version information — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,10 +141,10 @@
                    -

                    Version information

                    +

                    Version information

                    -GET /api/version
                    +GET /api/version

                    Retrieve information regarding server and API version. Returns a JSON object with three keys, api containing the API version, server containing the server version, text containing the server version including the prefix OctoPrint (to determine that this is indeed a genuine OctoPrint instance).

                    @@ -166,7 +166,7 @@
                    -
                    Status Codes
                    +
                    Status Codes:
                    diff --git a/master/api/wizard.html b/master/api/wizard.html index 5f638cffe..80e7e7106 100644 --- a/master/api/wizard.html +++ b/master/api/wizard.html @@ -1,26 +1,26 @@ - + - + Wizard — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -149,12 +149,12 @@
                    -

                    Wizard

                    +

                    Wizard

                    Note

                    All wizard operations require either the ADMIN permission or the firstRun flag to be true.

                    -
                    +
                    +
                    -

                    Retrieve additional data about registered wizards

                    +

                    Retrieve additional data about registered wizards

                    -GET /setup/wizard
                    +GET /setup/wizard

                    Retrieves additional data about the registered wizards.

                    Returns a 200 OK with an object mapping wizard identifiers to wizard data entries.

                    -

                    Finish wizards

                    +

                    Finish wizards

                    -POST /setup/wizard
                    +POST /setup/wizard

                    Inform wizards that the wizard dialog has been finished.

                    Expects a JSON request body containing a property handled which holds a list of wizard identifiers which were handled (not skipped) in the wizard dialog.

                    @@ -192,7 +192,7 @@ supplying the information whether the wizard plugin’s identifier was within the list of handled wizards or not.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • handled – A list of handled wizards

                    @@ -202,15 +202,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Wizard data entry

                    -

                    Name

                    +

                    Wizard data entry

                    +
                    ----++++ diff --git a/master/bundledplugins/action_command_notification.html b/master/bundledplugins/action_command_notification.html index e4d5dd3ca..4e16c5c95 100644 --- a/master/bundledplugins/action_command_notification.html +++ b/master/bundledplugins/action_command_notification.html @@ -1,26 +1,26 @@ - + - + Action Command Notification support — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -143,9 +143,9 @@
                    -

                    Action Command Notification support

                    +

                    Action Command Notification support

                    -

                    New in version 1.4.1.

                    +

                    Added in version 1.4.1.

                    The OctoPrint Action Command Notification Support Plugin comes bundled with OctoPrint.

                    It allows firmware to trigger notifications users with the PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW permission @@ -155,11 +155,11 @@

                    Simple notification example
                    -

                    Fig. 5 A simple notification example triggered by the firmware

                    +

                    Fig. 5 A simple notification example triggered by the firmware

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -170,21 +170,21 @@

                      You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

                    -

                    Supported action commands

                    +

                    Supported action commands

                    notification <message>

                    Displays the notification <message>

                    -

                    Example communication with the firmware

                    +

                    Example communication with the firmware

                    To display the above notification the firmware sent this action command:

                    //action:notification Hello World!
                     
                    -

                    Source code

                    +

                    Source code

                    The source of the Action Command Prompt Notification plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_notification.

                    diff --git a/master/bundledplugins/action_command_prompt.html b/master/bundledplugins/action_command_prompt.html index ad7fd7ea4..5309a6451 100644 --- a/master/bundledplugins/action_command_prompt.html +++ b/master/bundledplugins/action_command_prompt.html @@ -1,26 +1,26 @@ - + - + Action Command Prompt support — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -143,9 +143,9 @@
                    -

                    Action Command Prompt support

                    +

                    Action Command Prompt support

                    -

                    New in version 1.3.9.

                    +

                    Added in version 1.3.9.

                    The OctoPrint Action Command Prompt Support Plugin comes bundled with OctoPrint.

                    It allows firmware to trigger dialog prompts for logged in users using action commands, e.g. to wait @@ -156,11 +156,11 @@

                    Simple prompt example
                    -

                    Fig. 6 A simple dialog example triggered by the firmware

                    +

                    Fig. 6 A simple dialog example triggered by the firmware

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -176,7 +176,7 @@

                      You can modify them either through the plugin’s configuration dialog under Settings, or by directly editing config.yaml.

                    -

                    Supported action commands

                    +

                    Supported action commands

                    prompt_begin <message>

                    Starts the definition of a prompt dialog. <message> is the message to display to the user. Will be ignored if a dialog is already defined.

                    @@ -194,7 +194,7 @@
                    -

                    Example communication with the firmware

                    +

                    Example communication with the firmware

                    To display the above dialog the firmware sent these action commands:

                    //action:prompt_begin Filament unloaded, swap then proceed
                     //action:prompt_choice Filament swapped
                    @@ -214,13 +214,13 @@
                     
                    Another prompt example
                    -

                    Fig. 7 Another dialog example triggered by the firmware

                    +

                    Fig. 7 Another dialog example triggered by the firmware

                    If the user selects “Abort print”, OctoPrint will send 2 as selected choice.

                    -

                    Source code

                    +

                    Source code

                    The source of the Action Command Prompt Support plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/action_command_prompt.

                    diff --git a/master/bundledplugins/announcements.html b/master/bundledplugins/announcements.html index 417ab9a97..1cfa4d5fc 100644 --- a/master/bundledplugins/announcements.html +++ b/master/bundledplugins/announcements.html @@ -1,26 +1,26 @@ - + - + Announcement Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,9 +141,9 @@
                    -

                    Announcement Plugin

                    +

                    Announcement Plugin

                    -

                    New in version 1.2.11.

                    +

                    Added in version 1.2.11.

                    The OctoPrint Announcement Plugin comes bundled with OctoPrint.

                    It displays announcements fetched from OctoPrint’s websites, such as important updates, release announcements, new @@ -152,23 +152,23 @@

                    Example notification
                    -

                    Fig. 8 An example notification from the Announcement Plugin.

                    +

                    Fig. 8 An example notification from the Announcement Plugin.

                    Announcement reader
                    -

                    Fig. 9 The Announcement Plugin’s reader dialog.

                    +

                    Fig. 9 The Announcement Plugin’s reader dialog.

                    Announcement settings
                    -

                    Fig. 10 The Announcement Plugin’s settings dialog.

                    +

                    Fig. 10 The Announcement Plugin’s settings dialog.

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin allows enabling and disabling the preconfigured announcement channels via its settings dialog.

                    On top of that it’s possible to add additional announcement channels (as RSS or Atom feed URLs) or change the configuration of the existing channels through config.yaml.

                    @@ -195,7 +195,7 @@
                    -

                    Source code

                    +

                    Source code

                    The source of the Announcement plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/announcements.

                    diff --git a/master/bundledplugins/appkeys.html b/master/bundledplugins/appkeys.html index a8b9eb778..37d426a8f 100644 --- a/master/bundledplugins/appkeys.html +++ b/master/bundledplugins/appkeys.html @@ -1,26 +1,26 @@ - + - + Application Keys Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -176,9 +176,9 @@
                    -

                    Application Keys Plugin

                    +

                    Application Keys Plugin

                    -

                    New in version 1.3.10.

                    +

                    Added in version 1.3.10.

                    The OctoPrint Application Keys Plugin comes bundled with OctoPrint.

                    It implements a workflow for third party apps or clients to obtain an application specific API key from OctoPrint to interact with it @@ -187,23 +187,23 @@

                    Confirmation
                    -

                    Fig. 11 The plugin’s confirmation generated for a new application key request.

                    +

                    Fig. 11 The plugin’s confirmation generated for a new application key request.

                    Key management via user settings
                    -

                    Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

                    +

                    Fig. 12 Users can manage the application specific API keys registered to their account via their user settings.

                    Global key management via settings
                    -

                    Fig. 13 Administrators can manage all application specific API keys registered to any user.

                    +

                    Fig. 13 Administrators can manage all application specific API keys registered to any user.

                    -

                    Workflow

                    +

                    Workflow

                    The workflow to receive an API key for a third party client/an app via the Application Keys Plugin should consist of the following steps:

                    @@ -285,9 +285,9 @@ end

                    -

                    Workflow with redirect to auth dialog

                    +

                    Workflow with redirect to auth dialog

                    -

                    New in version 1.8.0.

                    +

                    Added in version 1.8.0.

                    Instead of asking the user to open the full blown OctoPrint interface to confirm the request, since OctoPrint 1.8.0 there also exists the alternative of redirecting the user to a @@ -375,17 +375,17 @@ end

                    -

                    API

                    +

                    API

                    -

                    Probe for workflow support

                    +

                    Probe for workflow support

                    -GET /plugin/appkeys/probe
                    +GET /plugin/appkeys/probe

                    Probes for support of the workflow.

                    Normally returns an HTTP 204 No Content, indicating workflow availability. If a different status code is returned (usually an HTTP 404 Not Found), the plugin is disabled or not installed. Fall back to manual api key exchange.

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -395,10 +395,10 @@
                    -

                    Start authorization process

                    +

                    Start authorization process

                    -POST /plugin/appkeys/request
                    +POST /plugin/appkeys/request

                    Starts the authorization process.

                    Expects a Authorization request as request body.

                    The app parameter should be a human readable identifier to use @@ -412,13 +412,13 @@

                    Returns a Authorization response and HTTP 201 Created with the Location header set to the endpoint to poll for a decision.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • app – application identifier to use for the request, case insensitive

                    • user – optional user id to restrict the decision to the specified user

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 201 Created – authorization process started, polling URL to query can be found in Location header

                    @@ -428,10 +428,10 @@
                    -

                    Poll for decision on existing request

                    +

                    Poll for decision on existing request

                    -GET /plugin/appkeys/request/<str:app_token>
                    +GET /plugin/appkeys/request/<str:app_token>

                    Endpoint generated per authorization request to poll for the result.

                    Returns an HTTP 202 Accepted while no decision has been made yet, an HTTP 200 OK and a Key response if access has been granted and an @@ -442,7 +442,7 @@ for more than 5s.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – access granted, API key in response body

                    • 202 Accepted – no decision has been made yet, continue polling

                    • @@ -454,21 +454,21 @@
                    -

                    Decide on existing request

                    +

                    Decide on existing request

                    -POST /plugin/appkeys/decision/<str:user_token>
                    +POST /plugin/appkeys/decision/<str:user_token>

                    Endpoint to decide on the authorization request.

                    Expects a Decision request as request body.

                    Returns an HTTP 204 No Content on success.

                    Requires the PLUGIN_APPKEYS_GRANT permissions and a recent credentials check.

                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • decision – boolean value to indicate whether to confirm (True) or deny (False) access

                    -
                    Status Codes
                    +
                    Status Codes:
                    @@ -478,10 +478,10 @@
                    -

                    Fetch list of existing application keys

                    +

                    Fetch list of existing application keys

                    -GET /api/plugin/appkeys
                    +GET /api/plugin/appkeys

                    Fetches a list of existing application keys and pending requests registered in the system for the current user.

                    If the additional optional parameter all is provided and the user has the PLUGIN_APPKEYS_ADMIN permission, fetches a list of all* application keys and pending requests registered in the system for any user.

                    @@ -491,7 +491,7 @@

                    Returns a 200 OK with a List response in the body upon success.

                    -
                    Query Parameters
                    +
                    Query Parameters:
                    • all – Fetch all application keys and pending requests from all users. Requires the PLUGIN_APPKEYS_ADMIN permission.

                    @@ -501,10 +501,10 @@
                    -

                    Issue an application key command

                    +

                    Issue an application key command

                    -POST /api/plugin/appkeys
                    +POST /api/plugin/appkeys

                    Application key commands allow revoking existing application keys and manually generating new ones. The available commands are:

                    @@ -581,7 +581,7 @@
                    -
                    JSON Parameters
                    +
                    JSON Parameters:
                    • command (string) – The command to issue, either revoke or generate

                    • app (string) – revoke & generate commands: The application identifier of the key to revoke or generate.

                    • @@ -591,7 +591,7 @@ as of OctoPrint 1.10.0. Use app and optionally user instead.

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – Key generation successful

                    • 204 No Content – No error during key revocation

                    • @@ -604,15 +604,15 @@
                      -

                      Data model

                      +

                      Data model

                      -

                      Authorization request

                      -

                    Name

                    +

                    Authorization request

                    +
                    ----++++ @@ -636,13 +636,13 @@

                    Name

                    -

                    Authorization response

                    - +

                    Authorization response

                    +
                    ----++++ @@ -667,13 +667,13 @@

                    Name

                    -

                    Key response

                    - +

                    Key response

                    +
                    ----++++ @@ -692,13 +692,13 @@

                    Name

                    -

                    Decision request

                    - +

                    Decision request

                    +
                    ----++++ @@ -717,13 +717,13 @@

                    Name

                    -

                    List response

                    - +

                    List response

                    +
                    ----++++ @@ -747,13 +747,13 @@

                    Name

                    -

                    Key list entry

                    - +

                    Key list entry

                    +
                    ----++++ @@ -782,13 +782,13 @@

                    Name

                    -

                    Pending list entry

                    - +

                    Pending list entry

                    +
                    ----++++ @@ -818,22 +818,22 @@
                    -

                    JavaScript Client Library

                    +

                    JavaScript Client Library

                    -OctoPrintClient.plugins.appkeys.getKey(app, user, opts)
                    +OctoPrintClient.plugins.appkeys.getKey(app, user, opts)

                    Retrieves the key information the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

                    See Fetch list of existing application keys for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • app (string()) – Application identifier

                    • user (string()) – Optional user identifier

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -841,16 +841,16 @@
                    -OctoPrintClient.plugins.appkeys.getKeys(opts)
                    +OctoPrintClient.plugins.appkeys.getKeys(opts)

                    Retrieves registered keys and pending requests for the current user.

                    See Fetch list of existing application keys for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -858,17 +858,17 @@
                    -OctoPrintClient.plugins.appkeys.getAllKeys(opts)
                    +OctoPrintClient.plugins.appkeys.getAllKeys(opts)

                    Retrieves registered keys and pending requests for all users.

                    Needs the PLUGIN_APPKEYS_ADMIN permission.

                    See Fetch list of existing application keys for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -876,17 +876,17 @@
                    -OctoPrintClient.plugins.appkeys.generateKey(app, opts)
                    +OctoPrintClient.plugins.appkeys.generateKey(app, opts)

                    Generates a key for the given app and the current user.

                    See Issue an application key command for details.

                    -
                    Arguments
                    +
                    Arguments:
                    • app (string()) – Application identifier

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -894,7 +894,7 @@
                    -OctoPrintClient.plugins.appkeys.revokeKey(key, opts)
                    +OctoPrintClient.plugins.appkeys.revokeKey(key, opts)

                    Revokes the given key. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

                    See Issue an application key command for details.

                    @@ -902,13 +902,13 @@

                    Deprecated since version 1.10.0: revokeKey has been deprecated. Use revokeKeyForApp instead.

                    -
                    Arguments
                    +
                    Arguments:
                    • key (string()) – Key to revoke

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -916,19 +916,19 @@
                    -OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)
                    +OctoPrintClient.plugins.appkeys.revokeKeyForApp(app, user, opts)

                    Revokes the key for the given app and optional other user. The key must belong to the current user, or the current user must have the PLUGIN_APPKEYS_ADMIN permission.

                    See Issue an application key command for details.

                    -
                    Arguments
                    +
                    Arguments:
                    • app (string()) – Application identifier

                    • user (string()) – Optional user identifier

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -936,18 +936,18 @@
                    -OctoPrintClient.plugins.appkeys.decide(token, decision, opts)
                    +OctoPrintClient.plugins.appkeys.decide(token, decision, opts)

                    Decides on an existing authorization request.

                    See Decide on existing request for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • token (string()) – User token for which to make the decision, as pushed to the client via the socket.

                    • decision (boolean()) – Whether to grant access (true) or not (false).

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -955,16 +955,16 @@
                    -OctoPrintClient.plugins.appkeys.probe(opts)
                    +OctoPrintClient.plugins.appkeys.probe(opts)

                    Probes for workflow support.

                    See Probe for workflow support for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -972,16 +972,16 @@
                    -OctoPrintClient.plugins.appkeys.request(app, opts)
                    +OctoPrintClient.plugins.appkeys.request(app, opts)

                    Starts a new authorization request for the provided app identifier.

                    See Start authorization process for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -989,16 +989,16 @@
                    -OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)
                    +OctoPrintClient.plugins.appkeys.requestForUser(app, user, opts)

                    Starts a new authorization request for the provided app and user identifiers.

                    See Start authorization process for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -1006,16 +1006,16 @@
                    -OctoPrintClient.plugins.appkeys.checkDecision(token, opts)
                    +OctoPrintClient.plugins.appkeys.checkDecision(token, opts)

                    Polls for a decision on an existing authorization request identified by token.

                    See Poll for decision on existing request for more details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -1023,7 +1023,7 @@
                    -OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)
                    +OctoPrintClient.plugins.appkeys.authenticate(app, user, opts)

                    Convenience function that probes for support, issues a request and then automatically starts polling for a decision on the returned polling endpoint every 1s, until either a positive or negative decision is returned. On success the returned promise is resolved with the generated API key as argument. If anything goes wrong or there is no support @@ -1039,14 +1039,14 @@

                    -
                    Arguments
                    +
                    Arguments:
                    • app (string()) – Application identifier

                    • user (string()) – Optional user identifier

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -1054,7 +1054,7 @@
                    -

                    Source code

                    +

                    Source code

                    The source of the Application Keys plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/appkeys.

                    diff --git a/master/bundledplugins/backup.html b/master/bundledplugins/backup.html index 702c7d6c6..0eac03350 100644 --- a/master/bundledplugins/backup.html +++ b/master/bundledplugins/backup.html @@ -1,26 +1,26 @@ - + - + Backup Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -156,26 +156,26 @@
                    -

                    Backup Plugin

                    +

                    Backup Plugin

                    -

                    New in version 1.3.10.

                    +

                    Added in version 1.3.10.

                    The OctoPrint Backup Plugin comes bundled with OctoPrint (starting with 1.3.10).

                    -

                    It allows the creation and restoration 4 of backups of OctoPrint’s settings, data and installed plugins 5 -(but doesn’t restore the same plugins versions 6).

                    +

                    It allows the creation and restoration [4] of backups of OctoPrint’s settings, data and installed plugins [5] +(but doesn’t restore the same plugins versions [6]).

                    This allows easy migration to newly setup instances as well as making regular backups to prevent data loss.

                    OctoPrint Backup Plugin
                    -

                    Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

                    +

                    Fig. 14 The plugin’s settings panel with existing backups, the backup creation and restore sections.

                    As long as plugins adhere to the standard of storing their data and settings in OctoPrint’s plugin data folders, their data will be part of the backup. Note that the backups made by the Backup Plugin will not be part of any backups - you’ll need to persist the resulting zip files yourself!

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -188,7 +188,7 @@
                    -

                    Command line usage

                    +

                    Command line usage

                    The Backup Plugin implements a command line interface that allows creation and restoration of backups. It adds two new commands, backup:backup and backup:restore.

                    $ octoprint plugins backup:backup --help
                    @@ -220,7 +220,7 @@
                     
                    -

                    Events

                    +

                    Events

                    Events will not be triggered by CLI operations.

                    plugin_backup_backup_created

                    A new backup was created. On the push socket only available with a valid login session with Backup Access @@ -234,20 +234,20 @@

                    -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    -

                    Hooks

                    +

                    Hooks

                    -

                    octoprint.plugin.backup.additional_excludes

                    +

                    octoprint.plugin.backup.additional_excludes

                    -additional_excludes_hook(excludes, *args, **kwargs)
                    +additional_excludes_hook(excludes, *args, **kwargs)
                    -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    Use this to provide additional paths on your plugin’s data folder to exclude from the backup. Your handler also get a list of currently excluded sub paths in the base folder, so you can react to them. E.g. exclude things @@ -304,13 +304,13 @@

                    -
                    Parameters
                    +
                    Parameters:

                    list (excludes) – A list of paths already flagged as excluded in the backup

                    -
                    Returns
                    +
                    Returns:

                    A list of paths to exclude, relative to your plugin’s data folder

                    -
                    Return type
                    +
                    Return type:

                    list

                    @@ -318,29 +318,29 @@
                    -

                    octoprint.plugin.backup.before_backup

                    +

                    octoprint.plugin.backup.before_backup

                    -before_backup_hook(*args, **kwargs)
                    +before_backup_hook(*args, **kwargs)
                    -

                    New in version 1.9.0.

                    +

                    Added in version 1.9.0.

                    Use this to perform actions right before a backup is created.

                    -

                    octoprint.plugin.backup.after_backup

                    +

                    octoprint.plugin.backup.after_backup

                    -after_backup_hook(error=False, *args, **kwargs)
                    +after_backup_hook(error=False, *args, **kwargs)
                    -

                    New in version 1.9.0.

                    +

                    Added in version 1.9.0.

                    Use this to perform actions right after a backup was created or backup creation failed. The error parameter will be set to True if the backup creation failed.

                    -
                    Parameters
                    +
                    Parameters:

                    bool (error) – Whether the backup creation failed or not

                    @@ -348,29 +348,29 @@
                    -

                    octoprint.plugin.backup.before_restore

                    +

                    octoprint.plugin.backup.before_restore

                    -before_restore_hook(*args, **kwargs)
                    +before_restore_hook(*args, **kwargs)
                    -

                    New in version 1.9.0.

                    +

                    Added in version 1.9.0.

                    Use this to perform actions right before a backup is restored.

                    -

                    octoprint.plugin.backup.after_restore

                    +

                    octoprint.plugin.backup.after_restore

                    -after_restore_hook(error=False, *args, **kwargs)
                    +after_restore_hook(error=False, *args, **kwargs)
                    -

                    New in version 1.9.0.

                    +

                    Added in version 1.9.0.

                    Use this to perform actions right after a backup was restored or backup restoration failed. The error parameter will be set to True if the backup restoration failed.

                    -
                    Parameters
                    +
                    Parameters:

                    bool (error) – Whether the backup restoration failed or not

                    @@ -379,16 +379,16 @@
                    -

                    Helpers

                    +

                    Helpers

                    The Backup plugin exports two helpers that can be used by other plugins or internal methods from within OctoPrint, without going via the API.

                    -

                    create_backup

                    +

                    create_backup

                    -octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
                    +octoprint.plugins.backup.BackupPlugin.create_backup_helper(self, exclude=None, filename=None)
                    -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    Create a backup from a plugin or other internal call

                    This helper is exported as create_backup and can be used from the plugin @@ -405,7 +405,7 @@

                    By using the if helpers [...] clause, plugins can fall back to other methods when they are running under versions where these helpers did not exist.

                    -
                    Parameters
                    +
                    Parameters:
                    • exclude (list) – Names of data folders to exclude, defaults to None

                    • filename (str) – Name of backup to be created, if None (default) the backup @@ -417,12 +417,12 @@

                    -

                    delete_backup

                    +

                    delete_backup

                    -octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
                    +octoprint.plugins.backup.BackupPlugin.delete_backup_helper(self, filename)
                    -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    Delete the specified backup from a plugin or other internal call

                    This helper is exported as delete_backup and can be used through the plugin @@ -445,7 +445,7 @@ for example the name from the events or other helpers.

                    -
                    Parameters
                    +
                    Parameters:

                    filename (str) – The name of the backup to delete

                    @@ -454,24 +454,27 @@
                    -

                    Source code

                    +

                    Source code

                    The source of the Backup plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/backup.

                    -
                    -
                    4
                    -

                    Note that restore is currently unavailable on OctoPrint servers running on Windows. Additionally they may be +

                    -
                    5
                    -

                    Note that only those plugins that are available on OctoPrint’s official plugin repository + +

                    -
                    6
                    -

                    Note that the restore process will install the latest possible versions of the plugins instead of the version that was installed at backup + +

                    -
                    + +
                    diff --git a/master/bundledplugins/discovery.html b/master/bundledplugins/discovery.html index 595eb2657..a1996a6eb 100644 --- a/master/bundledplugins/discovery.html +++ b/master/bundledplugins/discovery.html @@ -1,26 +1,26 @@ - + - + Discovery Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -150,9 +150,9 @@
                    -

                    Discovery Plugin

                    +

                    Discovery Plugin

                    -

                    New in version 1.2.0.

                    +

                    Added in version 1.2.0.

                    The OctoPrint Discovery Plugin comes bundled with OctoPrint.

                    It allows discovery of the OctoPrint instances via SSDP/UPNP and ZeroConf @@ -169,11 +169,11 @@

                    OctoPrint instances in Windows Explorer
                    -

                    Fig. 15 Various discovered OctoPrint instances in Windows Explorer

                    +

                    Fig. 15 Various discovered OctoPrint instances in Windows Explorer

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -211,7 +211,7 @@
                    -

                    Further ZeroConf Services

                    +

                    Further ZeroConf Services

                    The configuration also allows specifying additional ZeroConf service OctoPrint should announce itself as. Each entry supports the following fields:

                    @@ -227,7 +227,7 @@
                    -

                    Example

                    +

                    Example

                    The following snippet is a valid configuration example for the discovery plugin in OctoPrint’s config.yaml:

                    plugins:
                    @@ -250,16 +250,16 @@
                     
                    -

                    Announced Services

                    +

                    Announced Services

                    -

                    ZeroConf Service _http._tcp

                    +

                    ZeroConf Service _http._tcp

                    OctoPrint will announce itself on the network via ZeroConf as service _http._tcp, with the TXT record containing the standard fields.

                    See also this documentation of _http._tcp TXT records for more information.

                    -

                    ZeroConf Service _octoprint._tcp

                    +

                    ZeroConf Service _octoprint._tcp

                    OctoPrint will announce itself on the network via ZeroConf as service _octoprint._tcp. The TXT record may contain the following fields:

                    @@ -283,7 +283,7 @@
                    -

                    Source code

                    +

                    Source code

                    The source of the Discovery plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/discovery.

                    diff --git a/master/bundledplugins/errortracking.html b/master/bundledplugins/errortracking.html index 525ef9255..1fc2f3531 100644 --- a/master/bundledplugins/errortracking.html +++ b/master/bundledplugins/errortracking.html @@ -1,26 +1,26 @@ - + - + Error Tracking Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,9 +141,9 @@
                    -

                    Error Tracking Plugin

                    +

                    Error Tracking Plugin

                    -

                    New in version 1.3.11.

                    +

                    Added in version 1.3.11.

                    The Error Tracking plugin will cause any logged exceptions in the server and the browser interface to be sent to OctoPrint’s Sentry instance.

                    @@ -157,7 +157,7 @@ and their Privacy Policy.

                    The Error Tracking plugin has been bundled with OctoPrint since version 1.3.11.

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -169,7 +169,7 @@
                    -

                    Source Code

                    +

                    Source Code

                    The source of the Error Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/errortracking.

                    diff --git a/master/bundledplugins/file_check.html b/master/bundledplugins/file_check.html index f78895741..afeae4a4f 100644 --- a/master/bundledplugins/file_check.html +++ b/master/bundledplugins/file_check.html @@ -1,26 +1,26 @@ - + - + File Check — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -137,9 +137,9 @@
                    -

                    File Check

                    +

                    File Check

                    -

                    New in version 1.4.1.

                    +

                    Added in version 1.4.1.

                    The file check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

                    diff --git a/master/bundledplugins/firmware_check.html b/master/bundledplugins/firmware_check.html index f389e95bb..0046b969b 100644 --- a/master/bundledplugins/firmware_check.html +++ b/master/bundledplugins/firmware_check.html @@ -1,26 +1,26 @@ - + - + Firmware Check — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -137,9 +137,9 @@
                    -

                    Firmware Check

                    +

                    Firmware Check

                    -

                    New in version 1.3.7.

                    +

                    Added in version 1.3.7.

                    The firmware check plugin - while considered bundled with OctoPrint - is a separate project on its own release cycle and documented on its Github repository.

                    diff --git a/master/bundledplugins/gcodeviewer.html b/master/bundledplugins/gcodeviewer.html index 7f029aacb..1845b8303 100644 --- a/master/bundledplugins/gcodeviewer.html +++ b/master/bundledplugins/gcodeviewer.html @@ -1,26 +1,26 @@ - + - + GCode Viewer Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,7 +141,7 @@
                    -

                    GCode Viewer Plugin

                    +

                    GCode Viewer Plugin

                    Changed in version 1.4.1.

                    @@ -149,13 +149,13 @@
                    OctoPrint GCode Viewer Plugin
                    -

                    Fig. 16 An example of the GCode Viewer in action.

                    +

                    Fig. 16 An example of the GCode Viewer in action.

                    The viewer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has been extracted into its own bundled plugin.

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -167,7 +167,7 @@
                    -

                    Source Code

                    +

                    Source Code

                    The source of the GCode Viewer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/gcodeviewer.

                    diff --git a/master/bundledplugins/index.html b/master/bundledplugins/index.html index 830b3430e..8da1d5bea 100644 --- a/master/bundledplugins/index.html +++ b/master/bundledplugins/index.html @@ -1,26 +1,26 @@ - + - + Bundled Plugins — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
                    -

                    Bundled Plugins

                    +

                    Bundled Plugins

                    • Action Command Notification support
                        diff --git a/master/bundledplugins/logging.html b/master/bundledplugins/logging.html index 5f7808aea..03bfa2cb1 100644 --- a/master/bundledplugins/logging.html +++ b/master/bundledplugins/logging.html @@ -1,26 +1,26 @@ - + - + Logging — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -153,29 +153,29 @@
                        -

                        Logging

                        +

                        Logging

                        -

                        New in version 1.3.7.

                        +

                        Added in version 1.3.7.

                        The OctoPrint Logging plugin implements the log management functionality that was formerly part of the core application and adds features to configure logging levels for sub modules through the included settings dialog.

                        Logging plugin
                        -

                        Fig. 17 The settings dialog of the Logging plugin

                        +

                        Fig. 17 The settings dialog of the Logging plugin

                        -

                        API

                        +

                        API

                        Note

                        All log file management operations require admin rights.

                        -

                        Retrieve a list of available log files

                        +

                        Retrieve a list of available log files

                        -GET /plugin/logging/logs
                        +GET /plugin/logging/logs

                        Retrieve information regarding all log files currently available and regarding the disk space still available in the system on the location the log files are being stored.

                        Returns a Logfile Retrieve response.

                        @@ -223,7 +223,7 @@
                    -
                    Status Codes
                    +
                    Status Codes:
                    • 200 OK – No error

                    • 403 Forbidden – If the given API token did not have admin rights associated with it

                    • @@ -234,10 +234,10 @@
                    -

                    Delete a specific logfile

                    +

                    Delete a specific logfile

                    -DELETE /plugin/logging/logs/(path: filename)
                    +DELETE /plugin/logging/logs/(path: filename)

                    Delete the selected log file with name filename.

                    Returns a 204 No Content after successful deletion.

                    Example Request

                    @@ -247,12 +247,12 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • filename – The filename of the log file to delete

                    -
                    Status Codes
                    +
                    Status Codes:
                    • 204 No Content – No error

                    • 403 Forbidden – If the given API token did not have admin rights associated with it

                    • @@ -264,15 +264,15 @@
                    -

                    Data model

                    +

                    Data model

                    -

                    Logfile Retrieve Response

                    -

                    Name

                    +

                    Logfile Retrieve Response

                    +
                    ----++++ @@ -296,13 +296,13 @@

                    Name

                    -

                    File information

                    - +

                    File information

                    +
                    ----++++ @@ -336,13 +336,13 @@

                    Name

                    -

                    References

                    - +

                    References

                    +
                    ----++++ @@ -368,10 +368,10 @@
                    -

                    JS Client Library

                    +

                    JS Client Library

                    -

                    OctoPrintClient.plugins.logging

                    +

                    OctoPrintClient.plugins.logging

                    Note

                    All methods here require that the used API token or the existing browser session @@ -379,16 +379,16 @@

                    -OctoPrintClient.plugins.logging.listLogs(opts)
                    +OctoPrintClient.plugins.logging.listLogs(opts)

                    Retrieves a list of log files.

                    See Retrieve a list of available log files for details.

                    -
                    Arguments
                    +
                    Arguments:
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -396,17 +396,17 @@

                    -OctoPrintClient.plugins.logging.deleteLog(path, opts)
                    +OctoPrintClient.plugins.logging.deleteLog(path, opts)

                    Deletes the specified log path.

                    See Delete a specific log file for details.

                    -
                    Arguments
                    +
                    Arguments:
                    • path (string()) – The path to the log file to delete

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -414,17 +414,17 @@

                    -OctoPrintClient.plugins.logging.downloadLog(path, opts)
                    +OctoPrintClient.plugins.logging.downloadLog(path, opts)

                    Downloads the specified log file.

                    See OctoPrint.download() for more details on the underlying library download mechanism.

                    -
                    Arguments
                    +
                    Arguments:
                    • path (string()) – The path to the log file to download

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -432,7 +432,7 @@

                    -

                    Source Code

                    +

                    Source Code

                    The source of the Logging plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/logging.

                    diff --git a/master/bundledplugins/pluginmanager.html b/master/bundledplugins/pluginmanager.html index 3ff245363..a54fca5ad 100644 --- a/master/bundledplugins/pluginmanager.html +++ b/master/bundledplugins/pluginmanager.html @@ -1,26 +1,26 @@ - + - + Plugin Manager — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -146,9 +146,9 @@
                    -

                    Plugin Manager

                    +

                    Plugin Manager

                    -

                    New in version 1.2.0.

                    +

                    Added in version 1.2.0.

                    The OctoPrint Plugin Manager comes bundled with OctoPrint.

                    It allows management of installed plugins (listing, enabling, disabling @@ -178,23 +178,23 @@

                    Plugin Manager
                    -

                    Fig. 18 The main dialog of the Plugin Manager

                    +

                    Fig. 18 The main dialog of the Plugin Manager

                    Installation dialog
                    -

                    Fig. 19 Dialog for installing new plugins

                    +

                    Fig. 19 Dialog for installing new plugins

                    Filter options for the repository browser
                    -

                    Fig. 20 Filter options for the repository browser

                    +

                    Fig. 20 Filter options for the repository browser

                    -

                    Configuring the Plugin

                    +

                    Configuring the Plugin

                    The Plugin Manager plugin only has a handful of configuration settings which normally won’t have to be touched.

                    You can modify them either through the plugin’s configuration dialog that @@ -239,7 +239,7 @@

                    -

                    Events

                    +

                    Events

                    plugin_pluginmanager_install_plugin

                    A plugin was installed.

                    Payload:

                    @@ -282,12 +282,12 @@
                    -

                    Hooks

                    +

                    Hooks

                    -

                    octoprint.plugin.pluginmanager.reconnect_hooks

                    +

                    octoprint.plugin.pluginmanager.reconnect_hooks

                    -reconnect_hooks_hook(*args, **kwargs)
                    +reconnect_hooks_hook(*args, **kwargs)

                    Returns additional hooks defined by the plugin for which the plugin manager should display the “You should reconnect to your printer” message on plugin install/uninstall/enabling/disabling.

                    @@ -307,7 +307,7 @@
                    -

                    Source Code

                    +

                    Source Code

                    The source of the Plugin Manager is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/pluginmanager.

                    diff --git a/master/bundledplugins/softwareupdate.html b/master/bundledplugins/softwareupdate.html index 1fc334e94..b8ea32a15 100644 --- a/master/bundledplugins/softwareupdate.html +++ b/master/bundledplugins/softwareupdate.html @@ -1,26 +1,26 @@ - + - + Software Update Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -161,16 +161,16 @@
                    -

                    Software Update Plugin

                    +

                    Software Update Plugin

                    -

                    New in version 1.2.0.

                    +

                    Added in version 1.2.0.

                    The Software Update Plugin allows receiving notifications about new releases of OctoPrint or installed plugins which registered with it and – if properly configured – also applying the found updates.

                    It comes bundled with OctoPrint.

                    -

                    First Steps

                    +

                    First Steps

                    Out of the box the Software Update Plugin will be able to notify you of any updates that might be available for your OctoPrint installation or any plugins that registered themselves with it. In order for automatic restarts after updates @@ -183,7 +183,7 @@

                    Software Update plugin configuration dialog
                    -

                    Fig. 21 The Software Update plugin configuration dialog

                    +

                    Fig. 21 The Software Update plugin configuration dialog

                    There you can adjust the following settings:

                    @@ -212,7 +212,7 @@

                    Restart commands for OctoPrint and the whole server can be configured under Settings > Server.

                    -

                    Command line usage

                    +

                    Command line usage

                    The functionality of the Software Update Plugin is also available on OctoPrint’s command line interface under the plugins sub command. It’s possible to check for updates via octoprint plugins softwareupdate:check and to apply available updates via octoprint plugins softwareupdate:update. Please see the corresponding @@ -267,7 +267,7 @@

                    -

                    Configuring the Plugin

                    +

                    Configuring the Plugin

                    plugins:
                       softwareupdate:
                         # configured version check and update methods
                    @@ -326,7 +326,7 @@
                     
                    -

                    Version checks

                    +

                    Version checks

                    Version check types are configured through the type parameter. The following types are currently recognized:

                    @@ -348,7 +348,7 @@ will be matched.

                    -

                    New in version 1.2.16.

                    +

                    Added in version 1.2.16.

                  • stable_branch: Stable channel definition, optional. Structure:

                    @@ -361,7 +361,7 @@ will be matched.

                  • -

                    New in version 1.2.16.

                    +

                    Added in version 1.2.16.

                  • prerelease_channel: Release channel to limit updates to. If set only @@ -406,7 +406,7 @@ a new app password. App passwords are user specific on Bitbucket.

                  • -

                    New in version 1.3.5.

                    +

                    Added in version 1.3.5.

                  • git_commit: Checks a local git repository for new commits on its @@ -422,7 +422,7 @@

                  • package: (mandatory) Name of the package which to check.

                  • -

                    New in version 1.4.0.

                    +

                    Added in version 1.4.0.

                  • httpheader: Checks an HTTP header on a defined URL for changes. This can be used for easy checks @@ -437,7 +437,7 @@ will be used. If set to an empty string, no prefix will be added.

                  • -

                    New in version 1.4.1.

                    +

                    Added in version 1.4.1.

                  • jsondata: Checks the provided JSON endpoint for changes. The JSON endpoint must return an object with the @@ -447,7 +447,7 @@

                  • jsondata: (mandatory) URL from which to fetch the JSON data

                  • -

                    New in version 1.4.1.

                    +

                    Added in version 1.4.1.

                  • command_line: Uses a provided script to determine whether an update @@ -475,7 +475,7 @@

                  • current_version: Version to report for both local and remote version.

                  • -

                    New in version 1.3.7.

                    +

                    Added in version 1.3.7.

                  • never_current: Always reports that an update is necessary. Useful for debugging @@ -485,14 +485,14 @@

                  • remote_version: Remote version to offer update to. Defaults to 1.0.1.

                  • -

                    New in version 1.3.7.

                    +

                    Added in version 1.3.7.

                    -

                    Update methods

                    +

                    Update methods

                    Update methods are specified via the method parameter. Some update methods are assigned implicitly through the presence of their mandatory configuration parameters. The following methods are currently supported:

                    @@ -546,7 +546,7 @@ a countdown in the meantime. Useful for debugging software update mechanisms during development.

                    -

                    New in version 1.3.7.

                    +

                    Added in version 1.3.7.

                    @@ -576,7 +576,7 @@
                    -

                    Common configuration patterns

                    +

                    Common configuration patterns

                    Example for a setup that allows “bleeding edge” updates of OctoPrint under OctoPi (the update_script gets configured correctly automatically by the plugin itself):

                    @@ -706,9 +706,9 @@ be cached by Github for a bit, so an update will not be immediately picked up.

                    -

                    Global credentials

                    +

                    Global credentials

                    -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    Starting with OctoPrint 1.5.0, the Software Update Plugin supports supplying a GitHub API token to use for the github_release and github_commit version check types, @@ -725,7 +725,7 @@

                    -

                    Events

                    +

                    Events

                    plugin_softwareupdate_update_succeeded

                    An update succeeded.

                    Payload:

                    @@ -750,12 +750,12 @@
                    -

                    Hooks

                    +

                    Hooks

                    -

                    octoprint.plugin.softwareupdate.check_config

                    +

                    octoprint.plugin.softwareupdate.check_config

                    -update_config_hook(*args, **kwargs)
                    +update_config_hook(*args, **kwargs)

                    Returns additional check configurations for the Software Update plugin.

                    Handlers should return a Python dict containing one entry per check. Usually this will probably only be the check configuration for the plugin providing @@ -794,10 +794,10 @@

                    -
                    Returns
                    +
                    Returns:

                    A dictionary of check configurations as described above

                    -
                    Return type
                    +
                    Return type:

                    dict

                    @@ -806,28 +806,28 @@
                    -

                    Helpers

                    +

                    Helpers

                    -

                    version_checks

                    +

                    version_checks

                    version_checks module of the Software Update plugin, allows reusing the bundled version check variants from plugins (e.g. wrapped in a python_checker).

                    -

                    updaters

                    +

                    updaters

                    updaters module of the Software Update plugin, allows reusing the bundled updater variants from plugins (e.g. wrapped in a python_updater).

                    -

                    exceptions

                    +

                    exceptions

                    exceptions module of the Software Update plugin.

                    -

                    util

                    +

                    util

                    util module of the Software Update plugin.

                    -

                    Source Code

                    +

                    Source Code

                    The source of the Software Update plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/softwareupdate.

                    diff --git a/master/bundledplugins/tracking.html b/master/bundledplugins/tracking.html index 1d3ba815d..8e652b21d 100644 --- a/master/bundledplugins/tracking.html +++ b/master/bundledplugins/tracking.html @@ -1,26 +1,26 @@ - + - + Anonymous Usage Tracking Plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,9 +141,9 @@
                    -

                    Anonymous Usage Tracking Plugin

                    +

                    Anonymous Usage Tracking Plugin

                    -

                    New in version 1.3.10.

                    +

                    Added in version 1.3.10.

                    The Anonymous Usage Tracking plugin provides valuable insights into how many instances running what versions of OctoPrint are out there, whether they are successfully completing print jobs and various other metrics.

                    @@ -153,7 +153,7 @@ and also the Privacy Policy at tracking.octoprint.org.

                    The Anonymous Usage Tracking plugin has been bundled with OctoPrint since version 1.3.10.

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    The plugin supports the following configuration keys:

                      @@ -177,7 +177,7 @@
                    -

                    Source Code

                    +

                    Source Code

                    The source of the Anonymous Usage Tracking plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/tracking.

                    diff --git a/master/bundledplugins/virtual_printer.html b/master/bundledplugins/virtual_printer.html index 75eebc07d..0c68c9167 100644 --- a/master/bundledplugins/virtual_printer.html +++ b/master/bundledplugins/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Virtual Printer — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,7 +141,7 @@
                    -

                    Virtual Printer

                    +

                    Virtual Printer

                    Changed in version 1.4.1.

                    @@ -151,11 +151,11 @@

                    The virtual printer has been included in OctoPrint ever since the first releases back in 2013, however as of OctoPrint 1.4.1 it has finally been fully extracted into its own bundled plugin.

                    -

                    Configuring the plugin

                    +

                    Configuring the plugin

                    Please refer to the development documentation.

                    -

                    Source Code

                    +

                    Source Code

                    The source of the Virtual Printer plugin is bundled with OctoPrint and can be found in its source repository under src/octoprint/plugins/virtual_printer.

                    diff --git a/master/configuration/cli.html b/master/configuration/cli.html index 77a296f31..03d12046c 100644 --- a/master/configuration/cli.html +++ b/master/configuration/cli.html @@ -1,26 +1,26 @@ - + - + CLI — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -126,9 +126,9 @@
                    -

                    CLI

                    +

                    CLI

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    OctoPrint provides a basic command line interface for manipulation of config.yaml:

                    $ octoprint config --help
                    diff --git a/master/configuration/config_yaml.html b/master/configuration/config_yaml.html
                    index 43ce91d31..8beb229da 100644
                    --- a/master/configuration/config_yaml.html
                    +++ b/master/configuration/config_yaml.html
                    @@ -1,26 +1,26 @@
                     
                    -
                    +
                     
                    -  
                    +  
                     
                       
                       config.yaml — OctoPrint master documentation
                    -      
                    -      
                    -      
                    +      
                    +      
                    +      
                     
                       
                       
                       
                    -        
                    -        
                    -        
                    -        
                    -        
                    -        
                    -        
                    +        
                    +        
                    +        
                    +        
                    +        
                    +        
                    +        
                             
                         
                         
                    @@ -149,7 +149,7 @@
                                
                    -

                    config.yaml

                    +

                    config.yaml

                    If not specified via the command line, the main configuration file config.yaml for OctoPrint is expected in its settings folder, which unless defined differently via the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS. If the file is not there, @@ -157,7 +157,7 @@ settings.

                    Note that many of these settings are available from the “Settings” menu in OctoPrint itself. They can also be configured via config command line interface.

                    -
                    +
                    +
                    -

                    Access Control

                    +

                    Access Control

                    Use the following settings to enable access control:

                    accessControl:
                       # The user manager implementation to use for accessing user information. Currently only a filebased
                    @@ -246,7 +246,7 @@
                     
                    -

                    API

                    +

                    API

                    Settings for the REST API:

                    api:
                       # Whether to enable the API
                    @@ -268,7 +268,7 @@
                     
                    -

                    Appearance

                    +

                    Appearance

                    Use the following settings to tweak OctoPrint’s appearance a bit to better distinguish multiple instances/printers appearance or to modify the order and presence of the various UI components:

                    appearance:
                    @@ -417,7 +417,7 @@
                     
                    -

                    Controls

                    +

                    Controls

                    Use the controls section to add custom controls to the “Controls” tab within OctoPrint.

                    controls:
                    @@ -438,7 +438,7 @@
                     
                    -

                    Development settings

                    +

                    Development settings

                    The following settings are only relevant to you if you want to do OctoPrint development:

                    # Settings only relevant for development
                     devel:
                    @@ -480,7 +480,7 @@
                     
                    -

                    Estimation

                    +

                    Estimation

                    The following settings provide parameters for estimators within OctoPrint. Currently only the estimation of the left print time during an active job utilizes this section.

                    estimation:
                    @@ -512,7 +512,7 @@
                     
                    -

                    Events

                    +

                    Events

                    Use the following settings to add shell/gcode commands to be executed on certain events:

                    events:
                       subscriptions:
                    @@ -549,7 +549,7 @@
                     
                    -

                    Feature

                    +

                    Feature

                    Use the following settings to enable or disable OctoPrint features:

                    feature:
                     
                    @@ -592,7 +592,7 @@
                     
                    -

                    Folder

                    +

                    Folder

                    Use the following settings to set custom paths for folders used by OctoPrint:

                    folder:
                       # Absolute path where to store gcode uploads. Defaults to the uploads folder in the OctoPrint settings folder
                    @@ -634,7 +634,7 @@
                     
                    -

                    GCODE Analysis

                    +

                    GCODE Analysis

                    Settings pertaining to the server side GCODE analysis implementation.

                    gcodeAnalysis:
                       # Maximum number of extruders to support/to sanity check for
                    @@ -650,7 +650,7 @@
                     
                    -

                    GCODE Viewer

                    +

                    GCODE Viewer

                    Settings pertaining to the built in GCODE Viewer.

                    gcodeViewer:
                       # Whether to enable the GCODE viewer in the UI
                    @@ -667,7 +667,7 @@
                     
                    -

                    Plugin settings

                    +

                    Plugin settings

                    The plugins section is where plugins can store their specific settings. It is also where the installed but disabled plugins are tracked:

                    # Settings for plugins
                    @@ -698,7 +698,7 @@
                     
                    -

                    Printer Profiles

                    +

                    Printer Profiles

                    Defaults settings for printer profiles.

                    # Settings for printer profiles
                     printerProfiles:
                    @@ -713,7 +713,7 @@
                     
                    -

                    Scripts

                    +

                    Scripts

                    Default scripts and snippets. You’d usually not edit the config.yaml file to adjust those but instead create the corresponding files in ~/.octoprint/scripts/. See GCODE Script.

                    # Configured scripts
                    @@ -747,7 +747,7 @@
                     
                    -

                    Serial

                    +

                    Serial

                    Use the following settings to configure the serial connection to the printer:

                    serial:
                       # Use the following option to define the default serial port, defaults to unset (= AUTO)
                    @@ -957,7 +957,7 @@
                     
                    -

                    Server

                    +

                    Server

                    Use the following settings to configure the server:

                    server:
                       # Use this option to define the host to which to bind the server, defaults to "0.0.0.0" (= all
                    @@ -1170,7 +1170,7 @@
                     
                    -

                    Slicing

                    +

                    Slicing

                    Settings for the built-in slicing support:

                    # Slicing settings
                     slicing:
                    @@ -1188,7 +1188,7 @@
                     
                    -

                    System

                    +

                    System

                    Use the following settings to add custom system commands to the “System” dropdown within OctoPrint’s top bar.

                    Commands consist of a name shown to the user, an action identifier used by the code and the actual command including any argument needed for its execution. @@ -1214,7 +1214,7 @@

                    -

                    Temperature

                    +

                    Temperature

                    Use the following settings to configure temperature profiles which will be displayed in the temperature tab:

                    temperature:
                       profiles:
                    @@ -1228,7 +1228,7 @@
                     
                    -

                    Terminal Filters

                    +

                    Terminal Filters

                    Use the following settings to define a set of terminal filters to display in the terminal tab for filtering certain lines from the display terminal log.

                    Use Javascript regular expressions:

                    @@ -1246,7 +1246,7 @@
                    -

                    Webcam

                    +

                    Webcam

                    Use the following settings to configure webcam support:

                    webcam:
                       # Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer.
                    diff --git a/master/configuration/index.html b/master/configuration/index.html
                    index 68921f3e9..11ab293ab 100644
                    --- a/master/configuration/index.html
                    +++ b/master/configuration/index.html
                    @@ -1,26 +1,26 @@
                     
                    -
                    +
                     
                    -  
                    +  
                     
                       
                       Configuration — OctoPrint master documentation
                    -      
                    -      
                    -      
                    +      
                    +      
                    +      
                     
                       
                       
                       
                    -        
                    -        
                    -        
                    -        
                    -        
                    -        
                    -        
                    +        
                    +        
                    +        
                    +        
                    +        
                    +        
                    +        
                             
                         
                         
                    @@ -124,7 +124,7 @@
                                
                    -

                    Configuration

                    +

                    Configuration

                    • A YAML Primer
                        diff --git a/master/configuration/logging_yaml.html b/master/configuration/logging_yaml.html index 818debc95..a510d0c3b 100644 --- a/master/configuration/logging_yaml.html +++ b/master/configuration/logging_yaml.html @@ -1,26 +1,26 @@ - + - + logging.yaml — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -131,7 +131,7 @@
                        -

                        logging.yaml

                        +

                        logging.yaml

                        The logging configuration file logging.yaml for OctoPrint is expected in its settings folder, which unless defined differently on the command line is located at ~/.octoprint on Linux, at %APPDATA%/OctoPrint on Windows and at ~/Library/Application Support/OctoPrint on macOS.

                        @@ -139,7 +139,7 @@ in debugging issues you are experiencing, or to change the configuration of the logging handlers themselves, e.g. in order to change size after which to rollover the serial.log.

                        -

                        Changing log levels

                        +

                        Changing log levels

                        If you need to change the default logging level within OctoPrint, create the file with a text editor of your choice (it’s usually not there). The general format is this:

                        loggers:
                        @@ -172,7 +172,7 @@ 

                        Changing log levels -

                        Changing logging handlers

                        +

                        Changing logging handlers

                        You can also change the configuration of the logging handlers themselves, e.g. in order to make the serial.log larger for debugging long running communications or to change the behaviour of the octoprint.log.

                        You can find the default configurations of the file handler used for the octoprint.log, the serialFile handler @@ -213,7 +213,7 @@

                        Changing logging handlerslogging.handlers.

                        -

                        Changing logging formatters

                        +

                        Changing logging formatters

                        The logging formatters can be defined via logging.yaml as well. The simple formatter as referenced above is expressed in YAML as follows:

                        formatters:
                        diff --git a/master/configuration/yaml.html b/master/configuration/yaml.html
                        index c27875de3..6f161692a 100644
                        --- a/master/configuration/yaml.html
                        +++ b/master/configuration/yaml.html
                        @@ -1,26 +1,26 @@
                         
                        -
                        +
                         
                        -  
                        +  
                         
                           
                           A YAML Primer — OctoPrint master documentation
                        -      
                        -      
                        -      
                        +      
                        +      
                        +      
                         
                           
                           
                           
                        -        
                        -        
                        -        
                        -        
                        -        
                        -        
                        -        
                        +        
                        +        
                        +        
                        +        
                        +        
                        +        
                        +        
                                 
                             
                             
                        @@ -136,14 +136,14 @@
                                    
                        -

                        A YAML Primer

                        +

                        A YAML Primer

                        Most of OctoPrint’s configuration is done under the hood through YAML files, which is why it makes sense to shed some light on the basics of this data serialization format.

                        YAML is a text based format which excels at representing the most common of data structures in an easy and very human readable way, which is why it was chosen for OctoPrint’s configuration files. A text editor is all you need in order to write YAML configuration files.

                        -

                        Basic Rules

                        +

                        Basic Rules

                        First of all some basic things to know about working with YAML files:

                          @@ -156,11 +156,11 @@
                        -

                        Interesting data types

                        +

                        Interesting data types

                        You will probably only come across the three most basic types of data within OctoPrint’s YAML files: scalars (such as strings, integers, …), lists and associated arrays (aka key-value-pairs, aka maps, aka dictionaries).

                        -

                        Scalars

                        +

                        Scalars

                        Scalars are the most basic of all data types and are simple string, integer, float or boolean values.

                        For most scalars you don’t need any quotes at all, but if you need to define some piece of data which contains characters that could be mistaken with YAML syntax you need to quote it in either double " or single ' quotes for the @@ -175,7 +175,7 @@ completely empty line in order for force a line break, the data will not be actually wrapped across multiple lines just because you spread its representation across multiple lines.

                        -

                        int

                        +

                        int

                        23
                         
                         42
                        @@ -183,7 +183,7 @@
                         
                        -

                        float

                        +

                        float

                        23.5
                         
                         100.0
                        @@ -191,7 +191,7 @@
                         
                        -

                        boolean

                        +

                        boolean

                        true
                         
                         false
                        @@ -207,7 +207,7 @@
                         
                        -

                        string

                        +

                        string

                        a string
                         
                         "some quoted string with a : colon and a { bracket and a quote \" and a backslash \\ - phew"
                        @@ -239,7 +239,7 @@
                         
                        -

                        Lists

                        +

                        Lists

                        Lists allow to “collect” a number of similar things into one data structure. They are created by prefixing one or more consecutive lines with a -:

                        - item 1
                        @@ -251,7 +251,7 @@
                         

                        Take special care to have all of your list items at the same indentation level!

                        -

                        Dictionaries

                        +

                        Dictionaries

                        Dictionaries (aka associative arrays aka maps) allow organizing the data in key value pairs, with the key and the value being separated through a colon ::

                        key: value
                        @@ -261,7 +261,7 @@
                         
                        -

                        Examples

                        +

                        Examples

                        Based on the three types explained above, quite complex data structures are possible (whitespace made visible to help track indentation):

                        general:
                        diff --git a/master/development/branches.html b/master/development/branches.html
                        index 0b6906d2d..0caf3a962 100644
                        --- a/master/development/branches.html
                        +++ b/master/development/branches.html
                        @@ -1,26 +1,26 @@
                         
                        -
                        +
                         
                        -  
                        +  
                         
                           
                           OctoPrint’s branching model — OctoPrint master documentation
                        -      
                        -      
                        -      
                        +      
                        +      
                        +      
                         
                           
                           
                           
                        -        
                        -        
                        -        
                        -        
                        -        
                        -        
                        -        
                        +        
                        +        
                        +        
                        +        
                        +        
                        +        
                        +        
                                 
                             
                             
                        @@ -127,7 +127,7 @@
                                    
                        -

                        OctoPrint’s branching model

                        +

                        OctoPrint’s branching model

                        There are three main branches in OctoPrint:

                        master

                        The master branch always contains the current stable release plus any changes diff --git a/master/development/environment.html b/master/development/environment.html index bb821d574..5f121f8df 100644 --- a/master/development/environment.html +++ b/master/development/environment.html @@ -1,26 +1,26 @@ - + - + Setting up a Development environment — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -140,9 +140,9 @@

                        -

                        Setting up a Development environment

                        +

                        Setting up a Development environment

                        -

                        Obtaining, building and running the source

                        +

                        Obtaining, building and running the source

                        This describes the general, platform agnostic steps in obtaining, building and running. OS specific instructions can be found below.

                        @@ -219,7 +219,7 @@
                    -

                    Linux

                    +

                    Linux

                    This assumes you’ll host your OctoPrint development checkout at ~/devel/OctoPrint. If you want to use a different location, please substitute accordingly.

                    First make sure you have python 3 including its header files, pip, setuptools, virtualenv, git and some build requirements @@ -253,7 +253,7 @@

                    -

                    Windows

                    +

                    Windows

                    This assumes you’ll host your OctoPrint development checkout at C:\Devel\OctoPrint. If you want to use a different location, please substitute accordingly.

                    First download & install:

                    @@ -290,7 +290,7 @@
                    -

                    Mac OS X

                    +

                    Mac OS X

                    Note

                    This guide is based on the Setup Guide for Mac OS X on OctoPrint’s Community Forum. @@ -368,7 +368,7 @@

                    -

                    IDE Setup

                    +

                    IDE Setup

                    Todo

                    Using another IDE than the ones below? Please send a @@ -376,7 +376,7 @@ steps into this guide!

                    -

                    PyCharm

                    +

                    PyCharm

                    • “File” > “Open …”, select OctoPrint checkout folder (e.g. ~/devel/OctoPrint or C:\Devel\OctoPrint)

                    • @@ -470,7 +470,7 @@
                    -

                    Visual Studio Code (vscode)

                    +

                    Visual Studio Code (vscode)

                    • Install Visual Studio Code from code.visualstudio.com

                    • diff --git a/master/development/index.html b/master/development/index.html index 2f0446538..a251c0715 100644 --- a/master/development/index.html +++ b/master/development/index.html @@ -1,26 +1,26 @@ - + - + Development — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -125,7 +125,7 @@
                      -

                      Development

                      +

                      Development

                      • OctoPrint’s versioning strategy
                      • diff --git a/master/development/request-profiling.html b/master/development/request-profiling.html index 68cd2ce64..810de2d56 100644 --- a/master/development/request-profiling.html +++ b/master/development/request-profiling.html @@ -1,26 +1,26 @@ - + - + Profiling requests — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -130,7 +130,7 @@
                        -

                        Profiling requests

                        +

                        Profiling requests

                        Once you have a development environment set up, you will need to launch OctoPrint using serve --debug as parameters.

                        At this point, you are able to make the exact same requests as before. To @@ -139,7 +139,7 @@ an html document with the profiling results instead of the contents of the response.

                        -

                        Errors

                        +

                        Errors

                        If you receive a 500: Internal Server Error and a ModuleNotFoundError: No module named 'pyinstrument' in the console, you didn’t install development dependencies. Do that now using pip install -e '.[develop]'.

                        diff --git a/master/development/versioning.html b/master/development/versioning.html index 62c5a817e..3045bce8f 100644 --- a/master/development/versioning.html +++ b/master/development/versioning.html @@ -1,26 +1,26 @@ - + - + OctoPrint’s versioning strategy — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -127,10 +127,10 @@
                        -

                        OctoPrint’s versioning strategy

                        +

                        OctoPrint’s versioning strategy

                        OctoPrint’s version numbers follow PEP440, with a version format of MAJOR.MINOR.PATCH following the contract of semantic versioning.

                        -

                        The PATCH version number will increase in case of hotfix releases 1. +

                        The PATCH version number will increase in case of hotfix releases [1]. Releases that only change the patch number indicate that they only contain bug fixes, and usually only hotfixes at that. Example: 1.5.0 to 1.5.1.

                        The MINOR version number increases with releases that add new functionality while maintaining @@ -143,14 +143,15 @@ allow for an exact determination of the active code base (e.g. 1.2.9.dev68+g46c7a9c). Additionally, instances with active uncommitted changes will contain .dirty in the local version identifier.

                        Footnotes

                        -
                        -
                        1
                        -

                        Up until 1.4.2, the PATCH version segment was the one increasing most often +

                        -
                        + +
                        diff --git a/master/development/virtual_printer.html b/master/development/virtual_printer.html index 6a7284ac3..e83083b04 100644 --- a/master/development/virtual_printer.html +++ b/master/development/virtual_printer.html @@ -1,26 +1,26 @@ - + - + Setting up the virtual printer for debugging — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -133,16 +133,16 @@
                        -

                        Setting up the virtual printer for debugging

                        +

                        Setting up the virtual printer for debugging

                        OctoPrint includes, by default, a virtual printer plugin. This plugin allows you to debug OctoPrint’s serial communication without connecting to an actual printer. Furthermore, it is possible to create certain edge conditions that may be hard to reproduce with a real printer.

                        -

                        Enabling the virtual printer

                        +

                        Enabling the virtual printer

                        The virtual printer can be enabled through its Settings pane.

                        -

                        Virtual printer configuration options

                        +

                        Virtual printer configuration options

                        There many configuration options via config.yaml for the virtual printer that allow you to fine-tune its behavior:

                        plugins:
                         
                        @@ -372,12 +372,12 @@
                         
                        -

                        Log file

                        +

                        Log file

                        Once activated, the virtual printer will log all serial communication in the plugin_virtual_printer_serial.log file that can be found in the OctoPrint logs folder.

                        -

                        Debug commands

                        +

                        Debug commands

                        You can simulate certain conditions and communications through the terminal tab in OctoPrint’s interface.

                        All commands start with !!DEBUG: and are followed by the command you want to execute. For instance, sending !!DEBUG:action_disconnect will disconnect the printer. Sending !!DEBUG without command will show a help diff --git a/master/events/index.html b/master/events/index.html index d607e35e9..ea214bc8b 100644 --- a/master/events/index.html +++ b/master/events/index.html @@ -1,26 +1,26 @@ - + - + Events — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -137,8 +137,8 @@

                        -

                        Events

                        -
                        +

                        Events

                        +
                      -
                      +
                      -

                      Configuration

                      +

                      Configuration

                      Event hooks are configured via OctoPrint’s configuration file config.yaml. There they are contained in a subscriptions list located directly under the events node. The command node accepts either a single string or a list of strings so that multiple commands can be executed in one go. Each hook carries an additional node type that @@ -176,7 +176,7 @@

                      All event hooks can be disabled completely by setting event > enabled to false. You can also disable individual hooks by setting the (optional) node enabled to false, see the example below.

                      -

                      Example

                      +

                      Example

                      events:
                         enabled: True
                         subscriptions:
                      @@ -213,7 +213,7 @@ 

                      Example -

                      Placeholders

                      +

                      Placeholders

                      You can use the following generic placeholders in your event hooks:

                      -

                      Available Events

                      +

                      Available Events

                      Note

                      Plugins may add additional events via the octoprint.events.register_custom_events hook.

                      -

                      Server

                      +

                      Server

                      Startup

                      The server has started.

                      @@ -280,7 +280,7 @@

                      Example -

                      New in version 1.4.0.

                      +

                      Added in version 1.4.0.

                      ClientClosed

                      A client has disconnected from the push socket.

                      @@ -302,7 +302,7 @@

                      Example -

                      New in version 1.4.0.

                      +

                      Added in version 1.4.0.

                    UserLoggedOut
                    @@ -315,7 +315,7 @@

                    Example -

                    New in version 1.4.0.

                    +

                    Added in version 1.4.0.

                    ConnectivityChanged
                    @@ -329,19 +329,19 @@

                    Example -

                    New in version 1.3.5.

                    +

                    Added in version 1.3.5.

                    -

                    Printer communication

                    +

                    Printer communication

                    Connecting

                    The server is attempting to connect to the printer.

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    Connected

                    The server has connected to the printer.

                    @@ -359,7 +359,7 @@

                    Example -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    Disconnected

                    The server has disconnected from the printer

                    @@ -399,13 +399,13 @@

                    Example -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    -

                    File handling

                    +

                    File handling

                    Upload

                    A file has been uploaded through the REST API.

                    @@ -453,7 +453,7 @@

                    Example -

                    New in version 1.3.3.

                    +

                    Added in version 1.3.3.

                    FileRemoved
                    @@ -475,7 +475,7 @@

                    Example -

                    New in version 1.3.3.

                    +

                    Added in version 1.3.3.

                    FileMoved
                    @@ -500,7 +500,7 @@

                    Example -

                    New in version 1.8.0.

                    +

                    Added in version 1.8.0.

                    FolderAdded
                    @@ -520,7 +520,7 @@

                    Example -

                    New in version 1.3.3.

                    +

                    Added in version 1.3.3.

                    FolderRemoved
                    @@ -539,7 +539,7 @@

                    Example -

                    New in version 1.3.3.

                    +

                    Added in version 1.3.3.

                    FolderMoved
                    @@ -560,7 +560,7 @@

                    Example -

                    New in version 1.8.0.

                    +

                    Added in version 1.8.0.

                    UpdatedFiles

                    A file list was modified.

                    @@ -670,7 +670,7 @@

                    Example -

                    Printing

                    +

                    Printing

                    PrintStarted

                    A print has started.

                    Payload:

                    @@ -758,7 +758,7 @@

                    Example -

                    New in version 1.3.7.

                    +

                    Added in version 1.3.7.

                    PrintCancelled

                    The print has been cancelled.

                    @@ -872,7 +872,7 @@

                    Example -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    GcodeScript${ScriptName}Finished

                    A custom GCODE script has finished running.

                    @@ -888,7 +888,7 @@

                    Example -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    ChartMarked

                    A time-based marking has been made on the UI’s temperature chart.

                    @@ -905,13 +905,13 @@

                    Example -

                    New in version 1.9.0.

                    +

                    Added in version 1.9.0.

                    -

                    GCODE processing

                    +

                    GCODE processing

                    PowerOn

                    An M80 was sent to the printer through OctoPrint (not triggered when printing from SD!)

                    @@ -939,7 +939,7 @@

                    ExampleM600, M701 or M702 was sent to the printer through OctoPrint (not triggered when printing from SD!)

                    -

                    New in version 1.7.0.

                    +

                    Added in version 1.7.0.

                    PositionUpdate

                    The response to an M114 was received by OctoPrint. The payload contains the current position information @@ -957,7 +957,7 @@

                    Example -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    ToolChange

                    A tool change command was sent to the printer. The payload contains the former current tool index and the @@ -970,7 +970,7 @@

                    Example -

                    New in version 1.3.5.

                    +

                    Added in version 1.3.5.

                    CommandSuppressed

                    A command was suppressed by OctoPrint due to according configuration and will not be @@ -986,7 +986,7 @@

                    Example -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    InvalidToolReported

                    The firmware reported a tool as invalid upon trying to select it. It has thus been marked @@ -1000,13 +1000,13 @@

                    Example -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    -

                    Timelapses

                    +

                    Timelapses

                    CaptureStart

                    A timelapse frame has started to be captured.

                    Payload:

                    @@ -1033,7 +1033,7 @@

                    Example -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    MovieRendering

                    The timelapse movie has started rendering.

                    @@ -1073,7 +1073,7 @@

                    Example -

                    Slicing

                    +

                    Slicing

                    SlicingStarted

                    The slicing of a file has started.

                    Payload:

                    @@ -1138,7 +1138,7 @@

                    Example -

                    New in version 1.2.12.

                    +

                    Added in version 1.2.12.

                    SlicingProfileModified
                    @@ -1152,7 +1152,7 @@

                    Example -

                    New in version 1.2.12.

                    +

                    Added in version 1.2.12.

                    SlicingProfileDeleted
                    @@ -1166,25 +1166,25 @@

                    Example -

                    New in version 1.2.12.

                    +

                    Added in version 1.2.12.

                    -

                    Settings

                    +

                    Settings

                    SettingsUpdated

                    The settings were updated via the REST API.

                    This event may also be triggered if calling code of octoprint.settings.Settings.save or octoprint.plugin.PluginSettings.save sets the trigger_event parameter to True.

                    -

                    New in version 1.2.0.

                    +

                    Added in version 1.2.0.

                    -

                    Printer Profile

                    +

                    Printer Profile

                    PrinterProfileModified

                    A printer profile was modified.

                    Payload:

                    @@ -1194,7 +1194,7 @@

                    Example -

                    New in version 1.3.12.

                    +

                    Added in version 1.3.12.

                    diff --git a/master/features/accesscontrol.html b/master/features/accesscontrol.html index 188c38236..3e09089e4 100644 --- a/master/features/accesscontrol.html +++ b/master/features/accesscontrol.html @@ -1,26 +1,26 @@ - + - + Access Control — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -143,7 +143,7 @@
                    -

                    Access Control

                    +

                    Access Control

                    Changed in version 1.5.0.

                    @@ -198,7 +198,7 @@ control enabled.

                    -

                    Autologin

                    +

                    Autologin

                    While access control cannot be disabled as of OctoPrint 1.5+, the Autologin feature can be used to bypass authentication for hosts on the network(s) that you trust.

                    Starting with OctoPrint 1.5.0, OctoPrint makes enabled access control mandatory. This @@ -224,7 +224,7 @@ benchies, that’s on you.

                    -

                    Gather configuration information

                    +

                    Gather configuration information

                    You can configure Autologin via a plugin (the easy way), or manually (the hard way), but in either case you will need to specify which user should be automatically logged in, and which hosts are permitted access this way.

                    @@ -247,16 +247,16 @@ 255.255.255.0. Your address range is 192.168.23.42/255.255.255.0.

                    -

                    The easy way: Using the OctoPrint-AutoLoginConfig plugin

                    +

                    The easy way: Using the OctoPrint-AutoLoginConfig plugin

                    The easiest way to configure AutoLogin is to install the OctoPrint-AutoLoginConfig plugin via the plugin manager.

                    Open its settings and follow the instructions on the screen.

                    -

                    The hard way: Manual editing of config.yaml

                    +

                    The hard way: Manual editing of config.yaml

                    -

                    Preparation

                    +

                    Preparation

                    First of all, read the YAML primer. You will have to edit OctoPrint’s main configuration file, and thus should make sure you understand at least roughly how things work and that you should keep your @@ -267,7 +267,7 @@

                    Preparation -

                    Configuration

                    +

                    Configuration

                    Ready? Let’s do some editing then. I’ll outline what to do and where first, and then further down there’s also a dedicated list of steps for OctoPi specifically.

                      @@ -309,7 +309,7 @@

                      Configuration -

                      OctoPi specific steps

                      +

                      OctoPi specific steps

                      If you are running OctoPi you will have to SSH into your Raspberry Pi. Then issue the following commands:

                        @@ -325,7 +325,7 @@

                        OctoPi specific steps

                    -

                    If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

                    +

                    If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls

                    Warning

                    You probably shouldn’t do this, EVER. There are usually other options. Don’t even @@ -344,16 +344,16 @@

                    If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal

                    -

                    Available Extension Hooks

                    +

                    Available Extension Hooks

                    There are two hooks for plugins to utilize in order to add new configurable permissions into the system and/or adjust the styling of the login dialog.

                    -

                    octoprint.access.permissions

                    +

                    octoprint.access.permissions

                    See here.

                    -

                    octoprint.theming.login

                    +

                    octoprint.theming.login

                    See here.

                    diff --git a/master/features/action_commands.html b/master/features/action_commands.html index 22bbe8219..854d89eca 100644 --- a/master/features/action_commands.html +++ b/master/features/action_commands.html @@ -1,26 +1,26 @@ - + - + Action Commands — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -129,7 +129,7 @@
                    -

                    Action Commands

                    +

                    Action Commands

                    Action commands are a feature defined for the GCODE based RepRap communication protocol. To quote from the GCODE node of the RepRap wiki:

                    @@ -146,7 +146,7 @@
                    start

                    When this command is received from the printer, a job is currently selected and not active, OctoPrint will start it just like if the “Start”/”Restart” button had been clicked.

                    -

                    New in version 1.5.0.

                    +

                    Added in version 1.5.0.

                    cancel

                    When this command is received from the printer, OctoPrint will cancel a current print job just like if the @@ -174,21 +174,21 @@ set the corresponding internal state flags and send a file list request. This command is only recognized if SD support is enabled in OctoPrint.

                    -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    sd_ejected

                    When this command is received from the printer, OctoPrint will assume the SD card has been removed from the printer and clear the corresponding internal state flags. This command is only recognized if SD support is enabled in OctoPrint.

                    -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    sd_updated

                    When this command is received from the printer, OctoPrint will assume something on the SD card in the printer has changed and trigger a file list request. This command is only recognized if SD support is enabled in OctoPrint.

                    -

                    New in version 1.6.0.

                    +

                    Added in version 1.6.0.

                    shutdown

                    When this command is received from the printer, support for it is enabled in its settings @@ -197,7 +197,7 @@ firmware or manipulated GCODE, but can be enabled in the OctoPrint settings via Serial Connection > Firmware & Protocol > Action Commands if so desired by the user.

                    -

                    New in version 1.8.0.

                    +

                    Added in version 1.8.0.

                    diff --git a/master/features/atcommands.html b/master/features/atcommands.html index 5e2d15e20..eb725b204 100644 --- a/master/features/atcommands.html +++ b/master/features/atcommands.html @@ -1,26 +1,26 @@ - + - + @ Commands — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -129,9 +129,9 @@
                    -

                    @ Commands

                    +

                    @ Commands

                    -

                    New in version 1.3.7.

                    +

                    Added in version 1.3.7.

                    @ commands (also known as host commands elsewhere) are special commands you may include in GCODE files streamed through OctoPrint to your printer or send as part of GCODE scripts, through the Terminal Tab, the API or plugins. diff --git a/master/features/custom_controls.html b/master/features/custom_controls.html index 4e603e14c..d74617066 100644 --- a/master/features/custom_controls.html +++ b/master/features/custom_controls.html @@ -1,26 +1,26 @@ - + - + Custom Controls — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -140,8 +140,8 @@

                    -

                    Custom Controls

                    -
                    +

                    Custom Controls

                    +
                    +

                    OctoPrint allows you to add custom controls to the “Control” tab of its interface. Control types reach from simple buttons which trigger sending of one or more lines of GCODE to the printer over more complex controls allowing parameterization of these commands with values entered by the user to full blown GCODE script templates backed by Jinja2.

                    -

                    Custom controls are configured within config.yaml 1 in a controls section which +

                    Custom controls are configured within config.yaml [1] in a controls section which basically represents a hierarchical structure of all configured custom controls of various types.

                    Note

                    @@ -236,7 +236,7 @@
                    The rendered output created through the example configuration
                    -

                    Fig. 1 The rendered output created through the example configuration

                    +

                    Fig. 1 The rendered output created through the example configuration

                    As you can see you have two basic types of control definitions here: controls that actually do something (providing a @@ -251,14 +251,14 @@ file.

                    -

                    Types

                    +

                    Types

                    Let’s take a closer look at the possible attributes that are available for both basic types.

                    -

                    Containers

                    -

                    Name

                    +

                    Containers

                    +
                    --++ @@ -278,11 +278,11 @@

                    Attribute

                    -

                    Controls

                    - +

                    Controls

                    +
                    --++ @@ -408,17 +408,17 @@
                    An example confirmation dialog
                    -

                    Fig. 2 An example confirmation dialog

                    +

                    Fig. 2 An example confirmation dialog

                    -

                    Examples

                    +

                    Examples

                    -

                    Parameterized GCODE Script

                    +

                    Parameterized GCODE Script

                    -
                    Listing 1 Control definition in ~/.octoprint/config.yaml
                    +
                    Listing 1 Control definition in ~/.octoprint/config.yaml
                    name: Dance
                     script: custom/dance.gco
                     input:
                    @@ -433,7 +433,7 @@
                     
                    -
                    Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
                    +
                    Listing 2 ~/.octoprint/scripts/gcode/custom/dance.gco
                    {% set center_x = printer_profile.volume.width / 2 %}
                     {% set center_y = printer_profile.volume.depth / 2 %}
                     {% set speed_x = printer_profile.axes.x.speed %}
                    @@ -467,12 +467,13 @@
                     

                    Note the usage of the parameters.repetitions template variable in the GCODE script template, which will contain the value selected by the user for the “Go arounds” slider.

                    Footnotes

                    -
                    -
                    1
                    -

                    For Linux that will be ~/.octoprint/config.yaml, for Windows it will be %APPDATA%/OctoPrint/config.yaml and for +

                    -
                    + +
                    diff --git a/master/features/gcode_scripts.html b/master/features/gcode_scripts.html index cd69e8490..577ad344e 100644 --- a/master/features/gcode_scripts.html +++ b/master/features/gcode_scripts.html @@ -1,26 +1,26 @@ - + - + GCODE Scripts — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -140,8 +140,8 @@
                    -

                    GCODE Scripts

                    -
                    +

                    GCODE Scripts

                    +
                    +

                    OctoPrint allows you to define custom GCODE scripts to be executed on specified occasions, e.g. when a print starts, when OctoPrint connects to a printer, or when a button defined as a custom control is clicked.

                    @@ -172,7 +172,7 @@ as described below.

                    You can find the docs on the Jinja templating engine as used in OctoPrint here.

                    -

                    Predefined Scripts

                    +

                    Predefined Scripts

                    The following GCODE scripts are sent by OctoPrint automatically:

                      @@ -197,20 +197,20 @@
                    -

                    Events

                    +

                    Events

                    Every GCODE script that is executed will emit two events. The event name will start with ‘GcodeScript’ followed by the capitalized name of the script. When afterPrintDone has started the event will be GcodeScriptAfterPrintDoneRunning and once it has completed the last event will be GcodeScriptAfterPrintDoneFinished. You can find more details in the Events documentation.

                    -

                    Snippets

                    +

                    Snippets

                    For making small GCODE snippets reusable in a template (e.g. for disabling all hotends) there’s an additional Jinja template command {% snippet '<snippet name>' %} available which allows including snippets stored under scripts/gcode/snippets in OctoPrint’s configuration directory. They fully support the whole spectrum of the Jinja2 templating language (that includes including other snippets).

                    -

                    Context

                    +

                    Context

                    All GCODE scripts have access to the following template variables through the template context:

                      @@ -302,10 +302,10 @@
                    -

                    Bundled Scripts

                    +

                    Bundled Scripts

                    Out of the box, OctoPrint defaults to the following script setup for afterPrintCancelled:

                    -
                    Listing 3 Default afterPrintCancelled script
                    +
                    Listing 3 Default afterPrintCancelled script
                    ; disable motors
                     M84
                     
                    @@ -320,7 +320,7 @@
                     

                    The disable_hotends snippet is defined as follows:

                    -
                    Listing 4 Default disable_hotends snippet
                    +
                    Listing 4 Default disable_hotends snippet
                    {% if printer_profile.extruder.sharedNozzle %}
                     M104 T0 S0
                     {% else %}
                    @@ -333,7 +333,7 @@
                     

                    The disable_bed snippet is defined as follows:

                    -
                    Listing 5 Default disable_bed snippet
                    +
                    Listing 5 Default disable_bed snippet
                    {% if printer_profile.heatedBed %}
                     M140 S0
                     {% endif %}
                    @@ -346,16 +346,16 @@
                     to 0 if a heated bed is configured.

                    -

                    Examples

                    +

                    Examples

                    -

                    More nifty pause and resume

                    +

                    More nifty pause and resume

                    If you do not have a multi-extruder setup, aren’t printing from SD and have “Log position on pause” enabled under Settings > Serial Connection > Behaviour > Pausing, the following afterPrintPaused and beforePrintResumed scripts might be interesting for you. With something like them in place, OctoPrint will move your print head out of the way to a safe rest position (here G1 X0 Y0, you might want to adjust that) on pause and move it back to the persisted pause position on resume, making sure to also reset the extruder and feedrate.

                    -
                    Listing 6 afterPrintPaused script
                    +
                    Listing 6 afterPrintPaused script
                    ; (optional) disable stepper inactivity timeout - uncomment if you printer disables steppers during pause and supports this command
                     ;M18 S0
                     
                    @@ -378,7 +378,7 @@
                     
                    -
                    Listing 7 beforePrintResumed script
                    +
                    Listing 7 beforePrintResumed script
                    {% if pause_position.x is not none %}
                     ; relative extruder
                     M83
                    diff --git a/master/features/index.html b/master/features/index.html
                    index aabc3f7d7..ed01da6c6 100644
                    --- a/master/features/index.html
                    +++ b/master/features/index.html
                    @@ -1,26 +1,26 @@
                     
                    -
                    +
                     
                    -  
                    +  
                     
                       
                       Features — OctoPrint master documentation
                    -      
                    -      
                    -      
                    +      
                    +      
                    +      
                     
                       
                       
                       
                    -        
                    -        
                    -        
                    -        
                    -        
                    -        
                    -        
                    +        
                    +        
                    +        
                    +        
                    +        
                    +        
                    +        
                             
                         
                         
                    @@ -127,7 +127,7 @@
                                
                    -

                    Features

                    +

                    Features

                    Note

                    This feature list is not exhaustive. This part of OctoPrint’s documentation is sadly far from finished still.

                    diff --git a/master/features/plugins.html b/master/features/plugins.html index a03d79788..fe8112424 100644 --- a/master/features/plugins.html +++ b/master/features/plugins.html @@ -1,26 +1,26 @@ - + - + Plugins — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -137,9 +137,9 @@
                    -

                    Plugins

                    +

                    Plugins

                    -

                    New in version 1.2.0.

                    +

                    Added in version 1.2.0.

                    Starting with OctoPrint 1.2.0, there’s now a plugin system in place which allows to individually extend OctoPrint’s functionality.

                    @@ -156,21 +156,21 @@ read more on how to enable that here.

                    -

                    Finding Plugins

                    +

                    Finding Plugins

                    The official OctoPrint Plugin Repository can be found at plugins.octoprint.org.

                    Some plugins may also be found in the list provided in the OctoPrint wiki and on the OctoPrint organization Github page.

                    -

                    Installing Plugins

                    +

                    Installing Plugins

                    Plugins can be installed through the bundled Plugin Manager, which allows installing plugins available in the OctoPrint Plugin Repository, from a web address or from an uploaded file archive.

                    Please refer to the documentation of the plugin for additional installations instructions.

                    -

                    Manual Installation

                    +

                    Manual Installation

                    If you don’t want or can’t use the Plugin Manager, plugins may also be installed manually either by copying and unpacking them into one of the configured plugin folders (regularly those are <octoprint source root>/plugins and -<octoprint config folder>/plugins 1 or by installing them as regular Python modules via pip 2.

                    +<octoprint config folder>/plugins [1] or by installing them as regular Python modules via pip [2].

                    For a plugin available on the Python Package Index (PyPi), the process is as simple as issuing a

                    pip install <plugin_name>
                     
                    @@ -185,20 +185,22 @@

                    Manual Installation -

                    Developing Plugins

                    +

                    Developing Plugins

                    See Developing Plugins.

                    Footnotes

                    -
                    -
                    1
                    -

                    For Linux that will be ~/.octoprint/plugins, for Windows it will be %APPDATA%/OctoPrint/plugins and for +

                    -
                    2
                    -

                    Make sure to use the exact same Python installation for installing the plugin that you also used for + +

                    -
                    + +
                    diff --git a/master/features/safemode.html b/master/features/safemode.html index d91583fc2..5f109730b 100644 --- a/master/features/safemode.html +++ b/master/features/safemode.html @@ -1,26 +1,26 @@ - + - + Safe mode — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -133,9 +133,9 @@
                    -

                    Safe mode

                    +

                    Safe mode

                    -

                    New in version 1.3.0.

                    +

                    Added in version 1.3.0.

                    Changed in version 1.3.13.

                    @@ -153,7 +153,7 @@

                    Whenever reporting an issue with OctoPrint, please always attempt to reproduce it in safe mode as well to ensure it really is an issue in OctoPrint itself and now caused by one of your installed third party additions.

                    -

                    How to start OctoPrint in safe mode

                    +

                    How to start OctoPrint in safe mode

                    There exist three ways to start OctoPrint in safe mode:

                      @@ -192,12 +192,12 @@
                      "Restart OctoPrint in safe mode" in the "System" menu
                      -

                      Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

                      +

                      Fig. 3 “Restart OctoPrint in safe mode” in the “System” menu

                    -

                    Differences of safe mode vs normal operation mode

                    +

                    Differences of safe mode vs normal operation mode

                    When OctoPrint is running in safe mode the following changes to its normal operation mode apply:

                      @@ -221,7 +221,7 @@
                      Safe mode notification
                      -

                      Fig. 4 Safe mode notification

                      +

                      Fig. 4 Safe mode notification

                    diff --git a/master/genindex.html b/master/genindex.html index 4e4c72a39..c00569a2a 100644 --- a/master/genindex.html +++ b/master/genindex.html @@ -1,25 +1,25 @@ - + Index — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -766,7 +766,7 @@

                    C

                  • ContainerConfig (class in octoprint.schema.config.controls)
                  • -
                  • content_type (octoprint.filemanager.ContentTypeMapping property) +
                  • content_type (octoprint.filemanager.ContentTypeMapping attribute)
                  • ContentTypeDetector (class in octoprint.filemanager)
                  • @@ -908,7 +908,7 @@

                    D

                  • detectionFirst (octoprint.schema.config.serial.SerialTimeoutConfig attribute)
                  • -
                  • detector (octoprint.filemanager.ContentTypeDetector property) +
                  • detector (octoprint.filemanager.ContentTypeDetector attribute)
                  • devel (octoprint.schema.config.Config attribute)
                  • @@ -1046,10 +1046,10 @@

                    E

                  • extended_m20 (octoprint.schema.config.serial.SerialCapabilities attribute)
                  • -
                  • extensions (octoprint.filemanager.ContentTypeDetector property) +
                  • extensions (octoprint.filemanager.ContentTypeDetector attribute)
                  • externalHeatupDetection (octoprint.schema.config.serial.SerialConfig attribute) @@ -3138,8 +3138,6 @@

                    R

                  • ResettableTimer (class in octoprint.util)
                  • resolve_output_to_path() (octoprint.server.util.flask.PluginAssetResolver method) -
                  • -
                  • response (octoprint.server.util.flask.OctoPrintFlaskResponse attribute)
                  • RestartNeedingPlugin (class in octoprint.plugin) diff --git a/master/http-routingtable.html b/master/http-routingtable.html index 312e552f5..f0f854c83 100644 --- a/master/http-routingtable.html +++ b/master/http-routingtable.html @@ -1,25 +1,25 @@ - + HTTP Routing Table — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + diff --git a/master/index.html b/master/index.html index d2f9d6946..d2707374e 100644 --- a/master/index.html +++ b/master/index.html @@ -1,26 +1,26 @@ - + - + Welcome to OctoPrint’s documentation! — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -117,7 +117,7 @@
                    -

                    Welcome to OctoPrint’s documentation!

                    +

                    Welcome to OctoPrint’s documentation!

                    The OctoPrint Logo

                    OctoPrint provides a snappy web interface for controlling consumer 3D printers. It is Free Software and released under the GNU Affero General Public License V3.

                    @@ -133,7 +133,7 @@

                    Welcome to OctoPrint’s documentation!on the forum!

                    -

                    Contents

                    +

                    Contents

                    • Features
                        diff --git a/master/jsclientlib/base.html b/master/jsclientlib/base.html index 6dc3a13d9..e141efaac 100644 --- a/master/jsclientlib/base.html +++ b/master/jsclientlib/base.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -172,14 +172,14 @@
                        -

                        OctoPrintClient

                        +

                        OctoPrintClient

                        -class OctoPrintClient([options])
                        +class OctoPrintClient([options])

                        Instantiates a new instance of the client library. Note that by default there’s always an instance registered globally called OctoPrint.

                        -
                        Arguments
                        +
                        Arguments:
                        @@ -189,7 +189,7 @@
                        -OctoPrintClient.options
                        +OctoPrintClient.options

                        The client library instance’s options. The following keys are currently supported:

                        baseurl

                        The base URL of the OctoPrint API

                        @@ -205,7 +205,7 @@
                        -OctoPrintClient.plugins
                        +OctoPrintClient.plugins

                        Registration of client library components provided by plugins.

                        OctoPrint plugins should always register their client classes here using their plugin identifier as key via OctoPrintClient.registerPluginComponent().

                        @@ -244,12 +244,12 @@
                        -OctoPrintClient.getBaseUrl()
                        +OctoPrintClient.getBaseUrl()

                        Returns the canonical base URL to use for OctoPrint’s API. Uses the current value of OctoPrint.options.baseurl. If that doesn’t end in a /, a trailing / will be appended to the URL before the result is returned.

                        -
                        Returns string
                        +
                        Returns string:

                        The base url to use to access OctoPrint’s API.

                        @@ -257,15 +257,15 @@
                        -OctoPrintClient.getCookie(name)
                        +OctoPrintClient.getCookie(name)
                        -

                        New in version 1.8.3.

                        +

                        Added in version 1.8.3.

                        Returns the value of the cookie with name name. The port based cookie suffix and if necessary also the script root based suffix will be automatically applied to the name prior to looking up the value.

                        -
                        Return string
                        +
                        Return string:

                        The value of the cookie, if set & accessible, else an empty string.

                        @@ -273,7 +273,7 @@
                        -OctoPrintClient.getRequestHeaders(method, additional, opts)
                        +OctoPrintClient.getRequestHeaders(method, additional, opts)

                        Changed in version 1.8.3.

                        @@ -292,14 +292,14 @@ A warning will be logged to the debug console accordingly.

                        -
                        Arguments
                        +
                        Arguments:
                        • method (str()) – Method of the request for which to set headers

                        • additional (object()) – Additional headers to add to the request, optional.

                        • opts (object()) – Additional opts passed to the request, used to read cross domain setting, optional.

                        -
                        Returns object
                        +
                        Returns object:

                        HTTP headers to use for requests.

                        @@ -307,7 +307,7 @@
                        -OctoPrintClient.ajax(method, url, opts)
                        +OctoPrintClient.ajax(method, url, opts)

                        Performs an AJAX request against the OctoPrint API, utilizing jQuery’s own ajax function.

                        The HTTP method to use may be defined through opts.method or - if that is not provided – through the method parameter. If neither is available, GET will be used.

                        @@ -321,14 +321,14 @@ json will be used.

                        Anything provided in the opts parameter will also be passed on to the jQuery ajax call.

                        -
                        Arguments
                        +
                        Arguments:
                        • method (string()) – The HTTP method to use for the request (optional)

                        • url (string()) – The URL to perform the request against (optional)

                        • opts (object()) – Additional options to use for the request, see above for details (optional)

                        -
                        Returns Promise
                        +
                        Returns Promise:

                        A jQuery Promise for the request’s response

                        @@ -336,11 +336,11 @@
                        -OctoPrintClient.ajaxWithData(method, url, data, opts)
                        +OctoPrintClient.ajaxWithData(method, url, data, opts)

                        Performs an AJAX request against the OctoPrint API, including the provided data in the body of the request.

                        Utilizes OctoPrint.ajax(), see that for more details.

                        -
                        Arguments
                        +
                        Arguments:
                        • method (string()) – The HTTP method to use for the request (optional)

                        • url (string()) – The URL to perform the request against (optional)

                        • @@ -348,7 +348,7 @@
                        • opts (object()) – Additional options to use for the request (optional)

                        -
                        Returns Promise
                        +
                        Returns Promise:

                        A jQuery Promise for the request’s response

                        @@ -356,7 +356,7 @@
                        -OctoPrintClient.get(url, opts)
                        +OctoPrintClient.get(url, opts)

                        Performs a GET request against url.

                        Example:

                        OctoPrint.get("api/version")
                        @@ -366,13 +366,13 @@
                         
                        -
                        Arguments
                        +
                        Arguments:
                        • url (string()) – URL against which to make the request, relative to base url or absolute

                        • opts (object()) – Additional options for the request

                        -
                        Returns Promise
                        +
                        Returns Promise:

                        A jQuery Promise for the request’s response

                        @@ -380,7 +380,7 @@
                        -OctoPrintClient.getWithQuery(url, data, opts)
                        +OctoPrintClient.getWithQuery(url, data, opts)

                        Performs a GET request against url using the provided data as URL query.

                        Example:

                        // this should perform a GET of "api/timelapse?unrendered=true"
                        @@ -388,14 +388,14 @@
                         
                        -
                        Arguments
                        +
                        Arguments:
                        • url (string()) – URL against which to make the request, relative to base url or absolute

                        • data (object()) – An object containing the key/value pairs of the query data OR a string representation of the query

                        • opts (object()) – Additional options for the request

                        -
                        Returns Promise
                        +
                        Returns Promise:

                        A jQuery Promise for the request’s response

                        @@ -403,7 +403,7 @@
                        -OctoPrintClient.post(url, data, opts)
                        +OctoPrintClient.post(url, data, opts)

                        Performs a POST request against url using the provided data as request body.

                        Example:

                        var url = OctoPrint.getBlueprintUrl("myplugin") + "endpoint";
                        @@ -414,7 +414,7 @@
                         
                        -
                        Arguments
                        +
                        Arguments:
                        • url (string()) – URL against which to make the request, relative to base url or absolute

                        • data (string()) – Data to post as request body

                        • @@ -422,7 +422,7 @@
                        • opts – Additional options for the request

                        -
                        Returns Promise
                        +
                        Returns Promise:

                        A jQuery Promise for the request’s response

                        @@ -430,7 +430,7 @@
                        -OctoPrintClient.postJson(url, data, opts)
                        +OctoPrintClient.postJson(url, data, opts)

                        Performs a POST request against url using the provided data object as request body after serializing it to JSON.

                        Example:

                        @@ -442,14 +442,14 @@
                  • -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL against which to make the request, relative to base url or absolute

                    • data (object()) – Data to post as request body after serialization to JSON

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -457,14 +457,14 @@
                    -OctoPrintClient.put(url, data, opts)
                    +OctoPrintClient.put(url, data, opts)

                    Performs PUT request against url using the provided data as request body.

                    See OctoPrint.post() for details.

                    -OctoPrintClient.putJson(url, data, opts)
                    +OctoPrintClient.putJson(url, data, opts)

                    Performs PUT request against url using the provided data as request body after serializing it to JSON.

                    See OctoPrint.postJson() for details.

                    @@ -472,14 +472,14 @@
                    -OctoPrintClient.patch(url, data, opts)
                    +OctoPrintClient.patch(url, data, opts)

                    Performs PATCH request against url using the provided data as request body.

                    See OctoPrint.post() for details.

                    -OctoPrintClient.patchJson(url, data, opts)
                    +OctoPrintClient.patchJson(url, data, opts)

                    Performs PATCH request against url using the provided data as request body after serializing it to JSON.

                    See OctoPrint.postJson() for details.

                    @@ -487,16 +487,16 @@
                    -OctoPrintClient.delete(url, opts)
                    +OctoPrintClient.delete(url, opts)

                    Performs a DELETE request against url.

                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL against which to make the request, relative to base url or absolute

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -504,19 +504,19 @@
                    -OctoPrintClient.download(url, opts)
                    +OctoPrintClient.download(url, opts)

                    Downloads a file from url, returning the response body as data type text.

                    Use this if you need to download a file from the server in order to process it further in the client. The response body returned on successful completion of the returned jQuery Promise will contain the requested file as raw string/binary.

                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL to download

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -524,7 +524,7 @@
                    -OctoPrintClient.upload(url, file, filename, additional)
                    +OctoPrintClient.upload(url, file, filename, additional)

                    Uploads a file to url using a multipart/form-data POST request.

                    file should be either of

                    @@ -581,7 +581,7 @@
                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – URL to which to POST the upload, relative to base url or absolute

                    • file (object()) – The file to object, see description for details

                    • @@ -594,7 +594,7 @@
                      -OctoPrintClient.issueCommand(url, command, payload, opts)
                      +OctoPrintClient.issueCommand(url, command, payload, opts)

                      Issues a command against an OctoPrint command API endpoint.

                      OctoPrint contains various API endpoints which follow a specific pattern: The payload of the request body is a JSON object which contains at least one property command and depending on the provided command additional @@ -614,7 +614,7 @@

                    -
                    Arguments
                    +
                    Arguments:
                    • url (string()) – The URL to POST the command to

                    • command (string()) – The command to issue

                    • @@ -622,7 +622,7 @@
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -630,7 +630,7 @@
                    -OctoPrintClient.getSimpleApiUrl(plugin)
                    +OctoPrintClient.getSimpleApiUrl(plugin)

                    Returns the proper URL for the endpoint of a SimpleApiPlugin, based on the plugin identifier.

                    Example:

                    @@ -639,12 +639,12 @@
                    -
                    Arguments
                    +
                    Arguments:
                    • plugin (string()) – The identifier of the plugin for which to return the URL

                    -
                    Returns string
                    +
                    Returns string:

                    The URL to use as endpoint

                    @@ -652,7 +652,7 @@
                    -OctoPrintClient.simpleApiGet(plugin, opts)
                    +OctoPrintClient.simpleApiGet(plugin, opts)

                    Performs a GET request against the endpoint of a SimpleApiPlugin with identifier plugin.

                    OctoPrint.simpleApiGet("myplugin")
                    @@ -662,13 +662,13 @@
                     
                    -
                    Arguments
                    +
                    Arguments:
                    • plugin (string()) – The identifier of the plugin

                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -676,7 +676,7 @@
                    -OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)
                    +OctoPrintClient.simpleApiCommand(plugin, command, payload, opts)

                    Performs the API command command against the endpoint of a SimpleApiPlugin with identifier plugin, including the optional payload.

                    Example:

                    @@ -688,7 +688,7 @@
                    -
                    Arguments
                    +
                    Arguments:
                    • plugin (string()) – The identifier of the plugin

                    • command (string()) – The command to issue

                    • @@ -696,7 +696,7 @@
                    • opts (object()) – Additional options for the request

                    -
                    Returns Promise
                    +
                    Returns Promise:

                    A jQuery Promise for the request’s response

                    @@ -704,7 +704,7 @@
                    -OctoPrintClient.getBlueprintUrl(plugin)
                    +OctoPrintClient.getBlueprintUrl(plugin)

                    Returns the proper base URL for blueprint endpoints of a BlueprintPlugin with identifier plugin.

                    Example:

                    @@ -716,14 +716,14 @@
                    -OctoPrintClient.createRejectedDeferred()
                    +OctoPrintClient.createRejectedDeferred()

                    Static method.

                    Shortcut for creating a rejected jQuery Deferred.

                    -OctoPrintClient.createCustomException(name)
                    +OctoPrintClient.createCustomException(name)

                    Static method.

                    Creates a custom exception class. name may be either a function in which case it will be used as constructor for the new exception class, or a string, in which case a constructor with proper @@ -738,7 +738,7 @@

                    -OctoPrintClient.registerPluginComponent(identifier, clientClass)
                    +OctoPrintClient.registerPluginComponent(identifier, clientClass)

                    Static method.

                    Registers the plugin client component clientClass under the name identifier on the OctoPrintClient.plugins registry.

                    @@ -758,7 +758,7 @@
                    -
                    Arguments
                    +
                    Arguments:
                    • identifier (string()) – The identifier of the plugin for which clientClass is the client

                    • clientClass (class()) – The client class to register. Constructor must follow the signature ClientClass(base) @@ -771,7 +771,7 @@

                      -class OctoPrintClient.InvalidArgumentError()
                      +class OctoPrintClient.InvalidArgumentError()

                      Exception to use when functions are called with invalid arguments.

                      diff --git a/master/jsclientlib/browser.html b/master/jsclientlib/browser.html index 7c80d3945..d8e2310d8 100644 --- a/master/jsclientlib/browser.html +++ b/master/jsclientlib/browser.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.browser — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -145,10 +145,10 @@
                      -

                      OctoPrintClient.browser

                      +

                      OctoPrintClient.browser

                      -OctoPrintClient.browser.login(username, password, remember, opts)
                      +OctoPrintClient.browser.login(username, password, remember, opts)

                      Logs the browser into OctoPrint, using the provided username and password as credentials. If remember is set to true, the session will also persist across browser restarts.

                      @@ -160,7 +160,7 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • username (string()) – Username to log in with

                      • password (string()) – Password to log in with

                      • @@ -168,7 +168,7 @@
                      • opts (object()) – Additional request options

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -176,7 +176,7 @@
                      -OctoPrintClient.browser.passiveLogin(opts)
                      +OctoPrintClient.browser.passiveLogin(opts)

                      Tries to perform a passive login into OctoPrint, using existing session data stored in the browser’s cookies.

                      OctoPrint.browser.passiveLogin()
                      @@ -197,12 +197,12 @@
                       
                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional request options

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -210,15 +210,15 @@
                      -OctoPrintClient.browser.logout(opts)
                      +OctoPrintClient.browser.logout(opts)

                      Logs the browser out of OctoPrint.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional request options

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/connection.html b/master/jsclientlib/connection.html index 54c9b571c..b2b133782 100644 --- a/master/jsclientlib/connection.html +++ b/master/jsclientlib/connection.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.connection — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -146,19 +146,19 @@
                      -

                      OctoPrintClient.connection

                      +

                      OctoPrintClient.connection

                      -OctoPrintClient.connection.getSettings(opts)
                      +OctoPrintClient.connection.getSettings(opts)

                      Retrieves the available connection options for connection to a printer.

                      See Get connection settings for the response format.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -166,7 +166,7 @@
                      -OctoPrintClient.connection.connect(data, opts)
                      +OctoPrintClient.connection.connect(data, opts)

                      Connects to the printer, optionally using the provided connection data as parameters.

                      If data is provided it’s expected to be an object specifying one or more of

                      @@ -180,13 +180,13 @@

                      See Issue a connection command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • data (object()) – Connection data to use

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -194,16 +194,16 @@
                      -OctoPrintClient.connection.disconnect(opts)
                      +OctoPrintClient.connection.disconnect(opts)

                      Disconnects from the printer.

                      See Issue a connection command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -211,16 +211,16 @@
                      -OctoPrintClient.connection.fakeAck(opts)
                      +OctoPrintClient.connection.fakeAck(opts)

                      Triggers a fake acknowledgement (ok) on the printer.

                      See Issue a connection command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/control.html b/master/jsclientlib/control.html index 3abe97799..1f069bdfa 100644 --- a/master/jsclientlib/control.html +++ b/master/jsclientlib/control.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.control — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -147,18 +147,18 @@
                      -

                      OctoPrintClient.control

                      +

                      OctoPrintClient.control

                      -OctoPrintClient.control.getCustomControls(opts)
                      +OctoPrintClient.control.getCustomControls(opts)

                      Retrieves the defined custom controls from the server.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -166,18 +166,18 @@
                      -OctoPrintClient.control.sendGcode(commands, opts)
                      +OctoPrintClient.control.sendGcode(commands, opts)

                      Sends the provided commands to the printer.

                      Corresponds to the Send an arbitrary command to the printer API, see there for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • commands (list or string()) – One or more commands to send to the printer.

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -185,20 +185,20 @@
                      -OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)
                      +OctoPrintClient.control.sendGcodeWithParameters(commands, parameters, opts)

                      Sends the provided commands to the printer, replacing contained placeholders with the provided parameters first.

                      Corresponds to the Send an arbitrary command to the printer API, see there for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • commands (list or string()) – One or more commands to send to the printer

                      • parameters (object()) – Parameters (key-value-pairs) to replace placeholders in commands with

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -206,18 +206,18 @@
                      -OctoPrintClient.control.sendGcodeScript(script, context, opts)
                      +OctoPrintClient.control.sendGcodeScript(script, context, opts)

                      Sends the provided script to the printer, enhancing the template with the specified context.

                      -
                      Arguments
                      +
                      Arguments:
                      • script (string()) – Name of the script to send to the printer

                      • context (object()) – Template context

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -225,11 +225,11 @@
                      -OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)
                      +OctoPrintClient.control.sendGcodeScriptWithParameters(script, context, parameters, opts)

                      Sends the provided script to the printer, enhancing the template with the specified context and parameters.

                      -
                      Arguments
                      +
                      Arguments:
                      • script (string()) – Name of the script to send to the printer

                      • context (object()) – Template context

                      • @@ -237,7 +237,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/files.html b/master/jsclientlib/files.html index 81deeb325..5a01b26ef 100644 --- a/master/jsclientlib/files.html +++ b/master/jsclientlib/files.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.files — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -155,21 +155,21 @@
                      -

                      OctoPrintClient.files

                      +

                      OctoPrintClient.files

                      -OctoPrintClient.files.get(location, filename, opts)
                      +OctoPrintClient.files.get(location, filename, opts)

                      Retrieves information about the file filename at location.

                      See Retrieve a specific file’s information for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file

                      • filename (string()) – The name of the file

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -177,7 +177,7 @@
                      -OctoPrintClient.files.list(recursively, opts)
                      +OctoPrintClient.files.list(recursively, opts)

                      Retrieves a list of all files from the server.

                      The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -209,13 +209,13 @@

                      See Retrieve all files for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -223,7 +223,7 @@
                      -OctoPrintClient.files.listForLocation(location, recursively, opts)
                      +OctoPrintClient.files.listForLocation(location, recursively, opts)

                      Retrieves a list of all files stored at the specified location from the server.

                      The response from the server will be preprocessed such that all contained entries (recursively) will be guaranteed to have a parent, size and date property set at least with a value @@ -231,14 +231,14 @@

                      For folders, all children will have their parent property set to the folder entry.

                      See Retrieve files from specific location for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location for which to retrieve the list

                      • recursively (boolean()) – Whether to list the files recursively (including all sub folders, true) or not (false, default)

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -246,12 +246,12 @@
                      -OctoPrintClient.files.select(location, path, print, opts)
                      +OctoPrintClient.files.select(location, path, print, opts)

                      Selects a file at location named filename for printing. If print is supplied and truthy, also starts printing the file immediately.

                      See the select command in Issue a file command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file to select

                      • path (string()) – The name of the file to select

                      • @@ -259,7 +259,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -267,11 +267,11 @@
                      -OctoPrintClient.files.slice(location, path, parameters, opts)
                      +OctoPrintClient.files.slice(location, path, parameters, opts)

                      Slices a file at location called filename, using the supplied slice command parameters.

                      See the slice command in Issue a file command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file to slice

                      • path (string()) – The path of the file to slice

                      • @@ -279,7 +279,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -287,18 +287,18 @@
                      -OctoPrintClient.files.delete(location, path, opts)
                      +OctoPrintClient.files.delete(location, path, opts)

                      Deletes the file or folder at location and path.

                      See Delete file for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file to delete

                      • path (string()) – The path of the file to delete

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -306,7 +306,7 @@
                      -OctoPrintClient.files.copy(location, path, destination, opts)
                      +OctoPrintClient.files.copy(location, path, destination, opts)

                      Copies file or folder path on location to new parent folder destination on location.

                      destination must already exist.

                      Example:

                      @@ -315,7 +315,7 @@

                      See Issue a file command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file to copy, currently only “local” is supported

                      • path (string()) – The path of the file or folder to copy

                      • @@ -323,7 +323,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -331,7 +331,7 @@
                      -OctoPrintClient.files.move(location, filename, destination, opts)
                      +OctoPrintClient.files.move(location, filename, destination, opts)

                      Moves file or folder path on location to new parent folder destination on location.

                      destination must already exist.

                      Example:

                      @@ -340,7 +340,7 @@

                      See Issue a file command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file to move, currently only “local” is supported

                      • path (string()) – The path of the file or folder to move

                      • @@ -348,7 +348,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -356,7 +356,7 @@
                      -OctoPrintClient.files.createFolder(location, name, path, opts)
                      +OctoPrintClient.files.createFolder(location, name, path, opts)

                      Creates a new folder name on location. If path is provided and not empty the folder will be created as a new child of it.

                      Example:

                      @@ -369,7 +369,7 @@

                      See Upload file or create folder for more details on the folder creation API.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location to create the folder on (currently only “local” is supported)

                      • name (string()) – The name of the new folder

                      • @@ -378,7 +378,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -386,7 +386,7 @@
                      -OctoPrintClient.files.upload(location, file, data)
                      +OctoPrintClient.files.upload(location, file, data)

                      Uploads a file to the specified location.

                      Additional command data may be provided. Supported properties are:

                      @@ -407,13 +407,13 @@ OctoPrint.upload() for more details on the underlying library upload mechanism, including what values are accepted for the file parameter.

                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location to upload the file to

                      • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -421,7 +421,7 @@
                      -OctoPrintClient.files.download(location, path, opts)
                      +OctoPrintClient.files.download(location, path, opts)

                      Downloads the file at path in location.

                      The downloaded file will be returned as response body in the completed Promise. Note that not all locations support downloading of files (sdcard for example doesn’t).

                      @@ -434,14 +434,14 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • location (string()) – The location of the file to download

                      • path (string()) – The path of the file to download

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -449,7 +449,7 @@
                      -OctoPrintClient.files.pathForEntry(entry)
                      +OctoPrintClient.files.pathForEntry(entry)

                      Utility function to retrieve the path within its location for a given entry.

                      Use this if you already have a full list of entries and need the path to one.

                      Example

                      @@ -462,12 +462,12 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • entry (object()) – The entry object for which to retrieve the path

                      -
                      Returns string
                      +
                      Returns string:

                      The path of the entry within its location

                      @@ -475,7 +475,7 @@
                      -OctoPrintClient.files.entryForPath(path, root)
                      +OctoPrintClient.files.entryForPath(path, root)

                      Utility function to retrieve an entry by its path based on an entry tree provided by its root.

                      Use this if you already have a full list of entries and are looking for a specified entry @@ -495,14 +495,14 @@

                      -
                      Arguments
                      +
                      Arguments:
                      • path (string()) – The path of the entry to retrieve

                      • root (object()) – The root of the tree in which to resolve the entry by its path, either a list of entries or an entry element with children

                      -
                      Returns object or undefined
                      +
                      Returns object or undefined:

                      The retrieved entry, or undefined if the path could not be resolved

                      diff --git a/master/jsclientlib/index.html b/master/jsclientlib/index.html index eb9afcc88..bae5b9440 100644 --- a/master/jsclientlib/index.html +++ b/master/jsclientlib/index.html @@ -1,26 +1,26 @@ - + - + JavaScript Client Library — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -138,7 +138,7 @@
                      -

                      JavaScript Client Library

                      +

                      JavaScript Client Library

                      The JS Client Library provides an interface to all of OctoPrint’s API, including the SockJS based socket to send push messages from the server to connected clients. It is available as packed web asset file at /static/webassets/packed_client.js or as individual diff --git a/master/jsclientlib/job.html b/master/jsclientlib/job.html index 0a5704a3a..a2db48908 100644 --- a/master/jsclientlib/job.html +++ b/master/jsclientlib/job.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.job — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -149,19 +149,19 @@

                      -

                      OctoPrintClient.job

                      +

                      OctoPrintClient.job

                      -OctoPrintClient.job.get(opts)
                      +OctoPrintClient.job.get(opts)

                      Retrieves information about the current job.

                      See Retrieve information about the current job for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -169,16 +169,16 @@
                      -OctoPrintClient.job.start(opts)
                      +OctoPrintClient.job.start(opts)

                      Starts the current job.

                      See Issue a job command for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -186,16 +186,16 @@
                      -OctoPrintClient.job.cancel(opts)
                      +OctoPrintClient.job.cancel(opts)

                      Cancels the current job.

                      See Issue a job command for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -203,7 +203,7 @@
                      -OctoPrintClient.job.restart(opts)
                      +OctoPrintClient.job.restart(opts)

                      Restarts the current job. This is equivalent to cancelling and immediately restarting the job.

                      Example:

                      @@ -219,12 +219,12 @@

                      See Issue a job command for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -232,16 +232,16 @@
                      -OctoPrintClient.job.pause(opts)
                      +OctoPrintClient.job.pause(opts)

                      Pauses the current job if it’s running, does nothing if it’s already paused.

                      See Issue a job command for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -249,16 +249,16 @@
                      -OctoPrintClient.job.resume(opts)
                      +OctoPrintClient.job.resume(opts)

                      Resumes the current job if it’s currently paused, does nothing if it’s running.

                      See Issue a job command for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -266,16 +266,16 @@
                      -OctoPrintClient.job.togglePause(opts)
                      +OctoPrintClient.job.togglePause(opts)

                      Resumes a paused and pauses a running job.

                      See Issue a job command for details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/languages.html b/master/jsclientlib/languages.html index e5dd49bfb..699358ecd 100644 --- a/master/jsclientlib/languages.html +++ b/master/jsclientlib/languages.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.languages — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -145,7 +145,7 @@
                      -

                      OctoPrintClient.languages

                      +

                      OctoPrintClient.languages

                      Note

                      All methods here require that the used API token or the existing browser session @@ -153,15 +153,15 @@

                      -OctoPrintClient.languages.list(opts)
                      +OctoPrintClient.languages.list(opts)

                      Retrieves a list of available language packs.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -169,15 +169,15 @@
                      -OctoPrintClient.languages.upload(file)
                      +OctoPrintClient.languages.upload(file)

                      Uploads a language pack.

                      -
                      Arguments
                      +
                      Arguments:
                      • file (object or string()) – The file to upload, see OctoPrint.upload() for more details

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -185,17 +185,17 @@
                      -OctoPrintClient.languages.delete(locale, pack, opts)
                      +OctoPrintClient.languages.delete(locale, pack, opts)

                      Deletes the language pack pack for the specified locale locale.

                      -
                      Arguments
                      +
                      Arguments:
                      • locale (string()) – The locale for which to delete the language pack

                      • pack (string()) – The identifier of the pack to delete

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/logs.html b/master/jsclientlib/logs.html index 37942be88..3017898ed 100644 --- a/master/jsclientlib/logs.html +++ b/master/jsclientlib/logs.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.logs — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -140,7 +140,7 @@
                      -

                      OctoPrintClient.logs

                      +

                      OctoPrintClient.logs

                      Log file management (and logging configuration) was moved into a bundled plugin in OctoPrint 1.3.7. Refer to the Logging’s plugins JS Client Library for the JS Client documentation.

                      The former module OctoPrintClient.logs and its methods are marked as deprecated but still work for now. New diff --git a/master/jsclientlib/printer.html b/master/jsclientlib/printer.html index 20902d4d2..ad601bdd3 100644 --- a/master/jsclientlib/printer.html +++ b/master/jsclientlib/printer.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printer — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -162,7 +162,7 @@

                      -

                      OctoPrintClient.printer

                      +

                      OctoPrintClient.printer

                      Note

                      All commands here that interact with the printer (anything that sends a command) will @@ -173,7 +173,7 @@

                      -OctoPrintClient.printer.getFullState(flags, opts)
                      +OctoPrintClient.printer.getFullState(flags, opts)

                      Retrieves the full printer state, including temperature information, sd state and general printer state.

                      The flags object can be used to specify the data to retrieve further via the following @@ -188,13 +188,13 @@

                      See Retrieve the current printer state for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • flags (object()) – Flags that further specify which data to retrieve, see above for details

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -202,7 +202,7 @@
                      -OctoPrintClient.printer.getToolState(flags, opts)
                      +OctoPrintClient.printer.getToolState(flags, opts)

                      Retrieves the current printer extruder state/temperature information, and optionally also the temperature history.

                      The flags object can be used to specify the data to retrieve further via the following @@ -216,13 +216,13 @@

                      See Retrieve the current tool state for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • flags (object()) – Flags that further specify which data to retrieve, see above for details

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -230,7 +230,7 @@
                      -OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)
                      +OctoPrintClient.printer.setToolTargetTemperatures(targets, opts)

                      Sets the given temperatures on the printer’s extruders.

                      targets is expected to be an object mapping tool identifier to target temperature to set.

                      Example:

                      @@ -240,13 +240,13 @@

                      See the target command in Issue a tool command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • targets (object()) – The targets to set

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -254,7 +254,7 @@
                      -OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)
                      +OctoPrintClient.printer.setToolTemperatureOffsets(offsets, opts)

                      Sets the given temperature offsets for the printer’s extruders.

                      offsets is expected to be an object mapping tool identifier to offset to set.

                      Example:

                      @@ -265,13 +265,13 @@

                      See the offset command in Issue a tool command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • offsets (object()) – The offsets to set

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -279,7 +279,7 @@
                      -OctoPrintClient.printer.selectTool(tool, opts)
                      +OctoPrintClient.printer.selectTool(tool, opts)

                      Selects the printer’s current extruder.

                      tool is the identifier of the extruder to select.

                      Example:

                      @@ -295,13 +295,13 @@

                      See the select command in Issue a tool command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • tool (string()) – The tool identifier of the extruder to select

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -309,7 +309,7 @@
                      -OctoPrintClient.printer.extrude(amount, opts)
                      +OctoPrintClient.printer.extrude(amount, opts)

                      Extrudes or retracts amount mm of filament on the currently selected extruder.

                      Example:

                      Extrude 5mm of filament on the current extruder, then retract 2mm.

                      @@ -321,13 +321,13 @@

                      See the extrude command in Issue a tool command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • amount (float()) – The amount of filament to extrude/retract.

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -335,18 +335,18 @@
                      -OctoPrintClient.printer.setFlowrate(factor, opts)
                      +OctoPrintClient.printer.setFlowrate(factor, opts)

                      Sets the current flowrate multiplier.

                      factor is expected to be a integer value >0 representing the new flowrate percentage.

                      See the flowrate command in Issue a tool command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • factor (integer()) – The flowrate as percentage

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -354,7 +354,7 @@
                      -OctoPrintClient.printer.getBedState(data, opts)
                      +OctoPrintClient.printer.getBedState(data, opts)

                      Retrieves the current printer bed state/temperature information, and optionally also the temperature history.

                      The flags object can be used to specify the data to retrieve further via the following @@ -368,13 +368,13 @@

                      See Retrieve the current bed state for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • flags (object()) – Flags that further specify which data to retrieve, see above for details

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -382,7 +382,7 @@
                      -OctoPrintClient.printer.setBedTargetTemperature(target, opts)
                      +OctoPrintClient.printer.setBedTargetTemperature(target, opts)

                      Sets the given temperature on the printer’s heated bed (if available).

                      target is expected to be the target temperature as a float value.

                      Example:

                      @@ -392,13 +392,13 @@

                      See the target command in Issue a bed command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • target (float()) – The target to set

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -406,7 +406,7 @@
                      -OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)
                      +OctoPrintClient.printer.setBedTemperatureOffset(offset, opts)

                      Sets the given temperature offset for the printer’s heated bed (if available).

                      offset is expected to be the temperature offset to set.

                      Example:

                      @@ -416,13 +416,13 @@

                      See the offset command in Issue a bed command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • offsets (object()) – The offsets to set

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -430,7 +430,7 @@
                      -OctoPrintClient.printer.getChamberState(data, opts)
                      +OctoPrintClient.printer.getChamberState(data, opts)

                      Retrieves the current printer chamber state/temperature information, and optionally also the temperature history.

                      The flags object can be used to specify the data to retrieve further via the following @@ -444,13 +444,13 @@

                      See Retrieve the current bed state for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • flags (object()) – Flags that further specify which data to retrieve, see above for details

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -458,7 +458,7 @@
                      -OctoPrintClient.printer.setChamberTargetTemperature(target, opts)
                      +OctoPrintClient.printer.setChamberTargetTemperature(target, opts)

                      Sets the given temperature on the printer’s heated chamber (if available).

                      target is expected to be the target temperature as a float value.

                      Example:

                      @@ -468,13 +468,13 @@

                      See the target command in Issue a chamber command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • target (float()) – The target to set

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -482,7 +482,7 @@
                      -OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)
                      +OctoPrintClient.printer.setChamberTemperatureOffset(offset, opts)

                      Sets the given temperature offset for the printer’s heated chamber (if available).

                      offset is expected to be the temperature offset to set.

                      Example:

                      @@ -492,13 +492,13 @@

                      See the offset command in Issue a chamber command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • offsets (object()) – The offsets to set

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -506,7 +506,7 @@
                      -OctoPrintClient.printer.jog(amounts, opts)
                      +OctoPrintClient.printer.jog(amounts, opts)

                      Jogs the specified axes by the specified amounts.

                      amounts is expected to be an object with properties reflecting the axes to be jogged by the specified amount given as value.

                      @@ -521,13 +521,13 @@

                      See the jog command in Issue a print head command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • amounts (object()) – Key-value-pairs of axes to jog and amount to jog it.

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -535,7 +535,7 @@
                      -OctoPrintClient.printer.home(axes, opts)
                      +OctoPrintClient.printer.home(axes, opts)

                      Homes the specified axes.

                      axes is expected to be an array of strings specifying the axes to home.

                      Example:

                      @@ -549,13 +549,13 @@

                      See the home command in Issue a print head command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • axes (array()) – List of axes to home

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -563,18 +563,18 @@
                      -OctoPrintClient.printer.setFeedrate(factor, opts)
                      +OctoPrintClient.printer.setFeedrate(factor, opts)

                      Sets the feedrate multiplier to use.

                      factor is expected to be a integer value >0 representing the new feedrate percentage.

                      See the feedrate command in Issue a print head command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • factor (integer()) – The feedrate multiplier as percentage

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -582,16 +582,16 @@
                      -OctoPrintClient.printer.getSdState(opts)
                      +OctoPrintClient.printer.getSdState(opts)

                      Retrieves the current ready state of the printer’s SD card.

                      See Retrieve the current SD state for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -599,16 +599,16 @@
                      -OctoPrintClient.printer.initSd(opts)
                      +OctoPrintClient.printer.initSd(opts)

                      Instructs the printer to initialize its SD card (if present).

                      See the init command in Issue an SD command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -616,16 +616,16 @@
                      -OctoPrintClient.printer.refreshSd(opts)
                      +OctoPrintClient.printer.refreshSd(opts)

                      Instructs the printer to refresh the list of files on the SD card (if present).

                      See the refresh command in Issue an SD command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -633,16 +633,16 @@
                      -OctoPrintClient.printer.releaseSd(opts)
                      +OctoPrintClient.printer.releaseSd(opts)

                      Instructs the printer to release its SD card (if present).

                      See the release command in Issue an SD command for more details.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/printerprofiles.html b/master/jsclientlib/printerprofiles.html index 5b9a21e95..b045ad65f 100644 --- a/master/jsclientlib/printerprofiles.html +++ b/master/jsclientlib/printerprofiles.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.printerprofiles — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -147,18 +147,18 @@
                      -

                      OctoPrintClient.printerprofiles

                      +

                      OctoPrintClient.printerprofiles

                      -OctoPrintClient.printerprofiles.list(opts)
                      +OctoPrintClient.printerprofiles.list(opts)

                      Retrieves a list of all configured printer profiles.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -166,15 +166,15 @@
                      -OctoPrintClient.printerprofiles.get(id, opts)
                      +OctoPrintClient.printerprofiles.get(id, opts)
                      -
                      Arguments
                      +
                      Arguments:
                      • id (string()) – The identifier of the profile to retrieve

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -182,17 +182,17 @@
                      -OctoPrintClient.printerprofiles.add(profile, additional, opts)
                      +OctoPrintClient.printerprofiles.add(profile, additional, opts)

                      Adds a new profile to OctoPrint.

                      -
                      Arguments
                      +
                      Arguments:
                      • profile (string()) – The data of the profile to add

                      • basedOn (string()) – The identifier of the profile to base this profile on (optional)

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -200,17 +200,17 @@
                      -OctoPrintClient.printerprofiles.update(id, profile, opts)
                      +OctoPrintClient.printerprofiles.update(id, profile, opts)

                      Updates an existing profile in OctoPrint.

                      -
                      Arguments
                      +
                      Arguments:
                      • id (string()) – The identifier of the profile to update

                      • profile (string()) – The data of the profile to update

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -218,16 +218,16 @@
                      -OctoPrintClient.printerprofiles.delete(id, opts)
                      +OctoPrintClient.printerprofiles.delete(id, opts)

                      Deletes a profile in OctoPrint.

                      -
                      Arguments
                      +
                      Arguments:
                      • id (string()) – The identifier of the profile to delete

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/settings.html b/master/jsclientlib/settings.html index ed5e3bbe9..ebb226c60 100644 --- a/master/jsclientlib/settings.html +++ b/master/jsclientlib/settings.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.settings — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -147,18 +147,18 @@
                      -

                      OctoPrintClient.settings

                      +

                      OctoPrintClient.settings

                      -OctoPrintClient.settings.get(opts)
                      +OctoPrintClient.settings.get(opts)

                      Retrieves the current settings.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -166,16 +166,16 @@
                      -OctoPrintClient.settings.save(settings, opts)
                      +OctoPrintClient.settings.save(settings, opts)

                      Saves the provided settings.

                      -
                      Arguments
                      +
                      Arguments:
                      • settings (object()) – The settings to save

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -183,16 +183,16 @@
                      -OctoPrintClient.settings.getPluginSettings(plugin, opts)
                      +OctoPrintClient.settings.getPluginSettings(plugin, opts)

                      Retrieves the settings of the specified plugin.

                      -
                      Arguments
                      +
                      Arguments:
                      • plugin (string()) – The plugin for which to retrieve the settings

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -200,17 +200,17 @@
                      -OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)
                      +OctoPrintClient.settings.savePluginSettings(plugin, settings, opts)

                      Saves the settings for the specified plugin.

                      -
                      Arguments
                      +
                      Arguments:
                      • plugin (string()) – The plugin for which to save settings

                      • settings (object()) – The settings to save

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -218,15 +218,15 @@
                      -OctoPrintClient.settings.generateApiKey(opts)
                      +OctoPrintClient.settings.generateApiKey(opts)

                      Generate a new system wide API key.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/slicing.html b/master/jsclientlib/slicing.html index dde68b937..476e78c6e 100644 --- a/master/jsclientlib/slicing.html +++ b/master/jsclientlib/slicing.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.slicing — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -148,18 +148,18 @@
                      -

                      OctoPrintClient.slicing

                      +

                      OctoPrintClient.slicing

                      -OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)
                      +OctoPrintClient.slicing.listAllSlicersAndProfiles(opts)

                      Retrieves a list of all slicers and their available slicing profiles.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -167,16 +167,16 @@
                      -OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)
                      +OctoPrintClient.slicing.listProfilesForSlicer(slicer, opts)

                      Retrieves of all slicing profiles for the specified slicer.

                      -
                      Arguments
                      +
                      Arguments:
                      • slicer (string()) – The identifier of the slicer for which to retrieve the profiles

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -184,17 +184,17 @@
                      -OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)
                      +OctoPrintClient.slicing.getProfileForSlicer(slicer, profileId, opts)

                      Retrieves the slicing profile with profileId for the specified slicer.

                      -
                      Arguments
                      +
                      Arguments:
                      • slicer (string()) – The slicer for which to retrieve the profile

                      • profileId (string()) – The identifier of the profile to retrieve

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -202,10 +202,10 @@
                      -OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)
                      +OctoPrintClient.slicing.addProfileForSlicer(slicer, profileId, profile, opts)

                      Adds the profile with identifier profileId to the specified slicer, using the provided profile data.

                      -
                      Arguments
                      +
                      Arguments:
                      • slicer (string()) – The slicer for which to add the profile

                      • profileId (string()) – The identifier for the profile to add

                      • @@ -213,7 +213,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -221,10 +221,10 @@
                      -OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)
                      +OctoPrintClient.slicing.updateProfileForSlicer(slicer, profileId, profile, opts)

                      Updates the profile profileId for slicer with the provided profile data.

                      -
                      Arguments
                      +
                      Arguments:
                      • slicer (string()) – The slicer for which to update the profile

                      • profileId (string()) – The identifier for the profile to update

                      • @@ -232,7 +232,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -240,15 +240,15 @@
                      -OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)
                      +OctoPrintClient.slicing.deleteProfileForSlicer(slicer, profileId, opts)

                      Deletes the profile profileId for slicer.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/socket.html b/master/jsclientlib/socket.html index c183125a9..d6ab93b04 100644 --- a/master/jsclientlib/socket.html +++ b/master/jsclientlib/socket.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.socket — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -156,10 +156,10 @@
                      -

                      OctoPrintClient.socket

                      +

                      OctoPrintClient.socket

                      -OctoPrintClient.socket.options
                      +OctoPrintClient.socket.options

                      The socket client’s options.

                      OctoPrintClient.socket.options.timeouts

                      A list of consecutive timeouts after which to attempt reconnecting to a @@ -176,12 +176,12 @@

                      -OctoPrintClient.socket.connect(opts)
                      +OctoPrintClient.socket.connect(opts)

                      Connects the socket client to OctoPrint’s SockJS socket.

                      The optional parameter opts may be used to provide additional configuration options to the SockJS constructor. See the SockJS documentation on potential options.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the SockJS constructor.

                      @@ -191,19 +191,19 @@
                      -OctoPrintClient.socket.reconnect()
                      +OctoPrintClient.socket.reconnect()

                      Reconnects the socket client. If the socket is currently connected it will be disconnected first.

                      -OctoPrintClient.socket.disconnect()
                      +OctoPrintClient.socket.disconnect()

                      Disconnects the socket client.

                      -OctoPrintClient.socket.onMessage(message, handler)
                      +OctoPrintClient.socket.onMessage(message, handler)

                      Registers the handler for messages of type message.

                      To register for all message types, provide * as the type to register for.

                      handler is expected to be a function accepting one object parameter eventObj, consisting @@ -219,7 +219,7 @@

                      Please refer to the Push API documentation for details on the possible message types and their payloads.

                      -
                      Arguments
                      +
                      Arguments:
                      • message (string()) – The type of message for which to register

                      • handler (function()) – The handler function

                      • @@ -230,7 +230,7 @@
                        -OctoPrintClient.socket.removeMessage(message, handler)
                        +OctoPrintClient.socket.removeMessage(message, handler)

                        Removes the handler for messages of type message.

                        const handler = (message) => {
                             // do something with the message object
                        @@ -242,7 +242,7 @@
                         
                        -
                        Arguments
                        +
                        Arguments:
                        • message (string()) – The type of message for which to remove the handler

                        • handler (function()) – The handler function

                        • @@ -253,12 +253,12 @@
                          -OctoPrintClient.socket.sendMessage(type, payload)
                          +OctoPrintClient.socket.sendMessage(type, payload)

                          Sends a message of type type with the provided payload to the server.

                          Note that at the time of writing, OctoPrint only supports the throttle and auth messages. See also the Push API documentation.

                          -
                          Arguments
                          +
                          Arguments:
                          • type (string()) – Type of message to send

                          • payload (object()) – Payload to send

                          • @@ -269,13 +269,13 @@
                            -OctoPrintClient.socket.sendAuth(userId, session)
                            +OctoPrintClient.socket.sendAuth(userId, session)

                            Sends an auth message with the provided userId and session to the server.

                            session is expected to be the session value retrieved from any valid OctoPrint.browser.login(userId,…) response.

                            See also the Push API documentation.

                            -
                            Arguments
                            +
                            Arguments:
                            • userId (string()) – An existing OctoPrint username

                            • session (string()) – A valid session id for the provided username

                            • @@ -286,14 +286,14 @@
                              -OctoPrintClient.socket.onRateTooLow(measured, minimum)
                              +OctoPrintClient.socket.onRateTooLow(measured, minimum)

                              Called by the socket client when the measured message round trip times have been lower than the current lower processing limit over the full sliding window, indicating that messages are now processed faster than the current rate and a faster rate might be possible.

                              Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.increaseRate().

                              -
                              Arguments
                              +
                              Arguments:
                              • measured (Number()) – Maximal measured message round trip time

                              • minimum (Number()) – Lower round trip time limit for keeping the rate

                              • @@ -304,14 +304,14 @@
                                -OctoPrintClient.socket.onRateTooHigh(measured, maximum)
                                +OctoPrintClient.socket.onRateTooHigh(measured, maximum)

                                Called by the socket client when the last measured round trip time was higher than the current upper processing limit, indicating that the messages are now processed slower than the current rate requires and a slower rate might be necessary.

                                Can be overwritten with custom handler methods. The default implementation will call OctoPrint.socket.decreaseRate().

                                -
                                Arguments
                                +
                                Arguments:
                                • measured (Number()) – Measured message round trip time

                                • minimum (Number()) – Upper round trip time limit for keeping the rate

                                • @@ -322,18 +322,18 @@
                                  -OctoPrintClient.socket.increaseRate()
                                  +OctoPrintClient.socket.increaseRate()

                                  Instructs the server to increase the message rate by 500ms.

                                  -OctoPrintClient.socket.decreaseRate()
                                  +OctoPrintClient.socket.decreaseRate()

                                  Instructs the server to decrease the message rate by 500ms.

                                  -

                                  Sample to setup an authed socket

                                  +

                                  Sample to setup an authed socket

                                  If you have a username and a password:

                                  OctoPrint.socket.connect();
                                   OctoPrint.browser.login("myusername", "mypassword", true)
                                  @@ -356,7 +356,7 @@
                                   
                                  -

                                  Communication Throttling

                                  +

                                  Communication Throttling

                                  The socket client supports communication throttling. It will measure how long each incoming message takes to be processed by all registered handlers. If the processing times in a sliding window are longer than the current rate limit configured on the socket (default: 500ms between messages), the socket client will diff --git a/master/jsclientlib/system.html b/master/jsclientlib/system.html index c9bcc6fa1..4612895f3 100644 --- a/master/jsclientlib/system.html +++ b/master/jsclientlib/system.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.system — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -145,7 +145,7 @@

                                  -

                                  OctoPrintClient.system

                                  +

                                  OctoPrintClient.system

                                  Note

                                  All methods here require that the used API token or the existing browser session @@ -153,15 +153,15 @@

                                  -OctoPrintClient.system.getCommands(opts)
                                  +OctoPrintClient.system.getCommands(opts)

                                  Retrieves a list of configured system commands for both core and custom sources.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -169,16 +169,16 @@

                                  -OctoPrintClient.system.getCommandsForSource(source, opts)
                                  +OctoPrintClient.system.getCommandsForSource(source, opts)

                                  Retrieves a list of system commands, limiting it to the specified source, which might be either core or custom.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -186,17 +186,17 @@

                                  -OctoPrintClient.system.executeCommand(source, action, opts)
                                  +OctoPrintClient.system.executeCommand(source, action, opts)

                                  Executes command action on source.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • source (string()) – The source of the command to execute

                                  • action (string()) – The action identifier of the command to execute

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  diff --git a/master/jsclientlib/timelapse.html b/master/jsclientlib/timelapse.html index 1116a6473..1d23a4eef 100644 --- a/master/jsclientlib/timelapse.html +++ b/master/jsclientlib/timelapse.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.timelapse — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -152,20 +152,20 @@
                                  -

                                  OctoPrintClient.timelapse

                                  +

                                  OctoPrintClient.timelapse

                                  -OctoPrintClient.timelapse.get(unrendered, opts)
                                  +OctoPrintClient.timelapse.get(unrendered, opts)

                                  Get a list of all timelapses and the current timelapse config.

                                  If unrendered is true, also retrieve the list of unrendered timelapses.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -173,18 +173,18 @@
                                  -OctoPrintClient.timelapse.list(opts)
                                  +OctoPrintClient.timelapse.list(opts)

                                  Get the lists of rendered and unrendered timelapses. The returned promise will be resolved with an object containing the properties rendered which will have the list of rendered timelapses, and unrendered which will have the list of unrendered timelapses.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -192,15 +192,15 @@
                                  -OctoPrintClient.timelapse.listRendered(opts)
                                  +OctoPrintClient.timelapse.listRendered(opts)

                                  Get the list of rendered timelapses.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -208,15 +208,15 @@
                                  -OctoPrintClient.timelapse.listUnrendered(opts)
                                  +OctoPrintClient.timelapse.listUnrendered(opts)

                                  Get the list of unrendered timelapses.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -224,16 +224,16 @@
                                  -OctoPrintClient.timelapse.download(filename, opts)
                                  +OctoPrintClient.timelapse.download(filename, opts)

                                  Download the rendered timelapse filename.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • filename (string()) – The name of the rendered timelapse to download

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -241,16 +241,16 @@
                                  -OctoPrintClient.timelapse.delete(filename, opts)
                                  +OctoPrintClient.timelapse.delete(filename, opts)

                                  Delete the rendered timelapse filename.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • filename (string()) – The name of the rendered timelapse to delete

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -258,16 +258,16 @@
                                  -OctoPrintClient.timelapse.deleteUnrendered(name, opts)
                                  +OctoPrintClient.timelapse.deleteUnrendered(name, opts)

                                  Delete the unrendered timelapse name.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The name of the unrendered timelapse to delete

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -275,16 +275,16 @@
                                  -OctoPrintClient.timelapse.renderUnrendered(name, opts)
                                  +OctoPrintClient.timelapse.renderUnrendered(name, opts)

                                  Render the unrendered timelapse name.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The name of the unrendered timelapse to render

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -292,15 +292,15 @@
                                  -OctoPrintClient.timelapse.getConfig(opts)
                                  +OctoPrintClient.timelapse.getConfig(opts)

                                  Get the current timelapse configuration.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -308,16 +308,16 @@
                                  -OctoPrintClient.timelapse.saveConfig(config, opts)
                                  +OctoPrintClient.timelapse.saveConfig(config, opts)

                                  Save the timelapse configuration.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • config (object()) – The config to save

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  diff --git a/master/jsclientlib/users.html b/master/jsclientlib/users.html index 9d5f8a3fc..971a1a4d8 100644 --- a/master/jsclientlib/users.html +++ b/master/jsclientlib/users.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.users — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -152,7 +152,7 @@
                                  -

                                  OctoPrintClient.users

                                  +

                                  OctoPrintClient.users

                                  Note

                                  Most methods here require that the used API token or the existing browser session @@ -161,16 +161,16 @@

                                  -OctoPrintClient.users.list(opts)
                                  +OctoPrintClient.users.list(opts)

                                  Get a list of all registered users.

                                  Requires admin rights.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -178,16 +178,16 @@
                                  -OctoPrintClient.users.get(name, opts)
                                  +OctoPrintClient.users.get(name, opts)

                                  Get information about a specific user.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -195,17 +195,17 @@
                                  -OctoPrintClient.users.add(user, opts)
                                  +OctoPrintClient.users.add(user, opts)

                                  Add a new user.

                                  Requires admin rights.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • user (object()) – The new user

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -213,11 +213,11 @@
                                  -OctoPrintClient.users.update(name, active, admin, opts)
                                  +OctoPrintClient.users.update(name, active, admin, opts)

                                  Update an existing user.

                                  Requires admin rights.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • active (bool()) – The new active state of the user

                                  • @@ -225,7 +225,7 @@
                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -233,17 +233,17 @@
                                  -OctoPrintClient.users.delete(name, opts)
                                  +OctoPrintClient.users.delete(name, opts)

                                  Delete an existing user.

                                  Requires admin rights.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -251,17 +251,17 @@
                                  -OctoPrintClient.users.changePassword(name, password, opts)
                                  +OctoPrintClient.users.changePassword(name, password, opts)

                                  Change the password for a user.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • password (string()) – The new password

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -269,16 +269,16 @@
                                  -OctoPrintClient.users.generateApiKey(name, opts)
                                  +OctoPrintClient.users.generateApiKey(name, opts)

                                  Generate a new API key for a user.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -286,16 +286,16 @@
                                  -OctoPrintClient.users.resetApiKey(name, opts)
                                  +OctoPrintClient.users.resetApiKey(name, opts)

                                  Reset the API key for a user to being unset.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -303,16 +303,16 @@
                                  -OctoPrintClient.users.getSettings(name, opts)
                                  +OctoPrintClient.users.getSettings(name, opts)

                                  Get the settings for a user.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -320,17 +320,17 @@
                                  -OctoPrintClient.users.saveSettings(name, settings, opts)
                                  +OctoPrintClient.users.saveSettings(name, settings, opts)

                                  Save the settings for a user.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • name (string()) – The user’s name

                                  • settings (object()) – The new settings, may be a partial set of settings which will be merged unto the current ones

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  diff --git a/master/jsclientlib/util.html b/master/jsclientlib/util.html index e0591b8c7..999754cf2 100644 --- a/master/jsclientlib/util.html +++ b/master/jsclientlib/util.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.util — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -148,7 +148,7 @@
                                  -

                                  OctoPrintClient.util

                                  +

                                  OctoPrintClient.util

                                  Note

                                  All methods here require that the used API token or the existing browser session @@ -156,18 +156,18 @@

                                  -OctoPrintClient.util.test(command, parameters, opts)
                                  +OctoPrintClient.util.test(command, parameters, opts)

                                  Execute a test command.

                                  See below for the more specialized versions of this.

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • command (string()) – The command to execute (currently either path or url)

                                  • parameters (object()) – The parameters for the command

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -175,7 +175,7 @@
                                  -OctoPrintClient.util.testPath(path, additional, opts)
                                  +OctoPrintClient.util.testPath(path, additional, opts)

                                  Test the provided path for existence. More test criteria supported by the path test command can be provided via the additional object.

                                  Example 1

                                  @@ -203,14 +203,14 @@
                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • path (string()) – Path to test

                                  • additional (object()) – Additional parameters for the test command

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -218,7 +218,7 @@
                                  -OctoPrintClient.util.testExecutable(path, opts)
                                  +OctoPrintClient.util.testExecutable(path, opts)

                                  Shortcut to test if a provided path exists and is executable by OctoPrint.

                                  Example

                                  Test if /some/path/to/a/file exists and can be executed by OctoPrint.

                                  @@ -244,13 +244,13 @@

                                  -
                                  Arguments
                                  +
                                  Arguments:
                                  • path (string()) – Path to test

                                  • opts (object()) – Additional options for the request

                                  -
                                  Returns Promise
                                  +
                                  Returns Promise:

                                  A jQuery Promise for the request’s response

                                  @@ -258,7 +258,7 @@
                                  -OctoPrintClient.util.testUrl(url, additional, opts)
                                  +OctoPrintClient.util.testUrl(url, additional, opts)

                                  Test if a URL can be accessed. More test criteria supported by the URL test command can be provided via the additional object.

                                  Example 1

                                  @@ -309,14 +309,14 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • url (string()) – URL to test

                      • additional (object()) – Additional parameters for the test command

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -324,7 +324,7 @@
                      -OctoPrintClient.util.testServer(host, port, additional, opts)
                      +OctoPrintClient.util.testServer(host, port, additional, opts)

                      Test if a server is reachable. More options supported by the server test command can be provided via the additional object.

                      Example 1

                      @@ -352,7 +352,7 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • url (string()) – Host to test

                      • port (int()) – Port to test

                      • @@ -360,7 +360,7 @@
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -368,7 +368,7 @@
                      -OctoPrintClient.util.testResolution(name, additional, opts)
                      +OctoPrintClient.util.testResolution(name, additional, opts)

                      Test if a host name can be resolved.

                      Example

                      Test if octoprint.org can be resolved.

                      @@ -383,14 +383,14 @@
                      -
                      Arguments
                      +
                      Arguments:
                      • name (string()) – Host name to test

                      • additional (object()) – Additional parameters for the test command

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/jsclientlib/wizard.html b/master/jsclientlib/wizard.html index 3b30c8b21..8b75b3edc 100644 --- a/master/jsclientlib/wizard.html +++ b/master/jsclientlib/wizard.html @@ -1,26 +1,26 @@ - + - + OctoPrintClient.wizard — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -143,7 +143,7 @@
                      -

                      OctoPrintClient.wizard

                      +

                      OctoPrintClient.wizard

                      Note

                      All methods here require that the used API token or the existing browser session @@ -151,15 +151,15 @@

                      -OctoPrintClient.wizard.get(opts)
                      +OctoPrintClient.wizard.get(opts)

                      Retrieve additional data about registered wizards.

                      -
                      Arguments
                      +
                      Arguments:
                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      @@ -167,16 +167,16 @@
                      -OctoPrintClient.wizard.finish(handled, opts)
                      +OctoPrintClient.wizard.finish(handled, opts)

                      Inform wizards that the wizard dialog has been finished.

                      -
                      Arguments
                      +
                      Arguments:
                      • handled (list()) – List of identifiers of handled wizards

                      • opts (object()) – Additional options for the request

                      -
                      Returns Promise
                      +
                      Returns Promise:

                      A jQuery Promise for the request’s response

                      diff --git a/master/modules/access.html b/master/modules/access.html index ea2ae4bea..50d0f0eda 100644 --- a/master/modules/access.html +++ b/master/modules/access.html @@ -1,26 +1,26 @@ - + - + octoprint.access.users — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -164,43 +164,43 @@
                      -

                      octoprint.access.users

                      +

                      octoprint.access.users

                      -class octoprint.access.users.AnonymousUser(groups)
                      +class octoprint.access.users.AnonymousUser(groups)
                      -class octoprint.access.users.ApiUser(groups)
                      +class octoprint.access.users.ApiUser(groups)
                      -exception octoprint.access.users.CorruptUserStorage
                      +exception octoprint.access.users.CorruptUserStorage
                      -exception octoprint.access.users.InvalidUsername(username)
                      +exception octoprint.access.users.InvalidUsername(username)
                      -exception octoprint.access.users.UnknownRole(role)
                      +exception octoprint.access.users.UnknownRole(role)
                      -exception octoprint.access.users.UnknownUser(username)
                      +exception octoprint.access.users.UnknownUser(username)
                      -class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
                      +class octoprint.access.users.User(username, passwordHash, active, permissions=None, groups=None, apikey=None, settings=None)
                      -asDict()
                      +asDict()

                      Deprecated since version 1.4.0: Replaced by as_dict()

                      @@ -210,7 +210,7 @@
                      -exception octoprint.access.users.UserAlreadyExists(username)
                      +exception octoprint.access.users.UserAlreadyExists(username)
                      diff --git a/master/modules/cli.html b/master/modules/cli.html index 4af4d9952..82d1366e8 100644 --- a/master/modules/cli.html +++ b/master/modules/cli.html @@ -1,26 +1,26 @@ - + - + octoprint.cli — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -183,22 +183,22 @@
                      -

                      octoprint.cli

                      +

                      octoprint.cli

                      -class octoprint.cli.HiddenOption(param_decls: Optional[Sequence[str]] = None, show_default: Optional[Union[bool, str]] = None, prompt: Union[bool, str] = False, confirmation_prompt: Union[bool, str] = False, prompt_required: bool = True, hide_input: bool = False, is_flag: Optional[bool] = None, flag_value: Optional[Any] = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: Optional[Union[ParamType, Any]] = None, help: Optional[str] = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)
                      +class octoprint.cli.HiddenOption(param_decls: Sequence[str] | None = None, show_default: bool | str | None = None, prompt: bool | str = False, confirmation_prompt: bool | str = False, prompt_required: bool = True, hide_input: bool = False, is_flag: bool | None = None, flag_value: Any | None = None, multiple: bool = False, count: bool = False, allow_from_autoenv: bool = True, type: ParamType | Any | None = None, help: str | None = None, hidden: bool = False, show_choices: bool = True, show_envvar: bool = False, **attrs: Any)

                      Custom option sub class with empty help.

                      -class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)
                      +class octoprint.cli.OctoPrintContext(configfile=None, basedir=None, verbosity=0, safe_mode=False)

                      Custom context wrapping the standard options.

                      -octoprint.cli.bulk_options(options)
                      +octoprint.cli.bulk_options(options)

                      Utility decorator to decorate a function with a list of click decorators.

                      The provided list of options will be reversed to ensure correct processing order (inverse from what would be intuitive).

                      @@ -206,7 +206,7 @@
                      -octoprint.cli.hidden_option(*param_decls, **attrs)
                      +octoprint.cli.hidden_option(*param_decls, **attrs)

                      Attaches a hidden option to the command. All positional arguments are passed as parameter declarations to Option; all keyword arguments are forwarded unchanged. This is equivalent to creating an @@ -216,7 +216,7 @@

                      -octoprint.cli.init_platform_for_cli(ctx)
                      +octoprint.cli.init_platform_for_cli(ctx)

                      Performs a basic platform initialization for the CLI.

                      Plugin implementations will be initialized, but only with a subset of the usual property injections:

                      @@ -236,7 +236,7 @@
                      -octoprint.cli.legacy_options(f)
                      +octoprint.cli.legacy_options(f)

                      Legacy options available directly on the “octoprint” command in earlier versions. Kept available for reasons of backwards compatibility, but hidden from the generated help pages.

                      @@ -244,19 +244,19 @@
                      -octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]
                      +octoprint.cli.pass_octoprint_ctx(f: t.Callable[te.Concatenate[T, P], R]) t.Callable[P, R]

                      Decorator to pass in the OctoPrintContext instance.

                      -octoprint.cli.set_ctx_obj_option(ctx, param, value)
                      +octoprint.cli.set_ctx_obj_option(ctx, param, value)

                      Helper for setting eager options on the context.

                      -octoprint.cli.standard_options(hidden=False)
                      +octoprint.cli.standard_options(hidden=False)

                      Decorator to add the standard options shared among all “octoprint” commands.

                      If hidden is set to True, the options will be available on the command but not listed in its help page.

                      @@ -264,23 +264,23 @@
                      -

                      octoprint.cli.dev

                      +

                      octoprint.cli.dev

                      -class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)
                      +class octoprint.cli.dev.OctoPrintDevelCommands(*args, **kwargs)

                      Custom click.MultiCommand implementation that provides commands relevant for (plugin) development based on availability of development dependencies.

                      -get_command(ctx, cmd_name)
                      +get_command(ctx, cmd_name)

                      Given a context and a command name, this returns a Command object if it exists or returns None.

                      -list_commands(ctx)
                      +list_commands(ctx)

                      Returns a list of subcommand names in the order they should appear.

                      @@ -289,35 +289,35 @@
                      -

                      octoprint.cli.plugins

                      +

                      octoprint.cli.plugins

                      -class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)
                      +class octoprint.cli.plugins.OctoPrintPluginCommands(*args, **kwargs)

                      Custom click.MultiCommand implementation that collects commands from the plugin hook octoprint.cli.commands.

                      -settings
                      +settings

                      The global Settings instance.

                      -plugin_manager
                      +plugin_manager

                      The PluginManager instance.

                      -get_command(ctx, cmd_name)
                      +get_command(ctx, cmd_name)

                      Given a context and a command name, this returns a Command object if it exists or returns None.

                      -list_commands(ctx)
                      +list_commands(ctx)

                      Returns a list of subcommand names in the order they should appear.

                      @@ -326,22 +326,22 @@
                      -

                      octoprint.cli.server

                      +

                      octoprint.cli.server

                      -octoprint.cli.server.daemon_options(f)
                      +octoprint.cli.server.daemon_options(f)

                      Decorator to add the options for the daemon subcommand: --pid.

                      -octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)
                      +octoprint.cli.server.run_server(basedir, configfile, host, port, v6_only, debug, allow_root, logging_config, verbosity, safe_mode, ignore_blacklist, octoprint_daemon=None, overlays=None, disable_color=False)

                      Initializes the environment and starts up the server.

                      -octoprint.cli.server.server_options(f)
                      +octoprint.cli.server.server_options(f)

                      Decorator to add the options shared among the server commands: --host, --port, -4, -6 --logging, --iknowwhatimdoing and --debug.

                      diff --git a/master/modules/filemanager.html b/master/modules/filemanager.html index 312a8cdda..8fa885b42 100644 --- a/master/modules/filemanager.html +++ b/master/modules/filemanager.html @@ -1,26 +1,26 @@ - + - + octoprint.filemanager — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -280,19 +280,19 @@
                      -

                      octoprint.filemanager

                      +

                      octoprint.filemanager

                      -class octoprint.filemanager.ContentTypeDetector(extensions, detector)
                      -
                      +class octoprint.filemanager.ContentTypeDetector(extensions, detector) +
                      -property detector
                      +detector

                      Alias for field number 1

                      -
                      +
                      -property extensions
                      +extensions

                      Alias for field number 0

                      @@ -300,16 +300,16 @@
                      -class octoprint.filemanager.ContentTypeMapping(extensions, content_type)
                      -
                      +class octoprint.filemanager.ContentTypeMapping(extensions, content_type) +
                      -property content_type
                      +content_type

                      Alias for field number 1

                      -
                      +
                      -property extensions
                      +extensions

                      Alias for field number 0

                      @@ -317,20 +317,20 @@
                      -exception octoprint.filemanager.NoSuchStorage
                      +exception octoprint.filemanager.NoSuchStorage
                      -

                      octoprint.filemanager.analysis

                      +

                      octoprint.filemanager.analysis

                      -class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)
                      +class octoprint.filemanager.analysis.AbstractAnalysisQueue(finished_callback)

                      The AbstractAnalysisQueue is the parent class of all specific analysis queues such as the GcodeAnalysisQueue. It offers methods to enqueue new entries to analyze and pausing and resuming analysis processing.

                      -
                      Parameters
                      +
                      Parameters:

                      finished_callback (callable) – Callback that will be called upon finishing analysis of an entry in the queue. The callback will be called with the analyzed entry as the first argument and the analysis result as returned from the queue implementation as the second parameter.

                      @@ -338,21 +338,21 @@
                      -_do_analysis(high_priority=False)
                      +_do_analysis(high_priority=False)

                      Performs the actual analysis of the current entry which can be accessed via self._current. Needs to be overridden by sub classes.

                      -
                      Parameters
                      +
                      Parameters:

                      high_priority (bool) – Whether the current entry has high priority or not.

                      -
                      Returns
                      +
                      Returns:

                      The result of the analysis which will be forwarded to the finished_callback provided during

                      construction.

                      -
                      Return type
                      +
                      Return type:

                      object

                      @@ -360,18 +360,18 @@
                      -_do_abort(reenqueue=True)
                      +_do_abort(reenqueue=True)

                      Aborts analysis of the current entry. Needs to be overridden by sub classes.

                      -enqueue(entry, high_priority=False)
                      +enqueue(entry, high_priority=False)

                      Enqueues an entry for analysis by the queue.

                      If high_priority is True (defaults to False), the entry will be prioritized and hence processed before other entries in the queue with normal priority.

                      -
                      Parameters
                      +
                      Parameters:
                      • entry (QueueEntry) – The QueueEntry to analyze.

                      • high_priority (boolean) – Whether to process the provided entry with high priority (True) or not @@ -383,13 +383,13 @@

                        -pause()
                        +pause()

                        Pauses processing of the queue, e.g. when a print is active.

                        -resume()
                        +resume()

                        Resumes processing of the queue, e.g. when a print has finished.

                        @@ -397,12 +397,12 @@
                        -exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
                        +exception octoprint.filemanager.analysis.AnalysisAborted(reenqueue=True, *args, **kwargs)
                        -class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)
                        +class octoprint.filemanager.analysis.AnalysisQueue(queue_factories)

                        OctoPrint’s AnalysisQueue can manage various AbstractAnalysisQueue implementations, mapped by their machine code type.

                        By invoking register_finish_callback() it is possible to register oneself as a callback to be invoked each @@ -416,12 +416,12 @@

                        -class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)
                        +class octoprint.filemanager.analysis.GcodeAnalysisQueue(finished_callback)

                        A queue to analyze GCODE files. Analysis results are dict instances structured as follows:

                        -

                    Attribute

                    +
                    --++ @@ -512,11 +512,11 @@
                    -class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)
                    +class octoprint.filemanager.analysis.QueueEntry(name, path, type, location, absolute_path, printer_profile, analysis)

                    A QueueEntry for processing through the AnalysisQueue. Wraps the entry’s properties necessary for processing.

                    -
                    Parameters
                    +
                    Parameters:
                    • name (str) – Name of the file to analyze.

                    • path (str) – Storage location specific path to the file to analyze.

                    • @@ -533,23 +533,23 @@
                      -

                      octoprint.filemanager.destinations

                      +

                      octoprint.filemanager.destinations

                      -

                      octoprint.filemanager.storage

                      +

                      octoprint.filemanager.storage

                      -class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)
                      +class octoprint.filemanager.storage.LocalFileStorage(basefolder, create=False, really_universal=False)

                      The LocalFileStorage is a storage implementation which holds all files, folders and metadata on disk.

                      Metadata is managed inside .metadata.json files in the respective folders, indexed by the sanitized filenames stored within the folder. Metadata access is managed through an LRU cache to minimize access overhead.

                      This storage type implements path_on_disk().

                      -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)
                      +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)

                      Adds the file file_object as path

                      -
                      Parameters
                      +
                      Parameters:
                      • path (string) – the file’s new path, will be sanitized

                      • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -561,7 +561,7 @@

                      • display (str) – display name of the file

                      -
                      Returns
                      +
                      Returns:

                      the sanitized name of the file to be used for future references to it

                      @@ -569,18 +569,18 @@
                      -add_folder(path, ignore_existing=True, display=None)
                      +add_folder(path, ignore_existing=True, display=None)

                      Adds a folder as path

                      The path will be sanitized.

                      -
                      Parameters
                      +
                      Parameters:
                      • path (string) – the path of the new folder

                      • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

                      • display (str) – display name of the folder

                      -
                      Returns
                      +
                      Returns:

                      the sanitized name of the new folder to be used for future references to the folder

                      @@ -588,7 +588,7 @@
                      +add_link(path, rel, data)

                      Adds a link of relation rel to file path with the given data.

                      The following relation types are currently supported:

                      @@ -609,7 +609,7 @@

                      Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

                      -
                      Parameters
                      +
                      Parameters:
                      • path – path of the file for which to add a link

                      • rel – type of relation of the link to add (currently model, machinecode and web are supported)

                      • @@ -621,12 +621,12 @@
                        -property analysis_backlog
                        +property analysis_backlog

                        Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                        The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                        -
                        Returns
                        +
                        Returns:

                        an iterator yielding all un-analysed files in the storage

                        @@ -634,16 +634,16 @@
                        -canonicalize(path)
                        +canonicalize(path)

                        Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                        By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                        -
                        Parameters
                        +
                        Parameters:

                        path – the path to canonicalize

                        -
                        Returns
                        +
                        Returns:

                        a 2-tuple containing the canonicalized path and file name

                        @@ -651,16 +651,16 @@
                        -copy_file(source, destination)
                        +copy_file(source, destination)

                        Copies the file source to destination

                        -
                        Parameters
                        +
                        Parameters:
                        • source (string) – path to the source file

                        • destination (string) – path to destination

                        -
                        Returns
                        +
                        Returns:

                        the path in the storage to the copy of the file

                        @@ -668,16 +668,16 @@
                        -copy_folder(source, destination)
                        +copy_folder(source, destination)

                        Copies the folder source to destination

                        -
                        Parameters
                        +
                        Parameters:
                        • source (string) – path to the source folder

                        • destination (string) – path to destination

                        -
                        Returns
                        +
                        Returns:

                        the path in the storage to the copy of the folder

                        @@ -685,7 +685,7 @@
                        -file_exists(path)
                        +file_exists(path)

                        Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                        @@ -693,7 +693,7 @@
                        -file_in_path(path, filepath)
                        +file_in_path(path, filepath)

                        Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -702,7 +702,7 @@

                        -folder_exists(path)
                        +folder_exists(path)

                        Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                        @@ -710,10 +710,10 @@
                        -get_additional_metadata(path, key)
                        +get_additional_metadata(path, key)

                        Fetches additional metadata at key from the metadata of path.

                        -
                        Parameters
                        +
                        Parameters:
                        • path – the virtual path to the file for which to fetch additional metadata

                        • key – key of metadata to fetch

                        • @@ -724,10 +724,10 @@
                          -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                          +get_lastmodified(path: str | None = None, recursive: bool = False) int

                          Get the modification date of the specified path or path’s subtree.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                          • @@ -740,13 +740,13 @@
                            -get_metadata(path)
                            +get_metadata(path)

                            Retrieves the metadata for the file path.

                            -
                            Parameters
                            +
                            Parameters:

                            path – virtual path to the file for which to retrieve the metadata

                            -
                            Returns
                            +
                            Returns:

                            the metadata associated with the file

                            @@ -754,10 +754,10 @@
                            -get_size(path=None, recursive=False)
                            +get_size(path=None, recursive=False)

                            Get the size of the specified path or path’s subtree.

                            -
                            Parameters
                            +
                            Parameters:
                            • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                            • @@ -770,10 +770,10 @@
                              -has_analysis(path)
                              +has_analysis(path)

                              Returns whether the file at path has been analysed yet

                              -
                              Parameters
                              +
                              Parameters:

                              path – virtual path to the file for which to retrieve the metadata

                              @@ -781,7 +781,7 @@
                              -join_path(*path)
                              +join_path(*path)

                              Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                              @@ -789,10 +789,10 @@
                              -last_modified(path=None, recursive=False)
                              +last_modified(path=None, recursive=False)

                              Get the last modification date of the specified path or path’s subtree.

                              -
                              Parameters
                              +
                              Parameters:
                              • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                              • @@ -806,7 +806,7 @@
                                -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                                +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                                List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                                An optional filter function can be supplied which will be called with a file name and file data and which has @@ -860,7 +860,7 @@

                                -
                                Parameters
                                +
                                Parameters:
                                • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                                • @@ -870,7 +870,7 @@ do one step down into sub folders to be able to populate the children.

                                -
                                Returns
                                +
                                Returns:

                                a dictionary mapping entry names to entry data that represents the whole file list

                                @@ -878,16 +878,16 @@
                                -move_file(source, destination, allow_overwrite=False)
                                +move_file(source, destination, allow_overwrite=False)

                                Moves the file source to destination

                                -
                                Parameters
                                +
                                Parameters:
                                • source (string) – path to the source file

                                • destination (string) – path to destination

                                -
                                Returns
                                +
                                Returns:

                                the new path in the storage to the file

                                @@ -895,16 +895,16 @@
                                -move_folder(source, destination)
                                +move_folder(source, destination)

                                Moves the folder source to destination

                                -
                                Parameters
                                +
                                Parameters:
                                • source (string) – path to the source folder

                                • destination (string) – path to destination

                                -
                                Returns
                                +
                                Returns:

                                the new path in the storage to the folder

                                @@ -912,14 +912,14 @@
                                -path_in_storage(path)
                                +path_in_storage(path)

                                Retrieves the equivalent in the storage adapter for path.

                                Opposite of path_on_disk().

                                -
                                Parameters
                                +
                                Parameters:

                                path (string) – the path for which to retrieve the storage path

                                -
                                Returns
                                +
                                Returns:

                                the path in storage to path

                                @@ -927,16 +927,16 @@
                                -path_on_disk(path)
                                +path_on_disk(path)

                                Retrieves the path on disk for path.

                                Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                                Opposite of path_in_storage().

                                -
                                Parameters
                                +
                                Parameters:

                                path (string) – the virtual path for which to retrieve the path on disk

                                -
                                Returns
                                +
                                Returns:

                                the path on disk to path

                                @@ -944,10 +944,10 @@
                                -remove_additional_metadata(path, key)
                                +remove_additional_metadata(path, key)

                                Removes additional metadata under key for name on path

                                -
                                Parameters
                                +
                                Parameters:
                                • path – the virtual path to the file for which to remove the metadata under key

                                • key – the key to remove

                                • @@ -958,12 +958,12 @@
                                  -remove_file(path)
                                  +remove_file(path)

                                  Removes the file at path

                                  Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  path (string) – path of the file to remove

                                  @@ -971,10 +971,10 @@
                                  -remove_folder(path, recursive=True)
                                  +remove_folder(path, recursive=True)

                                  Removes the folder at path

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • path (string) – the path of the folder to remove

                                  • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -986,10 +986,10 @@

                                    +remove_link(path, rel, data)

                                    Removes the link consisting of rel and data from file name on path.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • path – path of the file from which to remove the link

                                    • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                                    • @@ -1001,7 +1001,7 @@
                                      -sanitize(path)
                                      +sanitize(path)

                                      Returns a (path, name) tuple derived from the provided path.

                                      path may be:
                                        @@ -1020,7 +1020,7 @@
                                        -sanitize_name(name)
                                        +sanitize_name(name)

                                        Raises a ValueError for a name containing / or \. Otherwise sanitizes the given name using octoprint.files.sanitize_filename. Also strips any leading ..

                                        @@ -1028,7 +1028,7 @@
                                        -sanitize_path(path)
                                        +sanitize_path(path)

                                        Ensures that the on disk representation of path is located under the configured basefolder. Resolves all relative path elements (e.g. ..) and sanitizes folder names using sanitize_name(). Final path is the absolute path including leading basefolder path.

                                        @@ -1036,13 +1036,13 @@
                                        -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                        +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                        Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                        If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                        If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path – the virtual path to the file for which to add additional metadata

                                        • key – key of metadata to add

                                        • @@ -1057,7 +1057,7 @@
                                          -split_path(path)
                                          +split_path(path)

                                          Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                          @@ -1067,14 +1067,14 @@
                                          -class octoprint.filemanager.storage.StorageInterface
                                          +class octoprint.filemanager.storage.StorageInterface

                                          Interface of storage adapters for OctoPrint.

                                          -add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)
                                          +add_file(path, file_object, printer_profile=None, links=None, allow_overwrite=False, display=None)

                                          Adds the file file_object as path

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • path (string) – the file’s new path, will be sanitized

                                          • file_object (object) – a file object that provides a save method which will be called with the destination path @@ -1086,7 +1086,7 @@

                                          • display (str) – display name of the file

                                          -
                                          Returns
                                          +
                                          Returns:

                                          the sanitized name of the file to be used for future references to it

                                          @@ -1094,18 +1094,18 @@
                                          -add_folder(path, ignore_existing=True, display=None)
                                          +add_folder(path, ignore_existing=True, display=None)

                                          Adds a folder as path

                                          The path will be sanitized.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • path (string) – the path of the new folder

                                          • ignore_existing (bool) – if set to True, no error will be raised if the folder to be added already exists

                                          • display (str) – display name of the folder

                                          -
                                          Returns
                                          +
                                          Returns:

                                          the sanitized name of the new folder to be used for future references to the folder

                                          @@ -1113,7 +1113,7 @@
                                          +add_link(path, rel, data)

                                          Adds a link of relation rel to file path with the given data.

                                          The following relation types are currently supported:

                                          @@ -1134,7 +1134,7 @@

                                          Note that adding model links to files identifying as models or machinecode links to files identifying as machine code will be refused.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • path – path of the file for which to add a link

                                          • rel – type of relation of the link to add (currently model, machinecode and web are supported)

                                          • @@ -1146,12 +1146,12 @@
                                            -property analysis_backlog
                                            +property analysis_backlog

                                            Get an iterator over all items stored in the storage that need to be analysed by the AnalysisQueue.

                                            The yielded elements are expected as storage specific absolute paths to the respective files. Don’t forget to recurse into folders if your storage adapter supports those.

                                            -
                                            Returns
                                            +
                                            Returns:

                                            an iterator yielding all un-analysed files in the storage

                                            @@ -1159,16 +1159,16 @@
                                            -canonicalize(path)
                                            +canonicalize(path)

                                            Canonicalizes the given path. The path may consist of both folder and file name, the underlying implementation must separate those if necessary.

                                            By default, this calls sanitize(), which also takes care of stripping any invalid characters.

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            path – the path to canonicalize

                                            -
                                            Returns
                                            +
                                            Returns:

                                            a 2-tuple containing the canonicalized path and file name

                                            @@ -1176,16 +1176,16 @@
                                            -copy_file(source, destination)
                                            +copy_file(source, destination)

                                            Copies the file source to destination

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • source (string) – path to the source file

                                            • destination (string) – path to destination

                                            -
                                            Returns
                                            +
                                            Returns:

                                            the path in the storage to the copy of the file

                                            @@ -1193,16 +1193,16 @@
                                            -copy_folder(source, destination)
                                            +copy_folder(source, destination)

                                            Copies the folder source to destination

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • source (string) – path to the source folder

                                            • destination (string) – path to destination

                                            -
                                            Returns
                                            +
                                            Returns:

                                            the path in the storage to the copy of the folder

                                            @@ -1210,7 +1210,7 @@
                                            -file_exists(path)
                                            +file_exists(path)

                                            Returns whether the file indicated by path exists or not. :param string path: the path to check for existence :return: True if the file exists, False otherwise

                                            @@ -1218,7 +1218,7 @@
                                            -file_in_path(path, filepath)
                                            +file_in_path(path, filepath)

                                            Returns whether the file indicated by file is inside path or not. :param string path: the path to check :param string filepath: path to the file @@ -1227,7 +1227,7 @@

                                            -folder_exists(path)
                                            +folder_exists(path)

                                            Returns whether the folder indicated by path exists or not. :param string path: the path to check for existence :return: True if the folder exists, False otherwise

                                            @@ -1235,10 +1235,10 @@
                                            -get_additional_metadata(path, key)
                                            +get_additional_metadata(path, key)

                                            Fetches additional metadata at key from the metadata of path.

                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • path – the virtual path to the file for which to fetch additional metadata

                                            • key – key of metadata to fetch

                                            • @@ -1249,10 +1249,10 @@
                                              -get_lastmodified(path: Optional[str] = None, recursive: bool = False) int
                                              +get_lastmodified(path: str | None = None, recursive: bool = False) int

                                              Get the modification date of the specified path or path’s subtree.

                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • path (str or None) – Path for which to determine the modification date. If left our or set to None, defaults to storage root.

                                              • @@ -1265,13 +1265,13 @@
                                                -get_metadata(path)
                                                +get_metadata(path)

                                                Retrieves the metadata for the file path.

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                path – virtual path to the file for which to retrieve the metadata

                                                -
                                                Returns
                                                +
                                                Returns:

                                                the metadata associated with the file

                                                @@ -1279,10 +1279,10 @@
                                                -get_size(path=None, recursive=False) int
                                                +get_size(path=None, recursive=False) int

                                                Get the size of the specified path or path’s subtree.

                                                -
                                                Parameters
                                                +
                                                Parameters:
                                                • path (str or None) – Path for which to determine the subtree’s size. If left out or set to None, defaults to storage root.

                                                • @@ -1295,10 +1295,10 @@
                                                  -has_analysis(path)
                                                  +has_analysis(path)

                                                  Returns whether the file at path has been analysed yet

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:

                                                  path – virtual path to the file for which to retrieve the metadata

                                                  @@ -1306,7 +1306,7 @@
                                                  -join_path(*path)
                                                  +join_path(*path)

                                                  Join path elements together :param path: path elements to join :return: joined representation of the path to be usable as fully qualified path for further operations

                                                  @@ -1314,10 +1314,10 @@
                                                  -last_modified(path=None, recursive=False)
                                                  +last_modified(path=None, recursive=False)

                                                  Get the last modification date of the specified path or path’s subtree.

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • path (str or None) – Path for which to determine the subtree’s last modification date. If left out or set to None, defatuls to storage root.

                                                  • @@ -1331,7 +1331,7 @@
                                                    -list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)
                                                    +list_files(path=None, filter=None, recursive=True, level=0, force_refresh=False)

                                                    List all files in storage starting at path. If recursive is set to True (the default), also dives into subfolders.

                                                    An optional filter function can be supplied which will be called with a file name and file data and which has @@ -1385,7 +1385,7 @@

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:
                                                    • path (string) – base path from which to recursively list all files, optional, if not supplied listing will start from root of base folder

                                                    • @@ -1395,7 +1395,7 @@ do one step down into sub folders to be able to populate the children.

                                                    -
                                                    Returns
                                                    +
                                                    Returns:

                                                    a dictionary mapping entry names to entry data that represents the whole file list

                                                    @@ -1403,16 +1403,16 @@
                                                    -move_file(source, destination)
                                                    +move_file(source, destination)

                                                    Moves the file source to destination

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:
                                                    • source (string) – path to the source file

                                                    • destination (string) – path to destination

                                                    -
                                                    Returns
                                                    +
                                                    Returns:

                                                    the new path in the storage to the file

                                                    @@ -1420,16 +1420,16 @@
                                                    -move_folder(source, destination)
                                                    +move_folder(source, destination)

                                                    Moves the folder source to destination

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:
                                                    • source (string) – path to the source folder

                                                    • destination (string) – path to destination

                                                    -
                                                    Returns
                                                    +
                                                    Returns:

                                                    the new path in the storage to the folder

                                                    @@ -1437,14 +1437,14 @@
                                                    -path_in_storage(path)
                                                    +path_in_storage(path)

                                                    Retrieves the equivalent in the storage adapter for path.

                                                    Opposite of path_on_disk().

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:

                                                    path (string) – the path for which to retrieve the storage path

                                                    -
                                                    Returns
                                                    +
                                                    Returns:

                                                    the path in storage to path

                                                    @@ -1452,16 +1452,16 @@
                                                    -path_on_disk(path)
                                                    +path_on_disk(path)

                                                    Retrieves the path on disk for path.

                                                    Note: if the storage is not on disk and there exists no path on disk to refer to it, this method should raise an io.UnsupportedOperation

                                                    Opposite of path_in_storage().

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:

                                                    path (string) – the virtual path for which to retrieve the path on disk

                                                    -
                                                    Returns
                                                    +
                                                    Returns:

                                                    the path on disk to path

                                                    @@ -1469,10 +1469,10 @@
                                                    -remove_additional_metadata(path, key)
                                                    +remove_additional_metadata(path, key)

                                                    Removes additional metadata under key for name on path

                                                    -
                                                    Parameters
                                                    +
                                                    Parameters:
                                                    • path – the virtual path to the file for which to remove the metadata under key

                                                    • key – the key to remove

                                                    • @@ -1483,12 +1483,12 @@
                                                      -remove_file(path)
                                                      +remove_file(path)

                                                      Removes the file at path

                                                      Will also take care of deleting the corresponding entries in the metadata and deleting all links pointing to the file.

                                                      -
                                                      Parameters
                                                      +
                                                      Parameters:

                                                      path (string) – path of the file to remove

                                                      @@ -1496,10 +1496,10 @@
                                                      -remove_folder(path, recursive=True)
                                                      +remove_folder(path, recursive=True)

                                                      Removes the folder at path

                                                      -
                                                      Parameters
                                                      +
                                                      Parameters:
                                                      • path (string) – the path of the folder to remove

                                                      • recursive (bool) – if set to True, contained folders and files will also be removed, otherwise an error will @@ -1511,10 +1511,10 @@

                                                        +remove_link(path, rel, data)

                                                        Removes the link consisting of rel and data from file name on path.

                                                        -
                                                        Parameters
                                                        +
                                                        Parameters:
                                                        • path – path of the file from which to remove the link

                                                        • rel – type of relation of the link to remove (currently model, machinecode and web are supported)

                                                        • @@ -1526,14 +1526,14 @@
                                                          -sanitize(path)
                                                          +sanitize(path)

                                                          Sanitizes the given path, stripping it of all invalid characters. The path may consist of both folder and file name, the underlying implementation must separate those if necessary and sanitize individually.

                                                          -
                                                          Parameters
                                                          +
                                                          Parameters:

                                                          path (string) – the path to sanitize

                                                          -
                                                          Returns
                                                          +
                                                          Returns:

                                                          a 2-tuple containing the sanitized path and file name

                                                          @@ -1541,7 +1541,7 @@
                                                          -sanitize_name(name)
                                                          +sanitize_name(name)

                                                          Sanitizes the given file name, stripping it of all invalid characters. :param string name: the file name to sanitize :return: the sanitized name

                                                          @@ -1549,7 +1549,7 @@
                                                          -sanitize_path(path)
                                                          +sanitize_path(path)

                                                          Sanitizes the given folder-only path, stripping it of all invalid characters. :param string path: the path to sanitize :return: the sanitized path

                                                          @@ -1557,13 +1557,13 @@
                                                          -set_additional_metadata(path, key, data, overwrite=False, merge=False)
                                                          +set_additional_metadata(path, key, data, overwrite=False, merge=False)

                                                          Adds additional metadata to the metadata of path. Metadata in data will be saved under key.

                                                          If overwrite is set and key already exists in name’s metadata, the current value will be overwritten.

                                                          If merge is set and key already exists and both data and the existing data under key are dictionaries, the two dictionaries will be merged recursively.

                                                          -
                                                          Parameters
                                                          +
                                                          Parameters:
                                                          • path – the virtual path to the file for which to add additional metadata

                                                          • key – key of metadata to add

                                                          • @@ -1578,7 +1578,7 @@
                                                            -split_path(path)
                                                            +split_path(path)

                                                            Split path into base directory and file name. :param path: the path to split :return: a tuple (base directory, file name)

                                                            @@ -1588,22 +1588,22 @@
                      -

                      octoprint.filemanager.util

                      +

                      octoprint.filemanager.util

                      -class octoprint.filemanager.util.AbstractFileWrapper(filename)
                      +class octoprint.filemanager.util.AbstractFileWrapper(filename)

                      Wrapper for file representations to save to storages.

                      -
                      Parameters
                      +
                      Parameters:

                      filename (str) – The file’s name

                      -save(path, permissions=None)
                      +save(path, permissions=None)

                      Saves the file’s content to the given absolute path.

                      -
                      Parameters
                      +
                      Parameters:
                      • path (str) – The absolute path to where to save the file

                      • permissions (int) – The permissions to set on the file

                      • @@ -1614,13 +1614,13 @@
                        -stream()
                        +stream()

                        Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

                        -
                        Returns
                        +
                        Returns:

                        The file’s contents as a stream.

                        -
                        Return type
                        +
                        Return type:

                        io.IOBase

                        @@ -1630,12 +1630,12 @@
                        -class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)
                        +class octoprint.filemanager.util.DiskFileWrapper(filename, path, move=True)

                        An implementation of AbstractFileWrapper that wraps an actual file on disk. The save implementations will either copy the file to the new path (preserving file attributes) or – if move is True (the default) – move the file.

                        -
                        Parameters
                        +
                        Parameters:
                        • filename (str) – The file’s name

                        • path (str) – The file’s absolute path

                        • @@ -1645,10 +1645,10 @@
                        -save(path, permissions=None)
                        +save(path, permissions=None)

                        Saves the file’s content to the given absolute path.

                        -
                        Parameters
                        +
                        Parameters:
                        • path (str) – The absolute path to where to save the file

                        • permissions (int) – The permissions to set on the file

                        • @@ -1659,13 +1659,13 @@
                          -stream()
                          +stream()

                          Returns a Python stream object (subclass of io.IOBase) representing the file’s contents.

                          -
                          Returns
                          +
                          Returns:

                          The file’s contents as a stream.

                          -
                          Return type
                          +
                          Return type:

                          io.IOBase

                          @@ -1675,42 +1675,42 @@
                          -class octoprint.filemanager.util.LineProcessorStream(input_stream)
                          +class octoprint.filemanager.util.LineProcessorStream(input_stream)

                          While reading from this stream the provided input_stream is read line by line, calling the (overridable) method process_line() for each read line.

                          Sub classes can thus modify the contents of the input_stream in line, while it is being read. Keep in mind that process_line will receive the line as a byte stream - if underlying code needs to operate on unicode you’ll need to do the decoding yourself.

                          -
                          Parameters
                          +
                          Parameters:

                          input_stream (io.RawIOBase) – The stream to process on the fly.

                          -close()
                          +close()

                          Flush and close the IO object.

                          This method has no effect if the file is already closed.

                          -process_line(line)
                          +process_line(line)

                          Called from the read Method of this stream with each line read from self.input_stream.

                          By returning None the line will not be returned from the read stream, effectively being stripped from the wrapper input_stream.

                          -
                          Parameters
                          +
                          Parameters:

                          line (bytes) – The line as read from self.input_stream in byte representation

                          -
                          Returns
                          +
                          Returns:

                          The processed version of the line (might also be multiple lines), or None if the line is to be

                          stripped from the processed stream.

                          -
                          Return type
                          +
                          Return type:

                          bytes or None

                          @@ -1718,14 +1718,14 @@
                          -readable(*args, **kwargs)
                          +readable(*args, **kwargs)

                          Return whether object was opened for reading.

                          If False, read() will raise OSError.

                          -seekable(*args, **kwargs)
                          +seekable(*args, **kwargs)

                          Return whether object supports random access.

                          If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

                          @@ -1733,7 +1733,7 @@
                          -writable(*args, **kwargs)
                          +writable(*args, **kwargs)

                          Return whether object was opened for writing.

                          If False, write() will raise OSError.

                          @@ -1742,31 +1742,31 @@
                          -class octoprint.filemanager.util.MultiStream(*streams)
                          +class octoprint.filemanager.util.MultiStream(*streams)

                          A stream implementation which when read reads from multiple streams, one after the other, basically concatenating their contents in the order they are provided to the constructor.

                          -
                          Parameters
                          +
                          Parameters:

                          *streams – One or more io.IOBase streams to concatenate.

                          -close()
                          +close()

                          Flush and close the IO object.

                          This method has no effect if the file is already closed.

                          -readable(*args, **kwargs)
                          +readable(*args, **kwargs)

                          Return whether object was opened for reading.

                          If False, read() will raise OSError.

                          -seekable(*args, **kwargs)
                          +seekable(*args, **kwargs)

                          Return whether object supports random access.

                          If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

                          @@ -1774,7 +1774,7 @@
                          -writable(*args, **kwargs)
                          +writable(*args, **kwargs)

                          Return whether object was opened for writing.

                          If False, write() will raise OSError.

                          @@ -1783,23 +1783,23 @@
                          -class octoprint.filemanager.util.StreamWrapper(filename, *streams)
                          +class octoprint.filemanager.util.StreamWrapper(filename, *streams)

                          A wrapper allowing processing of one or more consecutive streams.

                          -
                          Parameters
                          +
                          Parameters:

                          *streams – One or more io.IOBase streams to process one after another to save to storage.

                          -save(path, permissions=None)
                          +save(path, permissions=None)

                          Will dump the contents of all streams provided during construction into the target file, in the order they were provided.

                          -stream()
                          +stream()

                          If more than one stream was provided to the constructor, will return a MultiStream wrapping all provided streams in the order they were provided, else the first and only stream is returned directly.

                          diff --git a/master/modules/index.html b/master/modules/index.html index e05c6d1ec..c1f5f767d 100644 --- a/master/modules/index.html +++ b/master/modules/index.html @@ -1,26 +1,26 @@ - + - + Internal Modules — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -149,7 +149,7 @@
                          -

                          Internal Modules

                          +

                          Internal Modules

                          • octoprint.access.users
                              @@ -1183,7 +1183,6 @@
                            • OctoPrintFlaskResponse
                            • diff --git a/master/modules/plugin.html b/master/modules/plugin.html index 1aaeb00b6..9bfedad14 100644 --- a/master/modules/plugin.html +++ b/master/modules/plugin.html @@ -1,26 +1,26 @@ - + - + octoprint.plugin — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -284,16 +284,16 @@
                              -

                              octoprint.plugin

                              +

                              octoprint.plugin

                              This module represents OctoPrint’s plugin subsystem. This includes management and helper methods as well as the registered plugin types.

                              -octoprint.plugin.plugin_manager(init=False, plugin_folders=None, plugin_bases=None, plugin_entry_points=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)
                              +octoprint.plugin.plugin_manager(init=False, plugin_folders=None, plugin_bases=None, plugin_entry_points=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)

                              Factory method for initially constructing and consecutively retrieving the PluginManager singleton.

                              -
                              Parameters
                              +
                              Parameters:
                              • init (boolean) – A flag indicating whether this is the initial call to construct the singleton (True) or not (False, default). If this is set to True and the plugin manager has already been initialized, a ValueError @@ -324,17 +324,17 @@ incompatible. This is for development purposes only and should not be used in production.

                              -
                              Returns
                              +
                              Returns:

                              A fully initialized PluginManager instance to be used for plugin

                              management tasks.

                              -
                              Return type
                              +
                              Return type:

                              PluginManager

                              -
                              Raises
                              +
                              Raises:

                              ValueErrorinit was True although the plugin manager was already initialized, or it was False although the plugin manager was not yet initialized.

                              @@ -343,10 +343,10 @@
                              -octoprint.plugin.plugin_settings(plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None, settings=None)
                              +octoprint.plugin.plugin_settings(plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None, settings=None)

                              Factory method for creating a PluginSettings instance.

                              -
                              Parameters
                              +
                              Parameters:
                              • plugin_key (string) – The plugin identifier for which to create the settings instance.

                              • defaults (dict) – The default settings for the plugin, if different from get_settings_defaults.

                              • @@ -355,14 +355,14 @@
                              • settings (octoprint.settings.Settings) – The settings instance to use.

                              -
                              Returns
                              +
                              Returns:

                              A fully initialized PluginSettings instance to be used to access the plugin’s

                              settings

                              -
                              Return type
                              +
                              Return type:

                              PluginSettings

                              @@ -370,7 +370,7 @@
                              -octoprint.plugin.call_plugin(types, method, args=None, kwargs=None, callback=None, error_callback=None, sorting_context=None, initialized=True, manager=None)
                              +octoprint.plugin.call_plugin(types, method, args=None, kwargs=None, callback=None, error_callback=None, sorting_context=None, initialized=True, manager=None)

                              Helper method to invoke the indicated method on all registered plugin implementations implementing the indicated types. Allows providing method arguments and registering callbacks to call in case of success and/or failure of each call which can be used to return individual results to the calling code.

                              @@ -391,7 +391,7 @@
                          -
                          Parameters
                          +
                          Parameters:
                          • types (list) – A list of plugin implementation types to match against.

                          • method (string) – Name of the method to call on all matching implementations.

                          • @@ -413,14 +413,14 @@
                            -class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)
                            +class octoprint.plugin.PluginSettings(settings, plugin_key, defaults=None, get_preprocessors=None, set_preprocessors=None)

                            The PluginSettings class is the interface for plugins to their own or globally defined settings.

                            It provides some convenience methods for directly accessing plugin settings via the regular octoprint.settings.Settings interfaces as well as means to access plugin specific folder locations.

                            All getter and setter methods will ensure that plugin settings are stored in their correct location within the settings structure by modifying the supplied paths accordingly.

                            -
                            Parameters
                            +
                            Parameters:
                            • settings (Settings) – The Settings instance on which to operate.

                            • plugin_key (str) – The plugin identifier of the plugin for which to create this instance.

                            • @@ -431,21 +431,21 @@
                            -get(path, merged=False, asdict=False)
                            +get(path, merged=False, asdict=False)

                            Retrieves a raw value from the settings for path, optionally merging the raw value with the default settings if merged is set to True.

                            -
                            Parameters
                            +
                            Parameters:
                            • path (list, tuple) – The path for which to retrieve the value.

                            • merged (boolean) – Whether to merge the returned result with the default settings (True) or not (False, default).

                            -
                            Returns
                            +
                            Returns:

                            The retrieved settings value.

                            -
                            Return type
                            +
                            Return type:

                            object

                            @@ -453,7 +453,7 @@
                            -get_int(path, min=None, max=None)
                            +get_int(path, min=None, max=None)

                            Like get() but tries to convert the retrieved value to int. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

                            @@ -461,7 +461,7 @@
                            -get_float(path, min=None, max=None)
                            +get_float(path, min=None, max=None)

                            Like get() but tries to convert the retrieved value to float. If min is provided and the retrieved value is less than it, it will be returned instead of the value. Likewise for max - it will be returned if the value is greater than it.

                            @@ -469,16 +469,16 @@
                            -get_boolean(path)
                            +get_boolean(path)

                            Like get() but tries to convert the retrieved value to boolean.

                            -set(path, value, force=False)
                            +set(path, value, force=False)

                            Sets the raw value on the settings for path.

                            -
                            Parameters
                            +
                            Parameters:
                            • path (list, tuple) – The path for which to retrieve the value.

                            • value (object) – The value to set.

                            • @@ -491,7 +491,7 @@
                              -set_int(path, value, force=False, min=None, max=None)
                              +set_int(path, value, force=False, min=None, max=None)

                              Like set() but ensures the value is an int through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -500,7 +500,7 @@

                              -set_float(path, value, force=False, min=None, max=None)
                              +set_float(path, value, force=False, min=None, max=None)

                              Like set() but ensures the value is an float through attempted conversion before setting it. If min and/or max are provided, it will also be ensured that the value is greater than or equal to min and less than or equal to max. If that is not the case, the limit value (min if less than @@ -509,18 +509,18 @@

                              -set_boolean(path, value, force=False)
                              +set_boolean(path, value, force=False)

                              Like set() but ensures the value is an boolean through attempted conversion before setting it.

                              -save(force=False, trigger_event=False)
                              +save(force=False, trigger_event=False)

                              Saves the settings to config.yaml if there are active changes. If force is set to True the settings will be saved even if there are no changes. Settings trigger_event to True will cause a SettingsUpdated event to get triggered.

                              -
                              Parameters
                              +
                              Parameters:
                              • force (boolean) – Force saving to config.yaml even if there are no changes.

                              • trigger_event (boolean) – Trigger the SettingsUpdated event on save.

                              • @@ -531,17 +531,17 @@
                                -add_overlay(overlay, at_end=False, key=None)
                                +add_overlay(overlay, at_end=False, key=None)

                                Adds a new config overlay for the plugin’s settings. Will return the overlay’s key in the map.

                                -
                                Parameters
                                +
                                Parameters:
                                • overlay (dict) – Overlay dict to add

                                • at_end (boolean) – Whether to add overlay at end or start (default) of config hierarchy

                                • key (str) – Key to use to identify overlay. If not set one will be built based on the overlay’s hash

                                -
                                Return type
                                +
                                Return type:

                                str

                                @@ -549,14 +549,14 @@
                                -remove_overlay(key)
                                +remove_overlay(key)

                                Removes an overlay from the settings based on its key. Return True if the overlay could be found and was removed, False otherwise.

                                -
                                Parameters
                                +
                                Parameters:

                                key (str) – The key of the overlay to remove

                                -
                                Return type
                                +
                                Return type:

                                boolean

                                @@ -564,7 +564,7 @@
                                -get_plugin_data_folder()
                                +get_plugin_data_folder()

                                Deprecated since version 1.2.0: Replaced by get_plugin_data_folder()

                                @@ -572,22 +572,22 @@
                                -get_plugin_logfile_path(postfix=None)
                                +get_plugin_logfile_path(postfix=None)

                                Retrieves the path to a logfile specifically for the plugin. If postfix is not supplied, the logfile will be named plugin_<plugin identifier>.log and located within the configured logs folder. If a postfix is supplied, the name will be plugin_<plugin identifier>_<postfix>.log at the same location.

                                Plugins may use this for specific logging tasks. For example, a SlicingPlugin might want to create a log file for logging the output of the slicing engine itself if some debug flag is set.

                                -
                                Parameters
                                +
                                Parameters:

                                postfix (str) – Postfix of the logfile for which to create the path. If set, the file name of the log file will be plugin_<plugin identifier>_<postfix>.log, if not it will be plugin_<plugin identifier>.log.

                                -
                                Returns
                                +
                                Returns:

                                Absolute path to the log file, directly usable by the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str

                                @@ -595,7 +595,7 @@
                                -global_get(path, **kwargs)
                                +global_get(path, **kwargs)

                                Getter for retrieving settings not managed by the plugin itself from the core settings structure. Use this to access global settings outside of your plugin.

                                Directly forwards to octoprint.settings.Settings.get().

                                @@ -603,32 +603,32 @@
                                -global_get_basefolder(folder_type, **kwargs)
                                +global_get_basefolder(folder_type, **kwargs)

                                Retrieves a globally defined basefolder of the given folder_type. Directly forwards to octoprint.settings.Settings.getBaseFolder().

                                -global_get_boolean(path, **kwargs)
                                +global_get_boolean(path, **kwargs)

                                Like global_get() but directly orwards to octoprint.settings.Settings.getBoolean().

                                -global_get_float(path, **kwargs)
                                +global_get_float(path, **kwargs)

                                Like global_get() but directly forwards to octoprint.settings.Settings.getFloat().

                                -global_get_int(path, **kwargs)
                                +global_get_int(path, **kwargs)

                                Like global_get() but directly forwards to octoprint.settings.Settings.getInt().

                                -global_set(path, value, **kwargs)
                                +global_set(path, value, **kwargs)

                                Setter for modifying settings not managed by the plugin itself on the core settings structure. Use this to modify global settings outside of your plugin.

                                Directly forwards to octoprint.settings.Settings.set().

                                @@ -636,19 +636,19 @@
                                -global_set_boolean(path, value, **kwargs)
                                +global_set_boolean(path, value, **kwargs)

                                Like global_set() but directly forwards to octoprint.settings.Settings.setBoolean().

                                -global_set_float(path, value, **kwargs)
                                +global_set_float(path, value, **kwargs)

                                Like global_set() but directly forwards to octoprint.settings.Settings.setFloat().

                                -global_set_int(path, value, **kwargs)
                                +global_set_int(path, value, **kwargs)

                                Like global_set() but directly forwards to octoprint.settings.Settings.setInt().

                                @@ -656,41 +656,41 @@
                          -

                          octoprint.plugin.core

                          +

                          octoprint.plugin.core

                          In this module resides the core data structures and logic of the plugin system.

                          -class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)
                          +class octoprint.plugin.core.PluginManager(plugin_folders, plugin_bases, plugin_entry_points, logging_prefix=None, plugin_disabled_list=None, plugin_sorting_order=None, plugin_blacklist=None, plugin_restart_needing_hooks=None, plugin_obsolete_hooks=None, plugin_considered_bundled=None, plugin_validators=None, compatibility_ignored_list=None)

                          The PluginManager is the central component for finding, loading and accessing plugins provided to the system.

                          It is able to discover plugins both through possible file system locations as well as customizable entry points.

                          -disable_plugin(name, plugin=None)
                          +disable_plugin(name, plugin=None)

                          Disables a plugin

                          -enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)
                          +enable_plugin(name, plugin=None, initialize_implementation=True, startup=False)

                          Enables a plugin

                          -get_filtered_implementations(f, *types, **kwargs)
                          +get_filtered_implementations(f, *types, **kwargs)

                          Get all mixin implementations that implement all of the provided types and match the provided filter f.

                          -
                          Parameters
                          +
                          Parameters:
                          • f (callable) – A filter function returning True for implementations to return and False for those to exclude.

                          • types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

                          -
                          Returns
                          +
                          Returns:

                          A list of all found and matching implementations.

                          -
                          Return type
                          +
                          Return type:

                          list

                          @@ -698,25 +698,25 @@
                          -get_helpers(name, *helpers)
                          +get_helpers(name, *helpers)

                          Retrieves the named helpers for the plugin with identifier name.

                          If the plugin is not available, returns None. Otherwise returns a dict with the requested plugin helper names mapped to the method - if a helper could not be resolved, it will be missing from the dict.

                          -
                          Parameters
                          +
                          Parameters:
                          • name (str) – Identifier of the plugin for which to look up the helpers.

                          • helpers (one or more str) – Identifiers of the helpers of plugin name to return.

                          -
                          Returns
                          +
                          Returns:

                          A dictionary of all resolved helpers, mapped by their identifiers, or None if the plugin was not

                          registered with the system.

                          -
                          Return type
                          +
                          Return type:

                          dict

                          @@ -724,16 +724,16 @@
                          -get_hooks(hook)
                          +get_hooks(hook)

                          Retrieves all registered handlers for the specified hook.

                          -
                          Parameters
                          +
                          Parameters:

                          hook (str) – The hook for which to retrieve the handlers.

                          -
                          Returns
                          +
                          Returns:

                          A dict containing all registered handlers mapped by their plugin’s identifier.

                          -
                          Return type
                          +
                          Return type:

                          dict

                          @@ -741,16 +741,16 @@
                          -get_implementations(*types, **kwargs)
                          +get_implementations(*types, **kwargs)

                          Get all mixin implementations that implement all of the provided types.

                          -
                          Parameters
                          +
                          Parameters:

                          types (one or more type) – The types a mixin implementation needs to implement in order to be returned.

                          -
                          Returns
                          +
                          Returns:

                          A list of all found implementations

                          -
                          Return type
                          +
                          Return type:

                          list

                          @@ -758,21 +758,21 @@
                          -get_plugin(identifier, require_enabled=True)
                          +get_plugin(identifier, require_enabled=True)

                          Retrieves the module of the plugin identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

                          -
                          Parameters
                          +
                          Parameters:
                          • identifier (str) – The identifier of the plugin to retrieve.

                          • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

                          -
                          Returns
                          +
                          Returns:

                          The requested plugin module or None

                          -
                          Return type
                          +
                          Return type:

                          module

                          @@ -780,21 +780,21 @@
                          -get_plugin_info(identifier, require_enabled=True)
                          +get_plugin_info(identifier, require_enabled=True)

                          Retrieves the PluginInfo instance identified by identifier. If the plugin is not registered or disabled and required_enabled is True (the default) None will be returned.

                          -
                          Parameters
                          +
                          Parameters:
                          • identifier (str) – The identifier of the plugin to retrieve.

                          • require_enabled (boolean) – Whether to only return the plugin if is enabled (True, default) or also if it’s disabled.

                          -
                          Returns
                          +
                          Returns:

                          The requested PluginInfo or None

                          -
                          Return type
                          +
                          Return type:

                          PluginInfo

                          @@ -802,24 +802,24 @@
                          -static has_any_of_hooks(plugin, *hooks)
                          +static has_any_of_hooks(plugin, *hooks)

                          Tests if the plugin contains any of the provided hooks.

                          Uses octoprint.plugin.core.PluginManager.hook_matches_hooks().

                          -
                          Parameters
                          +
                          Parameters:
                          • plugin – plugin to test hooks for

                          • *hooks – hooks to test against

                          -
                          Returns
                          +
                          Returns:

                          True if any of the plugin’s hooks match the provided hooks,

                          False otherwise.

                          -
                          Return type
                          +
                          Return type:

                          (bool)

                          @@ -827,24 +827,24 @@
                          -static has_any_of_mixins(plugin, *mixins)
                          +static has_any_of_mixins(plugin, *mixins)

                          Tests if the plugin has an implementation implementing any of the provided mixins.

                          -
                          Parameters
                          +
                          Parameters:
                          • plugin – plugin for which to check the implementation

                          • *mixins – mixins to test against

                          -
                          Returns
                          +
                          Returns:

                          True if the plugin’s implementation implements any of the

                          provided mixins, False otherwise.

                          -
                          Return type
                          +
                          Return type:

                          (bool)

                          @@ -852,41 +852,41 @@
                          -has_obsolete_hooks(plugin)
                          +has_obsolete_hooks(plugin)

                          Checks whether the plugin uses any obsolete hooks

                          -has_restart_needing_hooks(plugin)
                          +has_restart_needing_hooks(plugin)

                          Checks whether the plugin has any hooks that need a restart on changes

                          -has_restart_needing_implementation(plugin)
                          +has_restart_needing_implementation(plugin)

                          Checks whether the plugin’s implementation needs a restart on changes

                          -static hook_matches_hooks(hook, *hooks)
                          +static hook_matches_hooks(hook, *hooks)

                          Tests if hook matches any of the provided hooks to test for.

                          hook is expected to be an exact hook name.

                          hooks is expected to be a list containing one or more hook names or patterns. That can be either an exact hook name or an fnmatch.fnmatch() pattern.

                          -
                          Parameters
                          +
                          Parameters:
                          • hook – the hook to test

                          • hooks – the hook name patterns to test against

                          -
                          Returns
                          +
                          Returns:

                          True if the hook matches any of the hooks, False otherwise.

                          -
                          Return type
                          +
                          Return type:

                          (bool)

                          @@ -894,25 +894,25 @@
                          -is_obsolete_hook(hook)
                          +is_obsolete_hook(hook)

                          Checks whether a hook is obsolete

                          -is_plugin_marked(name, flag)
                          +is_plugin_marked(name, flag)

                          Checks whether a plugin has been marked with a certain flag.

                          -
                          Parameters
                          +
                          Parameters:
                          • name (str) – the plugin’s identifier

                          • flag (str) – the flag to check

                          -
                          Returns
                          +
                          Returns:

                          True if the plugin has been flagged, False otherwise

                          -
                          Return type
                          +
                          Return type:

                          (boolean)

                          @@ -920,22 +920,22 @@
                          -is_restart_needing_hook(hook)
                          +is_restart_needing_hook(hook)

                          Checks whether a hook needs a restart on changes

                          -is_restart_needing_plugin(plugin)
                          +is_restart_needing_plugin(plugin)

                          Checks whether the plugin needs a restart on changes

                          -mark_plugin(name, **flags)
                          +mark_plugin(name, **flags)

                          Mark plugin name with an arbitrary number of flags.

                          -
                          Parameters
                          +
                          Parameters:
                          • name (str) – plugin identifier

                          • **flags (dict) – dictionary of flag names and values

                          • @@ -946,21 +946,21 @@
                            -property plugin_hooks
                            +property plugin_hooks

                            Returns: (dict) dictionary of registered hooks and their handlers

                            -property plugins
                            +property plugins

                            Returns: (list) list of enabled and disabled registered plugins

                            -register_message_receiver(client)
                            +register_message_receiver(client)

                            Registers a client for receiving plugin messages. The client needs to be a callable accepting two input arguments, plugin (the sending plugin’s identifier) and data (the message itself), and one optional keyword argument, permissions (an optional list of permissions to test against).

                            @@ -968,10 +968,10 @@
                            -reload_plugins(startup=False, initialize_implementations=True, force_reload=None)
                            +reload_plugins(startup=False, initialize_implementations=True, force_reload=None)

                            Reloads plugins, detecting newly added ones in the process.

                            -
                            Parameters
                            +
                            Parameters:
                            • startup (boolean) – whether this is called during startup of the platform

                            • initialize_implementations (boolean) – whether plugin implementations should be initialized

                            • @@ -983,11 +983,11 @@
                              -send_plugin_message(plugin, data, permissions=None)
                              +send_plugin_message(plugin, data, permissions=None)

                              Sends data in the name of plugin to all currently registered message receivers by invoking them with the three arguments.

                              -
                              Parameters
                              +
                              Parameters:
                              • plugin (str) – The sending plugin’s identifier.

                              • data (object) – The message.

                              • @@ -999,7 +999,7 @@
                                -unregister_message_receiver(client)
                                +unregister_message_receiver(client)

                                Unregisters a client for receiving plugin messages.

                                @@ -1007,14 +1007,14 @@
                                -class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)
                                +class octoprint.plugin.core.PluginInfo(key, location, instance, name=None, version=None, description=None, author=None, url=None, license=None, parsed_metadata=None)

                                The PluginInfo class wraps all available information about a registered plugin.

                                This includes its meta data (like name, description, version, etc) as well as the actual plugin extensions like implementations, hooks and helpers.

                                It works on Python module objects and extracts the relevant data from those via accessing the control properties.

                                -
                                Parameters
                                +
                                Parameters:
                                • key (str) – Identifier of the plugin

                                • location (str) – Installation folder of the plugin

                                • @@ -1030,14 +1030,14 @@
                                -property author
                                +property author

                                Author of the plugin. Will be taken from the author attribute of the plugin module as defined in attr_author if available, otherwise from the author supplied during construction. May be None.

                                -
                                Returns
                                +
                                Returns:

                                Author of the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1045,30 +1045,30 @@
                                -blacklisted
                                +blacklisted

                                Whether the plugin is blacklisted.

                                -bundled
                                +bundled

                                Whether this plugin is bundled with OctoPrint.

                                -property check
                                +property check

                                Method for pre-load check of plugin. Will be taken from the check attribute of the plugin module as defined in attr_check if available, otherwise a lambda always returning True is returned.

                                -
                                Returns
                                +
                                Returns:

                                Check method for the plugin module which should return True if the plugin can be loaded, False

                                otherwise.

                                -
                                Return type
                                +
                                Return type:

                                callable

                                @@ -1076,15 +1076,15 @@
                                -property description
                                +property description

                                Description of the plugin. Will be taken from the description attribute of the plugin module as defined in attr_description if available, otherwise from the description supplied during construction. May be None.

                                -
                                Returns
                                +
                                Returns:

                                Description of the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1092,14 +1092,14 @@
                                -property disable
                                +property disable

                                Method for disabling the plugin module. Will be taken from the disable attribute of the plugin module as defined in attr_disable if available, otherwise a no-operation lambda will be returned.

                                -
                                Returns
                                +
                                Returns:

                                Disable method for the plugin module.

                                -
                                Return type
                                +
                                Return type:

                                callable

                                @@ -1107,15 +1107,15 @@
                                -property disabling_discouraged
                                +property disabling_discouraged

                                Reason why disabling of this plugin is discouraged. Only evaluated for bundled plugins! Will be taken from the disabling_discouraged attribute of the plugin module as defined in attr_disabling_discouraged if available. False if unset or plugin not bundled.

                                -
                                Returns
                                +
                                Returns:

                                Reason why disabling this plugin is discouraged (only for bundled plugins)

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1123,14 +1123,14 @@
                                -property enable
                                +property enable

                                Method for enabling the plugin module. Will be taken from the enable attribute of the plugin module as defined in attr_enable if available, otherwise a no-operation lambda will be returned.

                                -
                                Returns
                                +
                                Returns:

                                Enable method for the plugin module.

                                -
                                Return type
                                +
                                Return type:

                                callable

                                @@ -1138,27 +1138,27 @@
                                -enabled
                                +enabled

                                Whether the plugin is enabled.

                                -forced_disabled
                                +forced_disabled

                                Whether the plugin has been force disabled by the system, e.g. due to safe mode blacklisting.

                                -get_hook(hook)
                                +get_hook(hook)
                                -
                                Parameters
                                +
                                Parameters:

                                hook (str) – Hook to return.

                                -
                                Returns
                                +
                                Returns:

                                Handler for the requested hook or None if no handler is registered.

                                -
                                Return type
                                +
                                Return type:

                                callable or None

                                @@ -1166,15 +1166,15 @@
                                -get_implementation(*types)
                                +get_implementation(*types)
                                -
                                Parameters
                                +
                                Parameters:

                                types (list) – List of Plugin sub classes the implementation needs to implement.

                                -
                                Returns
                                +
                                Returns:

                                The plugin’s implementation if it matches all of the requested types, None otherwise.

                                -
                                Return type
                                +
                                Return type:

                                object

                                @@ -1182,14 +1182,14 @@
                                -property helpers
                                +property helpers

                                Helpers provided by the plugin. Will be taken from the helpers attribute of the plugin module as defined in attr_helpers if available, otherwise an empty list is returned.

                                -
                                Returns
                                +
                                Returns:

                                Helpers provided by the plugin.

                                -
                                Return type
                                +
                                Return type:

                                dict

                                @@ -1197,13 +1197,13 @@
                                -property hidden
                                +property hidden

                                Hidden flag.

                                -
                                Returns
                                +
                                Returns:

                                Whether the plugin should be flagged as hidden or not

                                -
                                Return type
                                +
                                Return type:

                                bool

                                @@ -1211,14 +1211,14 @@
                                -property hooks
                                +property hooks

                                Hooks provided by the plugin. Will be taken from the hooks attribute of the plugin module as defined in attr_hooks if available, otherwise an empty dictionary is returned.

                                -
                                Returns
                                +
                                Returns:

                                Hooks provided by the plugin.

                                -
                                Return type
                                +
                                Return type:

                                dict

                                @@ -1226,14 +1226,14 @@
                                -property implementation
                                +property implementation

                                Implementation provided by the plugin. Will be taken from the implementation attribute of the plugin module as defined in attr_implementation if available, otherwise None is returned.

                                -
                                Returns
                                +
                                Returns:

                                Implementation provided by the plugin.

                                -
                                Return type
                                +
                                Return type:

                                object

                                @@ -1241,26 +1241,26 @@
                                -incompatible
                                +incompatible

                                Whether this plugin has been detected as incompatible.

                                -invalid_syntax
                                +invalid_syntax

                                Whether invalid syntax was encountered while trying to load this plugin.

                                -property license
                                +property license

                                License of the plugin. Will be taken from the license attribute of the plugin module as defined in attr_license if available, otherwise from the license supplied during construction. May be None.

                                -
                                Returns
                                +
                                Returns:

                                License of the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1268,14 +1268,14 @@
                                -property load
                                +property load

                                Method for loading the plugin module. Will be taken from the load attribute of the plugin module as defined in attr_load if available, otherwise a no-operation lambda will be returned.

                                -
                                Returns
                                +
                                Returns:

                                Load method for the plugin module.

                                -
                                Return type
                                +
                                Return type:

                                callable

                                @@ -1283,13 +1283,13 @@
                                -loaded
                                +loaded

                                Whether this plugin has been loaded.

                                -long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))
                                +long_str(show_bundled=False, bundled_strs=(' [B]', ''), show_location=False, location_str=' - {location}', show_enabled=False, enabled_strs=('* ', '  ', 'X ', 'C '))

                                Long string representation of the plugin’s information. Will return a string of the format <enabled><str(self)><bundled><location>.

                                enabled, bundled and location will only be displayed if the corresponding flags are set to True. The will be filled from enabled_str, bundled_str and location_str as follows:

                                @@ -1306,7 +1306,7 @@
                                -
                                Parameters
                                +
                                Parameters:
                                • show_enabled (boolean) – whether to show the enabled part

                                • enabled_strs (tuple) – the 2-tuple containing the two possible strings to use for displaying the enabled state

                                • @@ -1316,10 +1316,10 @@
                                • location_str (str) – the format string to use for displaying the plugin’s installation location

                                -
                                Returns
                                +
                                Returns:

                                The long string representation of the plugin as described above

                                -
                                Return type
                                +
                                Return type:

                                str

                                @@ -1327,26 +1327,26 @@
                                -property looks_like_plugin
                                +property looks_like_plugin

                                Returns whether the plugin actually looks like a plugin (has control properties) or not.

                                -managable
                                +managable

                                Whether this plugin can be managed by OctoPrint.

                                -property name
                                +property name

                                Human readable name of the plugin. Will be taken from name attribute of the plugin module if available, otherwise from the name supplied during construction with a fallback to key.

                                -
                                Returns
                                +
                                Returns:

                                Name of the plugin, fallback is the plugin’s identifier.

                                -
                                Return type
                                +
                                Return type:

                                str

                                @@ -1354,33 +1354,33 @@
                                -needs_restart
                                +needs_restart

                                Whether this plugin needs a restart of OctoPrint after enabling/disabling.

                                -origin
                                +origin

                                The origin from which this plugin was loaded, either a EntryPointOrigin, FolderOrigin or ModuleOrigin instance. Set during loading, initially None.

                                -property parsed_metadata
                                +property parsed_metadata

                                The plugin metadata parsed from the plugin’s AST.

                                -property privacypolicy
                                +property privacypolicy

                                Privacy Policy URL of the plugin. Will be taken from the privacy policy attribute of the plugin module as defined in attr_privacypolicy if available. May be None.

                                -
                                Returns
                                +
                                Returns:

                                Privacy Policy URL of the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1388,14 +1388,14 @@
                                -property pythoncompat
                                +property pythoncompat

                                Python compatibility string of the plugin module as defined in attr_pythoncompat if available, otherwise defaults to >=2.7,<3.

                                -
                                Returns
                                +
                                Returns:

                                Python compatibility string of the plugin

                                -
                                Return type
                                +
                                Return type:

                                str

                                @@ -1403,14 +1403,14 @@
                                -property unload
                                +property unload

                                Method for unloading the plugin module. Will be taken from the unload attribute of the plugin module as defined in attr_unload if available, otherwise a no-operation lambda will be returned.

                                -
                                Returns
                                +
                                Returns:

                                Unload method for the plugin module.

                                -
                                Return type
                                +
                                Return type:

                                callable

                                @@ -1418,14 +1418,14 @@
                                -property url
                                +property url

                                Website URL for the plugin. Will be taken from the url attribute of the plugin module as defined in attr_url if available, otherwise from the url supplied during construction. May be None.

                                -
                                Returns
                                +
                                Returns:

                                Website URL for the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1433,7 +1433,7 @@
                                -validate(phase, additional_validators=None)
                                +validate(phase, additional_validators=None)

                                Validates the plugin for various validation phases.

                                phase can be one of before_import, before_load, after_load.

                                Used by PluginManager, should not be used elsewhere.

                                @@ -1441,14 +1441,14 @@
                                -property version
                                +property version

                                Version of the plugin. Will be taken from the version attribute of the plugin module as defined in attr_version if available, otherwise from the version supplied during construction. May be None.

                                -
                                Returns
                                +
                                Returns:

                                Version of the plugin.

                                -
                                Return type
                                +
                                Return type:

                                str or None

                                @@ -1458,35 +1458,35 @@
                                -class octoprint.plugin.core.Plugin
                                +class octoprint.plugin.core.Plugin

                                The parent class of all plugin implementations.

                                -_identifier
                                +_identifier

                                The identifier of the plugin. Injected by the plugin core system upon initialization of the implementation.

                                -_plugin_name
                                +_plugin_name

                                The name of the plugin. Injected by the plugin core system upon initialization of the implementation.

                                -_plugin_version
                                +_plugin_version

                                The version of the plugin. Injected by the plugin core system upon initialization of the implementation.

                                -_basefolder
                                +_basefolder

                                The base folder of the plugin. Injected by the plugin core system upon initialization of the implementation.

                                -_logger
                                +_logger

                                The logger instance to use, with the logging name set to the PluginManager.logging_prefix of the PluginManager concatenated with _identifier. Injected by the plugin core system upon initialization of the implementation.

                                @@ -1494,19 +1494,19 @@
                                -initialize()
                                +initialize()

                                Called by the plugin core after performing all injections. Override this to initialize your implementation.

                                -on_plugin_disabled()
                                +on_plugin_disabled()

                                Called by the plugin core when the plugin was disabled. Override this to react to the event.

                                -on_plugin_enabled()
                                +on_plugin_enabled()

                                Called by the plugin core when the plugin was enabled. Override this to react to the event.

                                @@ -1514,28 +1514,28 @@
                                -class octoprint.plugin.core.RestartNeedingPlugin
                                +class octoprint.plugin.core.RestartNeedingPlugin

                                Mixin for plugin types that need a restart after enabling/disabling them.

                                -class octoprint.plugin.core.SortablePlugin
                                +class octoprint.plugin.core.SortablePlugin

                                Mixin for plugin types that are sortable.

                                -get_sorting_key(context=None)
                                +get_sorting_key(context=None)

                                Returns the sorting key to use for the implementation in the specified context.

                                May return None if order is irrelevant.

                                Implementations returning None will be ordered by plugin identifier after all implementations which did return a sorting key value that was not None sorted by that.

                                -
                                Parameters
                                +
                                Parameters:

                                context (str) – The sorting context for which to provide the sorting key value.

                                -
                                Returns
                                +
                                Returns:

                                An integer signifying the sorting key value of the plugin

                                (sorting will be done ascending), or None if the implementation doesn’t care about calling order.

                                @@ -1543,7 +1543,7 @@

                                -
                                Return type
                                +
                                Return type:

                                int or None

                                @@ -1553,96 +1553,96 @@
                          -

                          octoprint.plugin.types

                          +

                          octoprint.plugin.types

                          This module bundles all of OctoPrint’s supported plugin implementation types as well as their common parent class, OctoPrintPlugin.

                          Please note that the plugin implementation types are documented in the section Available plugin mixins.

                          -class octoprint.plugin.types.OctoPrintPlugin
                          +class octoprint.plugin.types.OctoPrintPlugin

                          Bases: Plugin

                          The parent class of all OctoPrint plugin mixins.

                          -_plugin_manager
                          +_plugin_manager

                          The PluginManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_printer_profile_manager
                          +_printer_profile_manager

                          The PrinterProfileManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_event_bus
                          +_event_bus

                          The EventManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_analysis_queue
                          +_analysis_queue

                          The AnalysisQueue instance. Injected by the plugin core system upon initialization of the implementation.

                          -_slicing_manager
                          +_slicing_manager

                          The SlicingManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_file_manager
                          +_file_manager

                          The FileManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_printer
                          +_printer

                          The PrinterInterface instance. Injected by the plugin core system upon initialization of the implementation.

                          -_app_session_manager
                          +_app_session_manager

                          The SessionManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_plugin_lifecycle_manager
                          +_plugin_lifecycle_manager

                          The LifecycleManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_user_manager
                          +_user_manager

                          The UserManager instance. Injected by the plugin core system upon initialization of the implementation.

                          -_connectivity_checker
                          +_connectivity_checker

                          The ConnectivityChecker instance. Injected by the plugin core system upon initialization of the implementation.

                          -_data_folder
                          +_data_folder

                          Path to the data folder for the plugin to use for any data it might have to persist. Should always be accessed through get_plugin_data_folder() since that function will also ensure that the data folder actually exists and if not creating it before returning it. Injected by the plugin core system upon initialization of the @@ -1651,7 +1651,7 @@

                          -get_plugin_data_folder()
                          +get_plugin_data_folder()

                          Retrieves the path to a data folder specifically for the plugin, ensuring it exists and if not creating it before returning it.

                          Plugins may use this folder for storing additional data they need for their operation.

                          @@ -1659,7 +1659,7 @@
                          -on_plugin_pending_uninstall()
                          +on_plugin_pending_uninstall()

                          Called by the plugin manager when the plugin is pending uninstall. Override this to react to the event.

                          NOT called during plugin uninstalls triggered outside of OctoPrint!

                          @@ -1668,7 +1668,7 @@
                          -class octoprint.plugin.types.ReloadNeedingPlugin
                          +class octoprint.plugin.types.ReloadNeedingPlugin

                          Bases: Plugin

                          Mixin for plugin types that need a reload of the UI after enabling/disabling them.

                          diff --git a/master/modules/printer.html b/master/modules/printer.html index 258f4a02a..87db7743c 100644 --- a/master/modules/printer.html +++ b/master/modules/printer.html @@ -1,26 +1,26 @@ - + - + octoprint.printer — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -230,14 +230,14 @@
                          -

                          octoprint.printer

                          +

                          octoprint.printer

                          This module defines the interface for communicating with a connected printer.

                          The communication is in fact divided in two components, the PrinterInterface and a deeper lying communication layer. However, plugins should only ever need to use the PrinterInterface as the abstracted version of the actual printer communication.

                          -octoprint.printer.get_connection_options()
                          +octoprint.printer.get_connection_options()

                          Deprecated since version 1.3.0: Replaced by PrinterInterface.get_connection_options()

                          @@ -245,18 +245,18 @@
                          -class octoprint.printer.PrinterInterface
                          +class octoprint.printer.PrinterInterface

                          The PrinterInterface represents the developer interface to the Printer instance.

                          -can_modify_file(path, sd, *args, **kwargs)
                          +can_modify_file(path, sd, *args, **kwargs)

                          Determines whether the path (on the printer’s SD if sd is True) may be modified (updated or deleted) or not.

                          A file that is currently being printed is not allowed to be modified. Any other file or the current file when it is not being printed is fine though.

                          -
                          Since
                          +
                          Since:

                          1.3.2

                          @@ -268,13 +268,13 @@ versions!

                          -
                          Parameters
                          +
                          Parameters:
                          • path (str) – path in storage of the file to check

                          • sd (bool) – True if to check against SD storage, False otherwise

                          -
                          Returns
                          +
                          Returns:

                          (bool) True if the file may be modified, False otherwise

                          @@ -282,10 +282,10 @@
                          -cancel_print(tags=None, *args, **kwargs)
                          +cancel_print(tags=None, *args, **kwargs)

                          Cancels the current print job.

                          -
                          Parameters
                          +
                          Parameters:

                          tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                          @@ -293,10 +293,10 @@
                          -change_tool(tool, tags=None, *args, **kwargs)
                          +change_tool(tool, tags=None, *args, **kwargs)

                          Switch the currently active tool (for which extrude commands will apply).

                          -
                          Parameters
                          +
                          Parameters:
                          • tool (str) – The tool to switch to, matching the regex “tool[0-9]+” (e.g. “tool0”, “tool1”, …)

                          • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                          • @@ -307,10 +307,10 @@
                            -commands(commands, tags=None, force=False, *args, **kwargs)
                            +commands(commands, tags=None, force=False, *args, **kwargs)

                            Sends the provided commands to the printer.

                            -
                            Parameters
                            +
                            Parameters:
                            • commands (str, list) – The commands to send. Might be a single command provided just as a string or a list of multiple commands to send in order.

                            • @@ -323,12 +323,12 @@
                              -connect(port=None, baudrate=None, profile=None, *args, **kwargs)
                              +connect(port=None, baudrate=None, profile=None, *args, **kwargs)

                              Connects to the printer, using the specified serial port, baudrate and printer profile. If a connection is already established, that connection will be closed prior to connecting anew with the provided parameters.

                              -
                              Parameters
                              +
                              Parameters:
                              • port (str) – Name of the serial port to connect to. If not provided, an auto detection will be attempted.

                              • baudrate (int) – Baudrate to connect with. If not provided, an auto detection will be attempted.

                              • @@ -341,20 +341,20 @@
                                -disconnect(*args, **kwargs)
                                +disconnect(*args, **kwargs)

                                Disconnects from the printer. Does nothing if no connection is currently established.

                                -extrude(amount, speed=None, tags=None, *args, **kwargs)
                                +extrude(amount, speed=None, tags=None, *args, **kwargs)

                                Extrude amount millimeters of material from the tool.

                                -
                                Parameters
                                +
                                Parameters:
                                • amount (int, float) – The amount of material to extrude in mm

                                • speed (int, None) – Speed at which to extrude (F parameter). If set to None (or left out)

                                • -
                                • used. (the maximum speed of E axis from the printer profile will be) –

                                • +
                                • used. (the maximum speed of E axis from the printer profile will be)

                                • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                                @@ -363,7 +363,7 @@
                                -fake_ack(*args, **kwargs)
                                +fake_ack(*args, **kwargs)

                                Fakes an acknowledgment for the communication layer. If the communication between OctoPrint and the printer gets stuck due to lost “ok” responses from the server due to communication issues, this can be used to get things going again.

                                @@ -371,10 +371,10 @@
                                -feed_rate(factor, tags=None, *args, **kwargs)
                                +feed_rate(factor, tags=None, *args, **kwargs)

                                Sets the factor for the printer’s feed rate.

                                -
                                Parameters
                                +
                                Parameters:
                                • factor (int, float) – The factor for the feed rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                                • @@ -386,10 +386,10 @@
                                  -flow_rate(factor, tags=None, *args, **kwargs)
                                  +flow_rate(factor, tags=None, *args, **kwargs)

                                  Sets the factor for the printer’s flow rate.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • factor (int, float) – The factor for the flow rate to send to the firmware. Percentage expressed as either an int between 0 and 100 or a float between 0 and 1.

                                  • @@ -401,7 +401,7 @@
                                    -classmethod get_connection_options(*args, **kwargs)
                                    +classmethod get_connection_options(*args, **kwargs)

                                    Retrieves the available ports, baudrates, preferred port and baudrate for connecting to the printer.

                                    Returned dict has the following structure:

                                    ports: <list of available serial ports>
                                    @@ -412,10 +412,10 @@
                                     
                                    -
                                    Returns
                                    +
                                    Returns:

                                    A dictionary holding the connection options in the structure specified above

                                    -
                                    Return type
                                    +
                                    Return type:

                                    (dict)

                                    @@ -423,9 +423,9 @@
                                    -get_current_connection(*args, **kwargs)
                                    +get_current_connection(*args, **kwargs)
                                    -
                                    Returns
                                    +
                                    Returns:

                                    (tuple) The current connection information as a 4-tuple (connection_string, port, baudrate, printer_profile).

                                    If the printer is currently not connected, the tuple will be ("Closed", None, None, None).

                                    @@ -437,9 +437,9 @@
                                    -get_current_data(*args, **kwargs)
                                    +get_current_data(*args, **kwargs)
                                    -
                                    Returns
                                    +
                                    Returns:

                                    (dict) The current state data.

                                    @@ -447,9 +447,9 @@
                                    -get_current_job(*args, **kwargs)
                                    +get_current_job(*args, **kwargs)
                                    -
                                    Returns
                                    +
                                    Returns:

                                    (dict) The data of the current job.

                                    @@ -457,9 +457,9 @@
                                    -get_current_temperatures(*args, **kwargs)
                                    +get_current_temperatures(*args, **kwargs)
                                    -
                                    Returns
                                    +
                                    Returns:

                                    (dict) The current temperatures.

                                    @@ -467,7 +467,7 @@
                                    -get_state_id(*args, **kwargs)
                                    +get_state_id(*args, **kwargs)

                                    Identifier of the current communication state.

                                    Possible values are:

                                    @@ -489,7 +489,7 @@
                          -
                          Returns
                          +
                          Returns:

                          (str) A unique identifier corresponding to the current communication state.

                          @@ -497,9 +497,9 @@
                          -get_state_string(*args, **kwargs)
                          +get_state_string(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (str) A human readable string corresponding to the current communication state.

                          @@ -507,9 +507,9 @@
                          -get_temperature_history(*args, **kwargs)
                          +get_temperature_history(*args, **kwargs)
                          -
                          Returns
                          +
                          Returns:

                          (list) The temperature history.

                          @@ -517,15 +517,15 @@
                          -get_transport(*args, **kwargs)
                          +get_transport(*args, **kwargs)

                          Returns the communication layer’s transport object, if a connection is currently established.

                          Note that this doesn’t have to necessarily be a serial.Serial instance, it might also be something different, so take care to do instance checks before attempting to access any properties or methods.

                          -
                          Returns
                          +
                          Returns:

                          The communication layer’s transport object

                          -
                          Return type
                          +
                          Return type:

                          object

                          @@ -533,10 +533,10 @@
                          -home(axes, tags=None, *args, **kwargs)
                          +home(axes, tags=None, *args, **kwargs)

                          Homes the specified printer axes.

                          -
                          Parameters
                          +
                          Parameters:
                          • axes (str, list) – The axis or axes to home, each of which must converted to lower case must match one of “x”, “y”, “z” and “e”

                          • @@ -548,9 +548,9 @@
                            -is_cancelling(*args, **kwargs)
                            +is_cancelling(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently cancelling a print.

                            @@ -558,9 +558,9 @@
                            -is_closed_or_error(*args, **kwargs)
                            +is_closed_or_error(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently disconnected and/or in an error state.

                            @@ -568,11 +568,11 @@
                            -is_current_file(path, sd, *args, **kwargs)
                            +is_current_file(path, sd, *args, **kwargs)

                            Returns whether the provided path (on the printer’s SD if sd is True) is the currently selected file for printing.

                            -
                            Since
                            +
                            Since:

                            1.3.2

                            @@ -584,13 +584,13 @@ versions!

                            -
                            Parameters
                            +
                            Parameters:
                            • path (str) – path in storage of the file to check

                            • sd (bool) – True if to check against SD storage, False otherwise

                            -
                            Returns
                            +
                            Returns:

                            (bool) True if the file is currently selected, False otherwise

                            @@ -598,9 +598,9 @@
                            -is_error(*args, **kwargs)
                            +is_error(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently in an error state.

                            @@ -608,9 +608,9 @@
                            -is_operational(*args, **kwargs)
                            +is_operational(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently connected and available.

                            @@ -618,9 +618,9 @@
                            -is_paused(*args, **kwargs)
                            +is_paused(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently paused.

                            @@ -628,9 +628,9 @@
                            -is_pausing(*args, **kwargs)
                            +is_pausing(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently pausing a print.

                            @@ -638,9 +638,9 @@
                            -is_printing(*args, **kwargs)
                            +is_printing(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently printing.

                            @@ -648,9 +648,9 @@
                            -is_ready(*args, **kwargs)
                            +is_ready(*args, **kwargs)
                            -
                            Returns
                            +
                            Returns:

                            (boolean) Whether the printer is currently operational and ready for new print jobs (not printing).

                            @@ -658,7 +658,7 @@
                            -job_on_hold(blocking=True, *args, **kwargs)
                            +job_on_hold(blocking=True, *args, **kwargs)

                            Contextmanager that allows executing code while printing while making sure that no commands from the file being printed are continued to be sent to the printer. Note that this will only work for local files, NOT SD files.

                            @@ -675,7 +675,7 @@ don’t want to block on acquire, be sure to set blocking to False and catch the RuntimeException thrown if the lock can’t be acquired.

                            -
                            Parameters
                            +
                            Parameters:

                            blocking (bool) – Whether to block while attempting to acquire the lock (default) or not

                            @@ -683,10 +683,10 @@
                            -jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)
                            +jog(axes, relative=True, speed=None, tags=None, *args, **kwargs)

                            Jogs the specified printer axis by the specified amount in mm.

                            -
                            Parameters
                            +
                            Parameters:
                            • axes (dict) – Axes and distances to jog, keys are axes (“x”, “y”, “z”), values are distances in mm

                            • relative (bool) – Whether to interpret the distance values as relative (true, default) or absolute (false) @@ -702,17 +702,17 @@

                              -log_lines(*lines)
                              +log_lines(*lines)

                              Logs the provided lines to the printer log and serial.log :param *lines: the lines to log

                              -pause_print(tags=None, *args, **kwargs)
                              +pause_print(tags=None, *args, **kwargs)

                              Pauses the current print job if it is currently running, does nothing otherwise.

                              -
                              Parameters
                              +
                              Parameters:

                              tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                              @@ -720,10 +720,10 @@
                              -register_callback(callback, *args, **kwargs)
                              +register_callback(callback, *args, **kwargs)

                              Registers a PrinterCallback with the instance.

                              -
                              Parameters
                              +
                              Parameters:

                              callback (PrinterCallback) – The callback object to register.

                              @@ -731,10 +731,10 @@
                              -resume_print(tags=None, *args, **kwargs)
                              +resume_print(tags=None, *args, **kwargs)

                              Resumes the current print job if it is currently paused, does nothing otherwise.

                              -
                              Parameters
                              +
                              Parameters:

                              tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                              @@ -742,20 +742,20 @@
                              -script(name, context=None, tags=None, *args, **kwargs)
                              +script(name, context=None, tags=None, *args, **kwargs)

                              Sends the GCODE script name to the printer.

                              The script will be run through the template engine, the rendering context can be extended by providing a context with additional template variables to use.

                              If the script is unknown, an UnknownScriptException will be raised.

                              -
                              Parameters
                              +
                              Parameters:
                              • name (str) – The name of the GCODE script to render.

                              • context (dict) – An optional context of additional template variables to provide to the renderer.

                              • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                              -
                              Raises
                              +
                              Raises:

                              UnknownScriptException – There is no GCODE script with name name

                              @@ -763,11 +763,11 @@
                              -select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)
                              +select_file(path, sd, printAfterSelect=False, pos=None, tags=None, *args, **kwargs)

                              Selects the specified path for printing, specifying if the file is to be found on the sd or not. Optionally can also directly start the print after selecting the file.

                              -
                              Parameters
                              +
                              Parameters:
                              • path (str) – The path to select for printing. Either an absolute path or relative path to a local file in the uploads folder or a filename on the printer’s SD card.

                              • @@ -777,7 +777,7 @@
                              • tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                              -
                              Raises
                              +
                              Raises:
                              • InvalidFileType – if the file is not a machinecode file and hence cannot be printed

                              • InvalidFileLocation – if an absolute path was provided and not contained within local storage or @@ -789,10 +789,10 @@

                                -send_initial_callback(callback)
                                +send_initial_callback(callback)

                                Sends the initial printer update to PrinterCallback.

                                -
                                Parameters
                                +
                                Parameters:

                                callback (PrinterCallback) – The callback object to send initial data to.

                                @@ -800,7 +800,7 @@
                                -set_job_on_hold(value, blocking=True, *args, **kwargs)
                                +set_job_on_hold(value, blocking=True, *args, **kwargs)

                                Setter for finer control over putting jobs on hold. Set to True to ensure that no commands from the file being printed are continued to be sent to the printer. Set to False to resume. Note that this will only work for local files, NOT SD files.

                                @@ -819,13 +819,13 @@

                                Just like job_on_hold() this should be used sparingly and only for very specific situations. If you abuse this, you WILL cause print quality issues!

                                -
                                Parameters
                                +
                                Parameters:
                                • value (bool) – The value to set

                                • blocking (bool) – Whether to block while attempting to set the value (default) or not

                                -
                                Returns
                                +
                                Returns:

                                (bool) Whether the value could be set successfully (True) or a timeout was encountered (False)

                                @@ -833,10 +833,10 @@
                                -set_temperature(heater, value, tags=None, *args, **kwargs)
                                +set_temperature(heater, value, tags=None, *args, **kwargs)

                                Sets the target temperature on the specified heater to the given value in celsius.

                                -
                                Parameters
                                +
                                Parameters:
                                • heater (str) – The heater for which to set the target temperature. Either “bed” for setting the bed temperature, “chamber” for setting the temperature of the heated enclosure or something matching the @@ -852,10 +852,10 @@

                                  -set_temperature_offset(offsets=None, tags=None, *args, **kwargs)
                                  +set_temperature_offset(offsets=None, tags=None, *args, **kwargs)

                                  Sets the temperature offsets to apply to target temperatures read from a GCODE file while printing.

                                  -
                                  Parameters
                                  +
                                  Parameters:
                                  • offsets (dict) – A dictionary specifying the offsets to apply. Keys must match the format for the heater parameter to set_temperature(), so “bed” for the offset for the bed target temperature and @@ -868,10 +868,10 @@

                                    -start_print(tags=None, *args, **kwargs)
                                    +start_print(tags=None, *args, **kwargs)

                                    Starts printing the currently selected file. If no file is currently selected, does nothing.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                                    @@ -879,10 +879,10 @@
                                    -toggle_pause_print(tags=None, *args, **kwargs)
                                    +toggle_pause_print(tags=None, *args, **kwargs)

                                    Pauses the current print job if it is currently running or resumes it if it is currently paused.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    tags (set of str) – An optional set of tags to attach to the command(s) throughout their lifecycle

                                    @@ -890,10 +890,10 @@
                                    -unregister_callback(callback, *args, **kwargs)
                                    +unregister_callback(callback, *args, **kwargs)

                                    Unregisters a PrinterCallback from the instance.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    callback (PrinterCallback) – The callback object to unregister.

                                    @@ -901,25 +901,25 @@
                                    -unselect_file(*args, **kwargs)
                                    +unselect_file(*args, **kwargs)

                                    Unselects and currently selected file.

                                    -valid_axes = ('x', 'y', 'z', 'e')
                                    +valid_axes = ('x', 'y', 'z', 'e')

                                    Valid axes identifiers.

                                    -valid_heater_regex = re.compile('^(tool\\d+|bed|chamber)$')
                                    +valid_heater_regex = re.compile('^(tool\\d+|bed|chamber)$')

                                    Regex for valid heater identifiers.

                                    -valid_tool_regex = re.compile('^(tool\\d+)$')
                                    +valid_tool_regex = re.compile('^(tool\\d+)$')

                                    Regex for valid tool identifiers.

                                    @@ -927,13 +927,13 @@
                                    -class octoprint.printer.PrinterCallback
                                    +class octoprint.printer.PrinterCallback
                                    -on_printer_add_log(data)
                                    +on_printer_add_log(data)

                                    Called when the PrinterInterface receives a new communication log entry from the communication layer.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    data (str) – The received log line.

                                    @@ -941,10 +941,10 @@
                                    -on_printer_add_message(data)
                                    +on_printer_add_message(data)

                                    Called when the PrinterInterface receives a new message from the communication layer.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    data (str) – The received message.

                                    @@ -952,7 +952,7 @@
                                    -on_printer_add_temperature(data)
                                    +on_printer_add_temperature(data)

                                    Called when the PrinterInterface receives a new temperature data set from the communication layer.

                                    data is a dict of the following structure:

                                    tool0:
                                    @@ -968,7 +968,7 @@
                                     
                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    data (dict) – A dict of all current temperatures in the format as specified above

                                    @@ -976,10 +976,10 @@
                                    -on_printer_received_registered_message(name, output)
                                    +on_printer_received_registered_message(name, output)

                                    Called when the PrinterInterface received a registered message, e.g. from a feedback command.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • name (str) – Name of the registered message (e.g. the feedback command)

                                    • output (str) – Output for the registered message

                                    • @@ -990,7 +990,7 @@
                                      -on_printer_send_current_data(data)
                                      +on_printer_send_current_data(data)

                                      Called when the internal state of the PrinterInterface changes, due to changes in the printer state, temperatures, log lines, job progress etc. Updates via this method are guaranteed to be throttled to a maximum of 2 calls per second.

                                      @@ -1026,7 +1026,7 @@
                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      data (dict) – The current data in the format as specified above.

                                      @@ -1034,7 +1034,7 @@
                                      -on_printer_send_initial_data(data)
                                      +on_printer_send_initial_data(data)

                                      Called when registering as a callback with the PrinterInterface to receive the initial data (state, log and temperature history etc) from the printer.

                                      data is a dict of the following structure:

                                      @@ -1053,7 +1053,7 @@
                                      -
                                      Parameters
                                      +
                                      Parameters:

                                      data (dict) – The initial data in the format as specified above.

                                      @@ -1063,14 +1063,14 @@
                      -

                      octoprint.printer.profile

                      +

                      octoprint.printer.profile

                      This module contains printer profile related code.

                      A printer profile is a dict of the following structure:

                      -

                    Key

                    +
                    ---+++ @@ -1236,24 +1236,24 @@

                    Name

                    -class octoprint.printer.profile.PrinterProfileManager
                    +class octoprint.printer.profile.PrinterProfileManager

                    Manager for printer profiles. Offers methods to select the globally used printer profile and to list, add, remove, load and save printer profiles.

                    -class octoprint.printer.profile.BedFormFactor
                    +class octoprint.printer.profile.BedFormFactor

                    Valid values for bed form factor

                    -CIRCULAR = 'circular'
                    +CIRCULAR = 'circular'

                    Circular bed

                    -RECTANGULAR = 'rectangular'
                    +RECTANGULAR = 'rectangular'

                    Rectangular bed

                    @@ -1261,17 +1261,17 @@
                    -class octoprint.printer.profile.BedOrigin
                    +class octoprint.printer.profile.BedOrigin

                    Valid values for bed origin

                    -CENTER = 'center'
                    +CENTER = 'center'

                    Origin at the center of the bed when looking from top

                    -LOWERLEFT = 'lowerleft'
                    +LOWERLEFT = 'lowerleft'

                    Origin at lower left corner of the bed when looking from the top

                    @@ -1279,19 +1279,19 @@
                    -class octoprint.printer.profile.SaveError
                    +class octoprint.printer.profile.SaveError

                    Saving a profile failed

                    -class octoprint.printer.profile.CouldNotOverwriteError
                    +class octoprint.printer.profile.CouldNotOverwriteError

                    Overwriting of a profile not allowed

                    -class octoprint.printer.profile.InvalidProfileError
                    +class octoprint.printer.profile.InvalidProfileError

                    Profile invalid

                    diff --git a/master/modules/schema.html b/master/modules/schema.html index 8aec9ae18..f37fa4617 100644 --- a/master/modules/schema.html +++ b/master/modules/schema.html @@ -1,26 +1,26 @@ - + - + octoprint.schema — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -739,16 +739,16 @@
                    -

                    octoprint.schema

                    +

                    octoprint.schema

                    -class octoprint.schema.BaseModel
                    +class octoprint.schema.BaseModel
                    -class Config
                    +class Config
                    -use_enum_values = True
                    +use_enum_values = True
                    @@ -757,162 +757,162 @@
                    -

                    octoprint.schema.config

                    +

                    octoprint.schema.config

                    -class octoprint.schema.config.Config(*, accessControl: ~octoprint.schema.config.access_control.AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ~octoprint.schema.config.api.ApiConfig = ApiConfig(key=None, apps={}, allowCrossOrigin=False), appearance: ~octoprint.schema.config.appearance.AppearanceConfig = AppearanceConfig(name='', color=<ColorEnum.default: 'default'>, colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: ~typing.List[~typing.Union[~octoprint.schema.config.controls.ControlConfig, ~octoprint.schema.config.controls.ContainerConfig]] = [], devel: ~octoprint.schema.config.devel.DevelConfig = DevelConfig(stylesheet=<StylesheetEnum.css: 'css'>, cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: ~octoprint.schema.config.estimation.EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: ~octoprint.schema.config.events.EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: ~octoprint.schema.config.feature.FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: ~octoprint.schema.config.folder.FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: ~octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt=<RunAtEnum.idle: 'idle'>, bedZ=0.0), plugins: ~octoprint.schema.config.plugins.PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}), printerParameters: ~octoprint.schema.config.printer_parameters.PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: ~octoprint.schema.config.printer_profiles.PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ~octoprint.schema.config.scripts.ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: ~octoprint.schema.config.serial.SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ~octoprint.schema.config.server.ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths=[]), slicing: ~octoprint.schema.config.slicing.SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: ~octoprint.schema.config.system.SystemConfig = SystemConfig(actions=[]), temperature: ~octoprint.schema.config.temperature.TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: ~typing.List[~octoprint.schema.config.terminalfilters.TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: ~octoprint.schema.config.webcam.WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
                    +class octoprint.schema.config.Config(*, accessControl: ~octoprint.schema.config.access_control.AccessControlConfig = AccessControlConfig(salt=None, userManager='octoprint.access.users.FilebasedUserManager', groupManager='octoprint.access.groups.FilebasedGroupManager', permissionManager='octoprint.access.permissions.PermissionManager', userfile=None, groupfile=None, autologinLocal=False, localNetworks=['127.0.0.0/8', '::1/128'], autologinAs=None, autologinHeadsupAcknowledged=False, trustBasicAuthentication=False, checkBasicAuthenticationPassword=True, trustRemoteUser=False, remoteUserHeader='REMOTE_USER', addRemoteUsers=False, defaultReauthenticationTimeout=5), api: ~octoprint.schema.config.api.ApiConfig = ApiConfig(key=None, apps={}, allowCrossOrigin=False), appearance: ~octoprint.schema.config.appearance.AppearanceConfig = AppearanceConfig(name='', color=<ColorEnum.default: 'default'>, colorTransparent=False, colorIcon=True, defaultLanguage='_default', showFahrenheitAlso=False, fuzzyTimes=True, closeModalsWithClick=True, showInternalFilename=True, components=ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))), controls: ~typing.List[~octoprint.schema.config.controls.ControlConfig | ~octoprint.schema.config.controls.ContainerConfig] = [], devel: ~octoprint.schema.config.devel.DevelConfig = DevelConfig(stylesheet=<StylesheetEnum.css: 'css'>, cache=DevelCacheConfig(enabled=True, preemptive=True), webassets=DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState=True, showLoadingAnimation=True, sockJsConnectTimeout=30, pluginTimings=False, enableRateLimiter=True, enableCsrfProtection=True), estimation: ~octoprint.schema.config.estimation.EstimationConfig = EstimationConfig(printTime=PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60)), events: ~octoprint.schema.config.events.EventsConfig = EventsConfig(enabled=True, subscriptions=[]), feature: ~octoprint.schema.config.feature.FeatureConfig = FeatureConfig(temperatureGraph=True, sdSupport=True, keyboardControl=True, pollWatched=False, modelSizeDetection=True, rememberFileFolder=False, printStartConfirmation=False, printCancelConfirmation=True, uploadOverwriteConfirmation=True, autoUppercaseBlacklist=['M117', 'M118'], g90InfluencesExtruder=False, enforceReallyUniversalFilenames=False, enableDragDropUpload=True), folder: ~octoprint.schema.config.folder.FolderConfig = FolderConfig(uploads=None, timelapse=None, timelapse_tmp=None, logs=None, virtualSd=None, watched=None, plugins=None, slicingProfiles=None, printerProfiles=None, scripts=None, translations=None, generated=None, data=None), gcodeAnalysis: ~octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig = GcodeAnalysisConfig(maxExtruders=10, throttle_normalprio=0.01, throttle_highprio=0.0, throttle_lines=100, runAt=<RunAtEnum.idle: 'idle'>, bedZ=0.0), plugins: ~octoprint.schema.config.plugins.PluginsConfig = PluginsConfig(disabled=[], forced_compatible=[], sorting_order={}), printerParameters: ~octoprint.schema.config.printer_parameters.PrinterParametersConfig = PrinterParametersConfig(pauseTriggers=[]), printerProfiles: ~octoprint.schema.config.printer_profiles.PrinterProfilesConfig = PrinterProfilesConfig(default=None), scripts: ~octoprint.schema.config.scripts.ScriptsConfig = ScriptsConfig(gcode=GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'})), serial: ~octoprint.schema.config.serial.SerialConfig = SerialConfig(port=None, baudrate=None, exclusive=True, lowLatency=False, autoconnect=False, autorefresh=True, autorefreshInterval=1, log=False, timeout=SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts=SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses=5, additionalPorts=[], additionalBaudrates=[], blacklistedPorts=[], blacklistedBaudrates=[], longRunningCommands=['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands=['M0', 'M1'], ignoredCommands=[], pausingCommands=['M0', 'M1', 'M25'], emergencyCommands=['M112', 'M108', 'M410'], checksumRequiringCommands=['M110'], helloCommand='M110 N0', disconnectOnErrors=True, ignoreErrorsFromFirmware=False, terminalLogSize=20, lastLineBufferSize=50, logResends=True, supportResendsWithoutOk='detect', logPositionOnPause=True, logPositionOnCancel=False, abortHeatupOnCancel=True, waitForStartOnConnect=False, waitToLoadSdFileList=True, alwaysSendChecksum=False, neverSendChecksum=False, sendChecksumWithUnknownCommands=False, unknownCommandsNeedAck=False, sdRelativePath=False, sdAlwaysAvailable=False, sdLowerCase=False, sdCancelCommand='M25', maxNotSdPrinting=2, swallowOkAfterResend=True, repetierTargetTemp=False, externalHeatupDetection=True, supportWait=True, ignoreIdenticalResends=False, identicalResendsCountdown=7, supportFAsCommand=False, firmwareDetection=True, blockWhileDwelling=False, useParityWorkaround='detect', maxConsecutiveResends=10, sendM112OnError=True, disableSdPrintingDetection=False, ackMax=1, sanityCheckTools=True, notifySuppressedCommands='warn', capabilities=SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold=10, resendRatioStart=100, ignoreEmptyPorts=False, encoding='ascii', enableShutdownActionCommand=False, triggerOkForM29=True), server: ~octoprint.schema.config.server.ServerConfig = ServerConfig(host=None, port=5000, firstRun=True, startOnceInSafeMode=False, ignoreIncompleteStartup=False, seenWizards={}, secretKey=None, heartbeat=900, reverseProxy=ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads=UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize=102400, commands=CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck=OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist=PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace=DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache=PreemptiveCacheConfig(exceptions=[], until=7), ipCheck=IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming=False, cookies=CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths=[]), slicing: ~octoprint.schema.config.slicing.SlicingConfig = SlicingConfig(enabled=True, defaultSlicer=None, defaultProfiles={}), system: ~octoprint.schema.config.system.SystemConfig = SystemConfig(actions=[]), temperature: ~octoprint.schema.config.temperature.TemperatureConfig = TemperatureConfig(profiles=[TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff=30, sendAutomatically=False, sendAutomaticallyAfter=1), terminalFilters: ~typing.List[~octoprint.schema.config.terminalfilters.TerminalFilterEntry] = [TerminalFilterEntry(name='Suppress temperature messages', regex='(Send: (N\\d+\\s+)?M105)|(Recv:\\s+(ok\\s+([PBN]\\d+\\s+)*)?([BCLPR]|T\\d*):-?\\d+)'), TerminalFilterEntry(name='Suppress SD status messages', regex='(Send: (N\\d+\\s+)?M27)|(Recv: SD printing byte)|(Recv: Not SD printing)'), TerminalFilterEntry(name='Suppress position messages', regex='(Send:\\s+(N\\d+\\s+)?M114)|(Recv:\\s+(ok\\s+)?X:[+-]?([0-9]*[.])?[0-9]+\\s+Y:[+-]?([0-9]*[.])?[0-9]+\\s+Z:[+-]?([0-9]*[.])?[0-9]+\\s+E\\d*:[+-]?([0-9]*[.])?[0-9]+).*'), TerminalFilterEntry(name='Suppress wait responses', regex='Recv: wait'), TerminalFilterEntry(name='Suppress processing responses', regex='Recv: (echo:\\s*)?busy:\\s*processing')], webcam: ~octoprint.schema.config.webcam.WebcamConfig = WebcamConfig(webcamEnabled=True, timelapseEnabled=True, ffmpeg=None, ffmpegThreads=1, ffmpegVideoCodec='libx264', bitrate='10000k', watermark=True, ffmpegCommandline='{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline='{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse=TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays=7, defaultWebcam='classic', snapshotWebcam='classic'))
                    -accessControl: AccessControlConfig
                    +accessControl: AccessControlConfig
                    -api: ApiConfig
                    +api: ApiConfig
                    -appearance: AppearanceConfig
                    +appearance: AppearanceConfig
                    -controls: List[Union[ControlConfig, ContainerConfig]]
                    +controls: List[ControlConfig | ContainerConfig]
                    -devel: DevelConfig
                    +devel: DevelConfig
                    -estimation: EstimationConfig
                    +estimation: EstimationConfig
                    -events: EventsConfig
                    +events: EventsConfig
                    -feature: FeatureConfig
                    +feature: FeatureConfig
                    -folder: FolderConfig
                    +folder: FolderConfig
                    -gcodeAnalysis: GcodeAnalysisConfig
                    +gcodeAnalysis: GcodeAnalysisConfig
                    -plugins: PluginsConfig
                    +plugins: PluginsConfig
                    -printerParameters: PrinterParametersConfig
                    +printerParameters: PrinterParametersConfig
                    -printerProfiles: PrinterProfilesConfig
                    +printerProfiles: PrinterProfilesConfig
                    -scripts: ScriptsConfig
                    +scripts: ScriptsConfig
                    -serial: SerialConfig
                    +serial: SerialConfig
                    -server: ServerConfig
                    +server: ServerConfig
                    -slicing: SlicingConfig
                    +slicing: SlicingConfig
                    -system: SystemConfig
                    +system: SystemConfig
                    -temperature: TemperatureConfig
                    +temperature: TemperatureConfig
                    -terminalFilters: List[TerminalFilterEntry]
                    +terminalFilters: List[TerminalFilterEntry]
                    -webcam: WebcamConfig
                    +webcam: WebcamConfig
                    -
                    +
                    -class octoprint.schema.config.access_control.AccessControlConfig(*, salt: Optional[str] = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: Optional[str] = None, groupfile: Optional[str] = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: Optional[str] = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
                    +class octoprint.schema.config.access_control.AccessControlConfig(*, salt: str | None = None, userManager: str = 'octoprint.access.users.FilebasedUserManager', groupManager: str = 'octoprint.access.groups.FilebasedGroupManager', permissionManager: str = 'octoprint.access.permissions.PermissionManager', userfile: str | None = None, groupfile: str | None = None, autologinLocal: bool = False, localNetworks: List[str] = ['127.0.0.0/8', '::1/128'], autologinAs: str | None = None, autologinHeadsupAcknowledged: bool = False, trustBasicAuthentication: bool = False, checkBasicAuthenticationPassword: bool = True, trustRemoteUser: bool = False, remoteUserHeader: str = 'REMOTE_USER', addRemoteUsers: bool = False, defaultReauthenticationTimeout: int = 5)
                    -addRemoteUsers: bool
                    +addRemoteUsers: bool

                    If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.

                    -autologinAs: Optional[str]
                    +autologinAs: str | None

                    The name of the user to automatically log on clients originating from localNetworks as. Must be the name of one of your configured users.

                    -autologinHeadsupAcknowledged: bool
                    +autologinHeadsupAcknowledged: bool

                    Whether the user has acknowledged the heads-up about the importance of a correct reverse proxy configuration in the presence of autologin.

                    -autologinLocal: bool
                    +autologinLocal: bool

                    If set to true, will automatically log on clients originating from any of the networks defined in localNetworks as the user defined in autologinAs.

                    -checkBasicAuthenticationPassword: bool
                    +checkBasicAuthenticationPassword: bool

                    Whether to also check the password provided through Basic Authentication, if the Basic Authentication header is to be trusted. Disabling this will only match the user name in the Basic Authentication header and login the user without further checks, thus disable with caution.

                    -defaultReauthenticationTimeout: int
                    +defaultReauthenticationTimeout: int

                    Default timeout after which to require reauthentication by a user for dangerous changes, in minutes. Defaults to 5 minutes. Set to 0 to disable reauthentication requirements (SECURITY IMPACT!).

                    -groupManager: str
                    +groupManager: str

                    groups.yaml in the default configuration folder).

                    -
                    Type
                    +
                    Type:

                    The group manager implementation to use for accessing group information. Currently only a filebased user manager is implemented which stores configured groups in a YAML file (Default

                    @@ -920,52 +920,52 @@
                    -groupfile: Optional[str]
                    +groupfile: str | None

                    The YAML group file to use. If left out defaults to groups.yaml in the default configuration folder.

                    -localNetworks: List[str]
                    +localNetworks: List[str]

                    A list of networks or IPs for which an automatic logon as the user defined in autologinAs will take place. If available OctoPrint will evaluate the X-Forwarded-For HTTP header for determining the client’s IP address. Defaults to anything originating from localhost.

                    -permissionManager: str
                    +permissionManager: str

                    The permission manager implementation to use.

                    -remoteUserHeader: str
                    +remoteUserHeader: str

                    Header used by the reverse proxy to convey the authenticated user.

                    -salt: Optional[str]
                    +salt: str | None

                    Secret salt used for password hashing. DO NOT TOUCH! If changed you will no longer be able to log in with your existing accounts. Default unset, generated on first run.

                    -trustBasicAuthentication: bool
                    +trustBasicAuthentication: bool

                    Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user during Basic Authentication. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through Basic Authentication!

                    -trustRemoteUser: bool
                    +trustRemoteUser: bool

                    Whether to trust remote user headers. If you have setup authentication in front of OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will be logged into OctoPrint as the user provided in the header. ONLY ENABLE THIS if your OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!

                    -userManager: str
                    +userManager: str

                    users.yaml in the default configuration folder).

                    -
                    Type
                    +
                    Type:

                    The user manager implementation to use for accessing user information. Currently only a filebased user manager is implemented which stores configured accounts in a YAML file (Default

                    @@ -973,82 +973,82 @@
                    -userfile: Optional[str]
                    +userfile: str | None

                    The YAML user file to use. If left out defaults to users.yaml in the default configuration folder.

                    -
                    +
                    -class octoprint.schema.config.api.ApiConfig(*, key: Optional[str] = None, apps: Dict[str, str] = {}, allowCrossOrigin: bool = False)
                    +class octoprint.schema.config.api.ApiConfig(*, key: str | None = None, apps: Dict[str, str] = {}, allowCrossOrigin: bool = False)
                    -allowCrossOrigin: bool
                    +allowCrossOrigin: bool

                    Whether to allow cross origin access to the API or not.

                    -apps: Dict[str, str]
                    +apps: Dict[str, str]
                    -key: Optional[str]
                    +key: str | None

                    Global API key, deprecated, use User API keys instead. Unset by default, will be generated on first run.

                    -
                    +
                    -class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
                    +class octoprint.schema.config.appearance.AppearanceConfig(*, name: str = '', color: ColorEnum = ColorEnum.default, colorTransparent: bool = False, colorIcon: bool = True, defaultLanguage: str = '_default', showFahrenheitAlso: bool = False, fuzzyTimes: bool = True, closeModalsWithClick: bool = True, showInternalFilename: bool = True, components: ComponentConfig = ComponentConfig(order=ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled=ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[])))
                    -closeModalsWithClick: bool
                    +closeModalsWithClick: bool
                    -color: ColorEnum
                    +color: ColorEnum

                    Use this to color the navigation bar.

                    -colorIcon: bool
                    +colorIcon: bool
                    -colorTransparent: bool
                    +colorTransparent: bool

                    Makes the color of the navigation bar “transparent”. In case your printer uses acrylic for its frame 😉.

                    -components: ComponentConfig
                    +components: ComponentConfig

                    Configures the order and availability of the UI components.

                    -defaultLanguage: str
                    +defaultLanguage: str

                    Default language of OctoPrint. If left unset OctoPrint will try to match up available languages with the user’s browser settings.

                    -fuzzyTimes: bool
                    +fuzzyTimes: bool
                    -name: str
                    +name: str

                    <>”)

                    -
                    Type
                    +
                    Type:

                    Use this to give your OctoPrint instance a name. It will be displayed in the title bar (as “<Name> [OctoPrint]”) and in the navigation bar (as “OctoPrint

                    @@ -1056,12 +1056,12 @@
                    -showFahrenheitAlso: bool
                    +showFahrenheitAlso: bool
                    -showInternalFilename: bool
                    +showInternalFilename: bool

                    Show the internal filename in the files sidebar, if necessary.

                    @@ -1069,57 +1069,57 @@
                    -class octoprint.schema.config.appearance.ColorEnum(value)
                    +class octoprint.schema.config.appearance.ColorEnum(value)

                    An enumeration.

                    -blue = 'blue'
                    +blue = 'blue'
                    -default = 'default'
                    +default = 'default'
                    -green = 'green'
                    +green = 'green'
                    -orange = 'orange'
                    +orange = 'orange'
                    -red = 'red'
                    +red = 'red'
                    -violet = 'violet'
                    +violet = 'violet'
                    -yellow = 'yellow'
                    +yellow = 'yellow'
                    -class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
                    +class octoprint.schema.config.appearance.ComponentConfig(*, order: ComponentOrderConfig = ComponentOrderConfig(navbar=['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar=['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab=['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings=['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings=['access', 'interface'], wizard=['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about=['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic=[]), disabled: ComponentDisabledConfig = ComponentDisabledConfig(navbar=[], sidebar=[], tab=[], settings=[], usersettings=[], wizard=[], about=[], generic=[]))
                    -disabled: ComponentDisabledConfig
                    +disabled: ComponentDisabledConfig

                    Disabled components per container. If a component is included here it will not be included in OctoPrint’s UI at all. Note that this might mean that critical functionality will not be available if no replacement is registered.

                    -order: ComponentOrderConfig
                    +order: ComponentOrderConfig

                    Defines the order of the components within their respective containers.

                    @@ -1127,52 +1127,52 @@
                    -class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
                    +class octoprint.schema.config.appearance.ComponentDisabledConfig(*, navbar: List[str] = [], sidebar: List[str] = [], tab: List[str] = [], settings: List[str] = [], usersettings: List[str] = [], wizard: List[str] = [], about: List[str] = [], generic: List[str] = [])
                    -about: List[str]
                    +about: List[str]

                    Disabled about dialog items.

                    -generic: List[str]
                    +generic: List[str]

                    Disabled generic items.

                    -navbar: List[str]
                    +navbar: List[str]

                    Disabled navbar items.

                    -settings: List[str]
                    +settings: List[str]

                    Disabled settings.

                    -sidebar: List[str]
                    +sidebar: List[str]

                    Disabled sidebar items.

                    -tab: List[str]
                    +tab: List[str]

                    Disabled tabs.

                    -usersettings: List[str]
                    +usersettings: List[str]

                    Disabled user settings.

                    -wizard: List[str]
                    +wizard: List[str]

                    Disabled wizards.

                    @@ -1180,75 +1180,75 @@
                    -class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
                    +class octoprint.schema.config.appearance.ComponentOrderConfig(*, navbar: List[str] = ['settings', 'systemmenu', 'plugin_announcements', 'plugin_logging_seriallog', 'plugin_logging_plugintimingslog', 'plugin_pi_support', 'login'], sidebar: List[str] = ['plugin_firmware_check_warning', 'plugin_firmware_check_info', 'connection', 'state', 'files'], tab: List[str] = ['temperature', 'control', 'plugin_gcodeviewer', 'terminal', 'timelapse'], settings: List[str] = ['section_printer', 'serial', 'printerprofiles', 'temperatures', 'terminalfilters', 'gcodescripts', 'section_features', 'features', 'webcam', 'accesscontrol', 'plugin_gcodeviewer', 'api', 'plugin_appkeys', 'section_octoprint', 'server', 'folders', 'appearance', 'plugin_logging', 'plugin_pluginmanager', 'plugin_softwareupdate', 'plugin_announcements', 'plugin_eventmanager', 'plugin_backup', 'plugin_tracking', 'plugin_errortracking', 'plugin_pi_support'], usersettings: List[str] = ['access', 'interface'], wizard: List[str] = ['plugin_softwareupdate_update', 'plugin_backup', 'plugin_corewizard_acl', 'plugin_corewizard_onlinecheck'], about: List[str] = ['about', 'plugin_pi_support', 'supporters', 'authors', 'changelog', 'license', 'thirdparty', 'plugin_pluginmanager', 'plugin_achievements', 'plugin_achievements_2', 'systeminfo'], generic: List[str] = [])
                    -about: List[str]
                    +about: List[str]

                    Order of about dialog items.

                    -generic: List[str]
                    +generic: List[str]

                    Order of generic items.

                    -navbar: List[str]
                    +navbar: List[str]

                    Order of navbar items.

                    -settings: List[str]
                    +settings: List[str]

                    Order of settings.

                    -sidebar: List[str]
                    +sidebar: List[str]

                    Order of sidebar items.

                    -tab: List[str]
                    +tab: List[str]

                    Order of tabs.

                    -usersettings: List[str]
                    +usersettings: List[str]

                    Order of user settings.

                    -wizard: List[str]
                    +wizard: List[str]

                    Order of wizards.

                    -
                    +
                    -class octoprint.schema.config.controls.ContainerConfig(*, children: List[Union[ContainerConfig, ControlConfig]] = [], name: Optional[str] = None, layout: LayoutEnum = LayoutEnum.vertical)
                    +class octoprint.schema.config.controls.ContainerConfig(*, children: List[ContainerConfig | ControlConfig] = [], name: str | None = None, layout: LayoutEnum = LayoutEnum.vertical)
                    -children: List[Union[ContainerConfig, ControlConfig]]
                    +children: List[ContainerConfig | ControlConfig]

                    A list of children controls or containers contained within this container.

                    -layout: LayoutEnum
                    +layout: LayoutEnum

                    The layout to use for laying out the contained children, either from top to bottom (vertical) or from left to right (horizontal).

                    -name: Optional[str]
                    +name: str | None

                    A name to display above the container, basically a section header.

                    @@ -1256,61 +1256,61 @@
                    -class octoprint.schema.config.controls.ControlConfig(*, name: str, command: Optional[str] = None, commands: Optional[List[str]] = None, script: Optional[str] = None, javascript: Optional[str] = None, additionalClasses: Optional[str] = None, enabled: Optional[str] = None, input: Optional[List[ControlInputConfig]] = [], regex: Optional[str] = None, template: Optional[str] = None, confirm: Optional[str] = None)
                    +class octoprint.schema.config.controls.ControlConfig(*, name: str, command: str | None = None, commands: List[str] | None = None, script: str | None = None, javascript: str | None = None, additionalClasses: str | None = None, enabled: str | None = None, input: List[ControlInputConfig] | None = [], regex: str | None = None, template: str | None = None, confirm: str | None = None)
                    -additionalClasses: Optional[str]
                    +additionalClasses: str | None

                    Additional classes to apply to the button of a command, commands, script or javascript control, other than the default btn. Can be used to visually style the button, e.g. set to btn-danger to turn the button red.

                    -command: Optional[str]
                    +command: str | None

                    A single GCODE command to send to the printer. Will be rendered as a button which sends the command to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with commands and script. The rendered button be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

                    -commands: Optional[List[str]]
                    +commands: List[str] | None

                    A list of GCODE commands to send to the printer. Will be rendered as a button which sends the commands to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and script. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met.

                    -confirm: Optional[str]
                    +confirm: str | None

                    A text to display to the user to confirm his button press. Can be used with sensitive custom controls like changing EEPROM values in order to prevent accidental clicks. The text will be displayed in a confirmation dialog.

                    -enabled: Optional[str]
                    +enabled: str | None

                    A JavaScript snippet returning either true or false determining whether the control should be enabled or not. This allows to override the default logic for the enable state of the control (disabled if printer is offline). The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

                    -input: Optional[List[ControlInputConfig]]
                    +input: List[ControlInputConfig] | None

                    A list of definitions of input parameters for a command or commands, to be rendered as additional input fields. command/commands may contain placeholders to be replaced by the values obtained from the user for the defined input fields.

                    -javascript: Optional[str]
                    +javascript: str | None

                    A JavaScript snippet to be executed when the button rendered for command or commands is clicked. This allows to override the direct sending of the command or commands to the printer with more sophisticated behaviour. The JavaScript snippet is eval’d and processed in a context where the control it is part of is provided as local variable data and the ControlViewModel is available as self.

                    -name: str
                    +name: str

                    The name of the control, will be displayed either on the button if it’s a control sending a command or as a label for controls which only display output.

                    -regex: Optional[str]
                    +regex: str | None

                    //docs.python.org/3/library/re.html#regular-expression-syntax) to match against lines received from the printer to retrieve information from it (e.g. specific output). Together with template this allows rendition of received data from the printer within the UI.

                    -
                    Type
                    +
                    Type:

                    A [regular expression <re-syntax>](https

                    @@ -1318,19 +1318,19 @@
                    -script: Optional[str]
                    +script: str | None

                    The name of a full blown [GCODE script]() to send to the printer. Will be rendered as a button which sends the script to the printer upon click. The button text will be the value of the name attribute. Mutually exclusive with command and commands. The rendered button will be disabled if the printer is currently offline or printing or alternatively if the requirements defined via the enabled attribute are not met. Values of input parameters will be available in the template context under the parameter variable (e.g. an input parameter speed will be available in the script template as parameter.speed). On top of that all other variables defined in the [GCODE template context]() will be available.

                    -template: Optional[str]
                    +template: str | None

                    {temperature}` for a regex T:s*(?P<temperature>d+(.d*)) or positional groups within the regex (e.g. Position: X={0}, Y={1}, Z={2}, E={3} for a regex X:([0-9.]+) Y:([0-9.]+) Z:([0-9.]+) E:([0-9.]+)).

                    -
                    Type
                    +
                    Type:

                    A template to use for rendering the match of regex. May contain placeholders in [Python Format String Syntax](https

                    -
                    Type
                    +
                    Type:

                    //docs.python.org/3/library/string.html#formatstrings) for either named groups within the regex (e.g. `Temperature

                    @@ -1340,28 +1340,28 @@
                    -class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: Union[str, int, float, bool], slider: Optional[ControlSliderInputConfig] = None)
                    +class octoprint.schema.config.controls.ControlInputConfig(*, name: str, parameter: str, default: str | int | float | bool, slider: ControlSliderInputConfig | None = None)
                    -default: Union[str, int, float, bool]
                    +default: str | int | float | bool

                    Default value for the input field.

                    -name: str
                    +name: str

                    Name to display for the input field.

                    -parameter: str
                    +parameter: str

                    Internal parameter name for the input field, used as a placeholder in command/commands.

                    -slider: Optional[ControlSliderInputConfig]
                    +slider: ControlSliderInputConfig | None

                    If this attribute is included, instead of an input field a slider control will be rendered.

                    @@ -1369,22 +1369,22 @@
                    -class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
                    +class octoprint.schema.config.controls.ControlSliderInputConfig(*, min: int = 0, max: int = 255, step: int = 1)
                    -max: int
                    +max: int

                    Maximum value of the slider.

                    -min: int
                    +min: int

                    Minimum value of the slider.

                    -step: int
                    +step: int

                    Step size per slider tick.

                    @@ -1392,32 +1392,32 @@
                    -class octoprint.schema.config.controls.LayoutEnum(value)
                    +class octoprint.schema.config.controls.LayoutEnum(value)

                    An enumeration.

                    -horizontal = 'horizontal'
                    +horizontal = 'horizontal'
                    -vertical = 'vertical'
                    +vertical = 'vertical'
                    -
                    +
                    -class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
                    +class octoprint.schema.config.devel.DevelCacheConfig(*, enabled: bool = True, preemptive: bool = True)
                    -enabled: bool
                    +enabled: bool

                    Whether to enable caching. Defaults to true. Setting it to false will cause the UI to always be fully rerendered on request to / on the server.

                    -preemptive: bool
                    +preemptive: bool

                    Whether to enable the preemptive cache.

                    @@ -1425,55 +1425,55 @@
                    -class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
                    +class octoprint.schema.config.devel.DevelConfig(*, stylesheet: StylesheetEnum = StylesheetEnum.css, cache: DevelCacheConfig = DevelCacheConfig(enabled=True, preemptive=True), webassets: DevelWebassetsConfig = DevelWebassetsConfig(bundle=True, clean_on_startup=True, minify=True, minify_plugins=False), useFrozenDictForPrinterState: bool = True, showLoadingAnimation: bool = True, sockJsConnectTimeout: float = 30, pluginTimings: bool = False, enableRateLimiter: bool = True, enableCsrfProtection: bool = True)
                    -cache: DevelCacheConfig
                    +cache: DevelCacheConfig

                    Settings for OctoPrint’s internal caching.

                    -enableCsrfProtection: bool
                    +enableCsrfProtection: bool

                    Enable or disable the CSRF protection. Careful, disabling this reduces security.

                    -enableRateLimiter: bool
                    +enableRateLimiter: bool

                    Enable or disable the rate limiter. Careful, disabling this reduces security.

                    -pluginTimings: bool
                    +pluginTimings: bool
                    -showLoadingAnimation: bool
                    +showLoadingAnimation: bool

                    Enable or disable the loading animation.

                    -sockJsConnectTimeout: float
                    +sockJsConnectTimeout: float
                    -stylesheet: StylesheetEnum
                    +stylesheet: StylesheetEnum

                    Settings for stylesheet preference. OctoPrint will prefer to use the stylesheet type specified here. Usually (on a production install) that will be the compiled css (default). Developers may specify less here too.

                    -useFrozenDictForPrinterState: bool
                    +useFrozenDictForPrinterState: bool
                    -webassets: DevelWebassetsConfig
                    +webassets: DevelWebassetsConfig

                    Settings for OctoPrint’s web asset merging and minifying.

                    @@ -1481,13 +1481,13 @@
                    -class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
                    +class octoprint.schema.config.devel.DevelWebassetsConfig(*, bundle: bool = True, clean_on_startup: bool = True, minify: bool = True, minify_plugins: bool = False)
                    -bundle: bool
                    +bundle: bool

                    if this is set to false, no minification will take place regardless of the minify setting.

                    -
                    Type
                    +
                    Type:

                    If set to true, OctoPrint will merge all JS, all CSS and all Less files into one file per type to reduce request count. Setting it to false will load all assets individually. Note

                    @@ -1495,16 +1495,16 @@
                    -clean_on_startup: bool
                    +clean_on_startup: bool

                    Whether to delete generated web assets on server startup (forcing a regeneration).

                    -minify: bool
                    +minify: bool

                    if bundle is set to false, no minification will take place either.

                    -
                    Type
                    +
                    Type:

                    If set to true, OctoPrint will the core and library javascript assets. Note

                    @@ -1512,10 +1512,10 @@
                    -minify_plugins: bool
                    +minify_plugins: bool

                    if bundle or minify are set to false, no minification of the plugin assets will take place either.

                    -
                    Type
                    +
                    Type:

                    If set to true, OctoPrint will also minify the third party plugin javascript assets. Note

                    @@ -1525,26 +1525,26 @@
                    -class octoprint.schema.config.devel.StylesheetEnum(value)
                    +class octoprint.schema.config.devel.StylesheetEnum(value)

                    An enumeration.

                    -css = 'css'
                    +css = 'css'
                    -less = 'less'
                    +less = 'less'
                    -
                    +
                    -class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
                    +class octoprint.schema.config.estimation.EstimationConfig(*, printTime: PrintTimeEstimationConfig = PrintTimeEstimationConfig(statsWeighingUntil=0.5, validityRange=0.15, forceDumbFromPercent=0.3, forceDumbAfterMin=30.0, stableThreshold=60))
                    -printTime: PrintTimeEstimationConfig
                    +printTime: PrintTimeEstimationConfig

                    Parameters for the print time estimation during an ongoing print job.

                    @@ -1552,75 +1552,75 @@
                    -class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
                    +class octoprint.schema.config.estimation.PrintTimeEstimationConfig(*, statsWeighingUntil: float = 0.5, validityRange: float = 0.15, forceDumbFromPercent: float = 0.3, forceDumbAfterMin: float = 30.0, stableThreshold: int = 60)
                    -forceDumbAfterMin: float
                    +forceDumbAfterMin: float

                    If no estimate could be calculated until this many minutes into the print and no statistical data is available, use dumb linear estimate.

                    -forceDumbFromPercent: float
                    +forceDumbFromPercent: float

                    If no estimate could be calculated until this percentage and no statistical data is available, use dumb linear estimate. Value between 0 and 1.0.

                    -stableThreshold: int
                    +stableThreshold: int

                    Average fluctuation between individual calculated estimates to consider in stable range. Seconds of difference.

                    -statsWeighingUntil: float
                    +statsWeighingUntil: float

                    Until which percentage to do a weighted mixture of statistical duration (analysis or past prints) with the result from the calculated estimate if that’s already available. Utilized to compensate for the fact that the earlier in a print job, the least accuracy even a stable calculated estimate provides.

                    -validityRange: float
                    +validityRange: float

                    Range the assumed percentage (based on current estimated statistical, calculated or mixed total vs elapsed print time so far) needs to be around the actual percentage for the result to be used.

                    -
                    +
                    -class octoprint.schema.config.events.EventSubscription(*, event: str, name: Optional[str] = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
                    +class octoprint.schema.config.events.EventSubscription(*, event: str, name: str | None = None, command: str, type: SubscriptionTypeEnum, enabled: bool = True, debug: bool = False)
                    -command: str
                    +command: str

                    The command to execute when the event is triggered, either a GCODE or a system command.

                    -debug: bool
                    +debug: bool

                    If set to true, OctoPrint will log the command after performing all placeholder replacements.

                    -enabled: bool
                    +enabled: bool

                    Whether the event subscription should be enabled.

                    -event: str
                    +event: str

                    The event to subscribe to.

                    -name: Optional[str]
                    +name: str | None

                    The event name to show on the UI

                    -type: SubscriptionTypeEnum
                    +type: SubscriptionTypeEnum

                    The type of the command.

                    @@ -1628,16 +1628,16 @@
                    -class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
                    +class octoprint.schema.config.events.EventsConfig(*, enabled: bool = True, subscriptions: List[EventSubscription] = [])
                    -enabled: bool
                    +enabled: bool

                    Whether event subscriptions should be enabled or not.

                    -subscriptions: List[EventSubscription]
                    +subscriptions: List[EventSubscription]

                    A list of event subscriptions.

                    @@ -1645,221 +1645,221 @@
                    -class octoprint.schema.config.events.SubscriptionTypeEnum(value)
                    +class octoprint.schema.config.events.SubscriptionTypeEnum(value)

                    An enumeration.

                    -gcode = 'gcode'
                    +gcode = 'gcode'
                    -system = 'system'
                    +system = 'system'
                    -
                    +
                    -class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
                    +class octoprint.schema.config.feature.FeatureConfig(*, temperatureGraph: bool = True, sdSupport: bool = True, keyboardControl: bool = True, pollWatched: bool = False, modelSizeDetection: bool = True, rememberFileFolder: bool = False, printStartConfirmation: bool = False, printCancelConfirmation: bool = True, uploadOverwriteConfirmation: bool = True, autoUppercaseBlacklist: List[str] = ['M117', 'M118'], g90InfluencesExtruder: bool = False, enforceReallyUniversalFilenames: bool = False, enableDragDropUpload: bool = True)
                    -autoUppercaseBlacklist: List[str]
                    +autoUppercaseBlacklist: List[str]

                    Commands that should never be auto-uppercased when sent to the printer through the Terminal tab.

                    -enableDragDropUpload: bool
                    +enableDragDropUpload: bool

                    Enable drag and drop upload overlay

                    -enforceReallyUniversalFilenames: bool
                    +enforceReallyUniversalFilenames: bool

                    Replace all special characters and spaces with text equivalent to make them universally compatible. Most OS filesystems work fine with unicode characters, but just in case you can revert to the older behaviour by setting this to true.

                    -g90InfluencesExtruder: bool
                    +g90InfluencesExtruder: bool

                    Whether G90/G91 also influence absolute/relative mode of extruders.

                    -keyboardControl: bool
                    +keyboardControl: bool

                    Whether to enable the keyboard control feature in the control tab.

                    -modelSizeDetection: bool
                    +modelSizeDetection: bool

                    Whether to enable model size detection and warning (true) or not (false).

                    -pollWatched: bool
                    +pollWatched: bool

                    Whether to actively poll the watched folder (true) or to rely on the OS’s file system notifications instead (false).

                    -printCancelConfirmation: bool
                    +printCancelConfirmation: bool

                    Whether to show a confirmation on print cancelling (true) or not (false)

                    -printStartConfirmation: bool
                    +printStartConfirmation: bool

                    Whether to show a confirmation on print start (true) or not (false)

                    -rememberFileFolder: bool
                    +rememberFileFolder: bool

                    Whether to remember the selected folder on the file manager.

                    -sdSupport: bool
                    +sdSupport: bool

                    Specifies whether support for SD printing and file management should be enabled.

                    -temperatureGraph: bool
                    +temperatureGraph: bool

                    Whether to enable the temperature graph in the UI or not.

                    -uploadOverwriteConfirmation: bool
                    +uploadOverwriteConfirmation: bool
                    -
                    +
                    -class octoprint.schema.config.folder.FolderConfig(*, uploads: Optional[str] = None, timelapse: Optional[str] = None, timelapse_tmp: Optional[str] = None, logs: Optional[str] = None, virtualSd: Optional[str] = None, watched: Optional[str] = None, plugins: Optional[str] = None, slicingProfiles: Optional[str] = None, printerProfiles: Optional[str] = None, scripts: Optional[str] = None, translations: Optional[str] = None, generated: Optional[str] = None, data: Optional[str] = None)
                    +class octoprint.schema.config.folder.FolderConfig(*, uploads: str | None = None, timelapse: str | None = None, timelapse_tmp: str | None = None, logs: str | None = None, virtualSd: str | None = None, watched: str | None = None, plugins: str | None = None, slicingProfiles: str | None = None, printerProfiles: str | None = None, scripts: str | None = None, translations: str | None = None, generated: str | None = None, data: str | None = None)
                    -data: Optional[str]
                    +data: str | None

                    Absolute path where to store additional data. Defaults to the data folder in OctoPrint’s base folder.

                    -generated: Optional[str]
                    +generated: str | None

                    Absolute path where to store generated files. Defaults to the generated folder in OctoPrint’s base folder.

                    -logs: Optional[str]
                    +logs: str | None

                    Absolute path where to store logs. Defaults to the logs folder in OctoPrint’s base folder.

                    -plugins: Optional[str]
                    +plugins: str | None

                    Absolute path where to locate and install single file plugins. Defaults to the plugins folder in OctoPrint’s base folder.

                    -printerProfiles: Optional[str]
                    +printerProfiles: str | None

                    Absolute path where to store printer profiles. Defaults to the printerProfiles folder in OctoPrint’s base folder.

                    -scripts: Optional[str]
                    +scripts: str | None

                    Absolute path where to store (GCODE) scripts. Defaults to the scripts folder in OctoPrint’s base folder.

                    -slicingProfiles: Optional[str]
                    +slicingProfiles: str | None

                    Absolute path where to store slicing profiles. Defaults to the slicingProfiles folder in OctoPrint’s base folder.

                    -timelapse: Optional[str]
                    +timelapse: str | None

                    Absolute path where to store finished timelase recordings. Defaults to the timelapse folder in OctoPrint’s base folder.

                    -timelapse_tmp: Optional[str]
                    +timelapse_tmp: str | None

                    Absolute path where to store temporary timelapse snapshots. Defaults to the timelapse/tmp folder in OctoPrint’s base folder.

                    -translations: Optional[str]
                    +translations: str | None

                    Absolute path where to store additional translations. Defaults to the translations folder in OctoPrint’s base folder.

                    -uploads: Optional[str]
                    +uploads: str | None

                    Absolute path where to store gcode uploads. Defaults to the uploads folder in OctoPrint’s base folder.

                    -virtualSd: Optional[str]
                    +virtualSd: str | None

                    Absolute path where to store the virtual printer’s SD card files. Defaults to the virtualSd folder in OctoPrint’s base folder.

                    -watched: Optional[str]
                    +watched: str | None

                    Absolute path to the watched folder. Defaults to the watched folder in OctoPrint’s base folder.

                    -
                    +
                    -class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
                    +class octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig(*, maxExtruders: int = 10, throttle_normalprio: float = 0.01, throttle_highprio: float = 0.0, throttle_lines: int = 100, runAt: RunAtEnum = RunAtEnum.idle, bedZ: float = 0.0)
                    -bedZ: float
                    +bedZ: float

                    Z position considered the location of the bed.

                    -maxExtruders: int
                    +maxExtruders: int

                    Maximum number of extruders to support/to sanity check for.

                    -runAt: RunAtEnum
                    +runAt: RunAtEnum

                    Whether to run the analysis only when idle (not printing), regardless of printing state or never.

                    -throttle_highprio: float
                    +throttle_highprio: float

                    Pause between each processed GCODE line batch in high priority mode (e.g. on fresh uploads), seconds.

                    -throttle_lines: int
                    +throttle_lines: int

                    GCODE line batch size.

                    -throttle_normalprio: float
                    +throttle_normalprio: float

                    Pause between each processed GCODE line batch in normal priority mode, seconds.

                    @@ -1867,218 +1867,218 @@
                    -class octoprint.schema.config.gcode_analysis.RunAtEnum(value)
                    +class octoprint.schema.config.gcode_analysis.RunAtEnum(value)

                    An enumeration.

                    -always = 'always'
                    +always = 'always'
                    -idle = 'idle'
                    +idle = 'idle'
                    -never = 'never'
                    +never = 'never'
                    -
                    +
                    -class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {})
                    +class octoprint.schema.config.plugins.PluginsConfig(*, _disabled: List[str] = [], _forcedCompatible: List[str] = [], _sortingOrder: Dict[str, Dict[str, int]] = {})
                    -disabled: List[str]
                    +disabled: List[str]

                    Identifiers of installed but disabled plugins.

                    -forced_compatible: List[str]
                    +forced_compatible: List[str]

                    Identifiers of plugins for which python compatibility information will be ignored and the plugin considered compatible in any case. Only for development, do NOT use in production.

                    -sorting_order: Dict[str, Dict[str, int]]
                    +sorting_order: Dict[str, Dict[str, int]]

                    Custom sorting of hooks and implementations provided by plugins. Two-tiered dictionary structure, plugin identifier mapping to a dictionary of order overrides mapped by sorting context/hook name.

                    -
                    +
                    -class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
                    +class octoprint.schema.config.printer_parameters.PrinterParametersConfig(*, pauseTriggers: List[str] = [])
                    -pauseTriggers: List[str]
                    +pauseTriggers: List[str]
                    -
                    +
                    -class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: Optional[str] = None)
                    +class octoprint.schema.config.printer_profiles.PrinterProfilesConfig(*, default: str | None = None)
                    -default: Optional[str]
                    +default: str | None

                    Name of the printer profile to default to.

                    -
                    +
                    -class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: Optional[str] = None, beforePrinterDisconnected: Optional[str] = None, beforePrintStarted: Optional[str] = None, afterPrintCancelled: Optional[str] = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: Optional[str] = None, beforePrintPaused: Optional[str] = None, afterPrintResumed: Optional[str] = None, beforeToolChange: Optional[str] = None, afterToolChange: Optional[str] = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
                    +class octoprint.schema.config.scripts.GcodeScriptsConfig(*, afterPrinterConnected: str | None = None, beforePrinterDisconnected: str | None = None, beforePrintStarted: str | None = None, afterPrintCancelled: str | None = "; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone: str | None = None, beforePrintPaused: str | None = None, afterPrintResumed: str | None = None, beforeToolChange: str | None = None, afterToolChange: str | None = None, snippets: Dict[str, str] = {'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}', 'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}'})
                    -afterPrintCancelled: Optional[str]
                    +afterPrintCancelled: str | None
                    -afterPrintDone: Optional[str]
                    +afterPrintDone: str | None
                    -afterPrintResumed: Optional[str]
                    +afterPrintResumed: str | None
                    -afterPrinterConnected: Optional[str]
                    +afterPrinterConnected: str | None
                    -afterToolChange: Optional[str]
                    +afterToolChange: str | None
                    -beforePrintPaused: Optional[str]
                    +beforePrintPaused: str | None
                    -beforePrintStarted: Optional[str]
                    +beforePrintStarted: str | None
                    -beforePrinterDisconnected: Optional[str]
                    +beforePrinterDisconnected: str | None
                    -beforeToolChange: Optional[str]
                    +beforeToolChange: str | None
                    -snippets: Dict[str, str]
                    +snippets: Dict[str, str]
                    -class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
                    +class octoprint.schema.config.scripts.ScriptsConfig(*, gcode: GcodeScriptsConfig = GcodeScriptsConfig(afterPrinterConnected=None, beforePrinterDisconnected=None, beforePrintStarted=None, afterPrintCancelled="; disable motors\nM84\n\n;disable all heaters\n{% snippet 'disable_hotends' %}\n{% snippet 'disable_bed' %}\n;disable fan\nM106 S0", afterPrintDone=None, beforePrintPaused=None, afterPrintResumed=None, beforeToolChange=None, afterToolChange=None, snippets={'disable_hotends': '{% if printer_profile.extruder.sharedNozzle %}M104 T0 S0\n{% else %}{% for tool in range(printer_profile.extruder.count) %}M104 T{{ tool }} S0\n{% endfor %}{% endif %}', 'disable_bed': '{% if printer_profile.heatedBed %}M140 S0\n{% endif %}'}))
                    -gcode: GcodeScriptsConfig
                    +gcode: GcodeScriptsConfig
                    -
                    +
                    -class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)
                    +class octoprint.schema.config.serial.AlwaysDetectNeverEnum(value)

                    An enumeration.

                    -always = 'always'
                    +always = 'always'
                    -detect = 'detect'
                    +detect = 'detect'
                    -never = 'never'
                    +never = 'never'
                    -class octoprint.schema.config.serial.InfoWarnNeverEnum(value)
                    +class octoprint.schema.config.serial.InfoWarnNeverEnum(value)

                    An enumeration.

                    -info = 'info'
                    +info = 'info'
                    -never = 'never'
                    +never = 'never'
                    -warn = 'warn'
                    +warn = 'warn'
                    -class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
                    +class octoprint.schema.config.serial.SerialCapabilities(*, autoreport_temp: bool = True, autoreport_sdstatus: bool = True, autoreport_pos: bool = True, busy_protocol: bool = True, emergency_parser: bool = True, extended_m20: bool = True, lfn_write: bool = True)
                    -autoreport_pos: bool
                    +autoreport_pos: bool

                    Whether to enable position autoreport in the firmware if its support is detected

                    -autoreport_sdstatus: bool
                    +autoreport_sdstatus: bool

                    Whether to enable SD printing autoreport in the firmware if its support is detected

                    -autoreport_temp: bool
                    +autoreport_temp: bool

                    Whether to enable temperature autoreport in the firmware if its support is detected

                    -busy_protocol: bool
                    +busy_protocol: bool

                    Whether to shorten the communication timeout if the firmware seems to support the busy protocol

                    -emergency_parser: bool
                    +emergency_parser: bool

                    Whether to send emergency commands out of band if the firmware seems to support the emergency parser

                    -extended_m20: bool
                    +extended_m20: bool

                    Whether to request extended M20 (file list) output from the firmware if its support is detected

                    -lfn_write: bool
                    +lfn_write: bool

                    Whether to enable long filename support for SD card writes if the firmware reports support for it

                    @@ -2086,29 +2086,29 @@
                    -class octoprint.schema.config.serial.SerialConfig(*, port: Optional[str] = None, baudrate: Optional[int] = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
                    +class octoprint.schema.config.serial.SerialConfig(*, port: str | None = None, baudrate: int | None = None, exclusive: bool = True, lowLatency: bool = False, autoconnect: bool = False, autorefresh: bool = True, autorefreshInterval: int = 1, log: bool = False, timeout: SerialTimeoutConfig = SerialTimeoutConfig(detectionFirst=10.0, detectionConsecutive=2.0, connection=10.0, communication=30.0, communicationBusy=3.0, temperature=5.0, temperatureTargetSet=2.0, temperatureAutoreport=2.0, sdStatus=1.0, sdStatusAutoreport=1.0, posAutoreport=5.0, resendOk=0.5, baudrateDetectionPause=1.0, positionLogWait=10.0), maxCommunicationTimeouts: SerialMaxTimeouts = SerialMaxTimeouts(idle=2, printing=5, long=5), maxWritePasses: int = 5, additionalPorts: List[str] = [], additionalBaudrates: List[int] = [], blacklistedPorts: List[str] = [], blacklistedBaudrates: List[int] = [], longRunningCommands: List[str] = ['G4', 'G28', 'G29', 'G30', 'G32', 'M400', 'M226', 'M600'], blockedCommands: List[str] = ['M0', 'M1'], ignoredCommands: List[str] = [], pausingCommands: List[str] = ['M0', 'M1', 'M25'], emergencyCommands: List[str] = ['M112', 'M108', 'M410'], checksumRequiringCommands: List[str] = ['M110'], helloCommand: str = 'M110 N0', disconnectOnErrors: bool = True, ignoreErrorsFromFirmware: bool = False, terminalLogSize: int = 20, lastLineBufferSize: int = 50, logResends: bool = True, supportResendsWithoutOk: AlwaysDetectNeverEnum = 'detect', logPositionOnPause: bool = True, logPositionOnCancel: bool = False, abortHeatupOnCancel: bool = True, waitForStartOnConnect: bool = False, waitToLoadSdFileList: bool = True, alwaysSendChecksum: bool = False, neverSendChecksum: bool = False, sendChecksumWithUnknownCommands: bool = False, unknownCommandsNeedAck: bool = False, sdRelativePath: bool = False, sdAlwaysAvailable: bool = False, sdLowerCase: bool = False, sdCancelCommand: str = 'M25', maxNotSdPrinting: int = 2, swallowOkAfterResend: bool = True, repetierTargetTemp: bool = False, externalHeatupDetection: bool = True, supportWait: bool = True, ignoreIdenticalResends: bool = False, identicalResendsCountdown: int = 7, supportFAsCommand: bool = False, firmwareDetection: bool = True, blockWhileDwelling: bool = False, useParityWorkaround: AlwaysDetectNeverEnum = 'detect', maxConsecutiveResends: int = 10, sendM112OnError: bool = True, disableSdPrintingDetection: bool = False, ackMax: int = 1, sanityCheckTools: bool = True, notifySuppressedCommands: InfoWarnNeverEnum = 'warn', capabilities: SerialCapabilities = SerialCapabilities(autoreport_temp=True, autoreport_sdstatus=True, autoreport_pos=True, busy_protocol=True, emergency_parser=True, extended_m20=True, lfn_write=True), resendRatioThreshold: int = 10, resendRatioStart: int = 100, ignoreEmptyPorts: bool = False, encoding: str = 'ascii', enableShutdownActionCommand: bool = False, triggerOkForM29: bool = True)
                    -abortHeatupOnCancel: bool
                    +abortHeatupOnCancel: bool
                    -ackMax: int
                    +ackMax: int
                    -additionalBaudrates: List[int]
                    +additionalBaudrates: List[int]

                    Use this to define additional baud rates to offer for connecting to serial ports. Must be a valid integer

                    -additionalPorts: List[str]
                    +additionalPorts: List[str]

                    //docs.python.org/3/library/glob.html)

                    -
                    Type
                    +
                    Type:

                    Use this to define additional patterns to consider for serial port listing. Must be a valid [“glob” pattern](http

                    @@ -2116,95 +2116,95 @@
                    -alwaysSendChecksum: bool
                    +alwaysSendChecksum: bool

                    Specifies whether OctoPrint should send linenumber + checksum with every printer command. Needed for successful communication with Repetier firmware.

                    -autoconnect: bool
                    +autoconnect: bool

                    Whether to try to automatically connect to the printer on startup or not

                    -autorefresh: bool
                    +autorefresh: bool

                    Whether to automatically refresh the port list while no connection is established

                    -autorefreshInterval: int
                    +autorefreshInterval: int

                    Interval in seconds at which to refresh the port list while no connection is established

                    -baudrate: Optional[int]
                    +baudrate: int | None

                    The default baudrate to use to connect to the printer. If unset or set to 0, the baudrate will be auto-detected.

                    -blacklistedBaudrates: List[int]
                    +blacklistedBaudrates: List[int]
                    -blacklistedPorts: List[str]
                    +blacklistedPorts: List[str]
                    -blockWhileDwelling: bool
                    +blockWhileDwelling: bool

                    Whether to block all sending to the printer while a G4 (dwell) command is active (true, repetier) or not (false).

                    -blockedCommands: List[str]
                    +blockedCommands: List[str]

                    Commands which should not be sent to the printer, e.g. because they are known to block serial communication until physical interaction with the printer as is the case on most firmwares with the default M0 and M1.

                    -capabilities: SerialCapabilities
                    +capabilities: SerialCapabilities
                    -checksumRequiringCommands: List[str]
                    +checksumRequiringCommands: List[str]

                    Commands which need to always be send with a checksum.

                    -disableSdPrintingDetection: bool
                    +disableSdPrintingDetection: bool
                    -disconnectOnErrors: bool
                    +disconnectOnErrors: bool

                    Whether to disconnect from the printer on errors or not.

                    -emergencyCommands: List[str]
                    +emergencyCommands: List[str]
                    -enableShutdownActionCommand: bool
                    +enableShutdownActionCommand: bool

                    Whether to enable support for the shutdown action command, allowing the printer to shut down OctoPrint and the system it’s running on.

                    -encoding: str
                    +encoding: str

                    //docs.python.org/3/library/codecs.html#standard-encodings).

                    -
                    Type
                    +
                    Type:

                    Encoding to use when talking to a machine. ascii limits access to characters 0-127, latin_1 enables access to the “extended” ascii characters 0-255. Other values can be used, see [Python’s standard encodings](https

                    @@ -2212,68 +2212,68 @@
                    -exclusive: bool
                    +exclusive: bool

                    Whether to request the serial port exclusively or not

                    -externalHeatupDetection: bool
                    +externalHeatupDetection: bool

                    Whether to enable external heatup detection (to detect heatup triggered e.g. through the printer’s LCD panel or while printing from SD) or not. Causes issues with Repetier’s “first ok then response” approach to communication, so disable for printers running Repetier firmware.

                    -firmwareDetection: bool
                    +firmwareDetection: bool

                    Whether to attempt to auto detect the firmware of the printer and adjust settings accordingly (true) or not and rely on manual configuration (false).

                    -helloCommand: str
                    +helloCommand: str

                    Command to send in order to initiate a handshake with the printer.

                    -identicalResendsCountdown: int
                    +identicalResendsCountdown: int

                    If ignoreIdenticalResends is true, how many consecutive identical resends to ignore.

                    -ignoreEmptyPorts: bool
                    +ignoreEmptyPorts: bool
                    -ignoreErrorsFromFirmware: bool
                    +ignoreErrorsFromFirmware: bool

                    Whether to completely ignore errors from the firmware or not.

                    -ignoreIdenticalResends: bool
                    +ignoreIdenticalResends: bool

                    Whether to ignore identical resends from the printer (true, repetier) or not (false).

                    -ignoredCommands: List[str]
                    +ignoredCommands: List[str]

                    Commands which should not be sent to the printer and just silently ignored. An example of when you may wish to use this could be useful if you wish to manually change a filament on M600, by using that as a Pausing command.

                    -lastLineBufferSize: int
                    +lastLineBufferSize: int
                    -log: bool
                    +log: bool

                    might decrease performance)

                    -
                    Type
                    +
                    Type:

                    Whether to log whole communication to serial.log (warning

                    @@ -2281,194 +2281,189 @@
                    -logPositionOnCancel: bool
                    +logPositionOnCancel: bool
                    -logPositionOnPause: bool
                    +logPositionOnPause: bool
                    -logResends: bool
                    +logResends: bool

                    Whether to log resends to octoprint.log or not. Invaluable debug tool without performance impact, leave on if possible please.

                    -longRunningCommands: List[str]
                    +longRunningCommands: List[str]

                    Commands which are known to take a long time to be acknowledged by the firmware, e.g. homing, dwelling, auto leveling etc.

                    -lowLatency: bool
                    +lowLatency: bool

                    Whether to request low latency mode on the serial port or not

                    -maxCommunicationTimeouts: SerialMaxTimeouts
                    +maxCommunicationTimeouts: SerialMaxTimeouts
                    -maxConsecutiveResends: int
                    +maxConsecutiveResends: int
                    -maxNotSdPrinting: int
                    +maxNotSdPrinting: int
                    -maxWritePasses: int
                    +maxWritePasses: int

                    Maximum number of write attempts to serial during which nothing can be written before the communication with the printer is considered dead and OctoPrint will disconnect with an error

                    -neverSendChecksum: bool
                    +neverSendChecksum: bool
                    -notifySuppressedCommands: InfoWarnNeverEnum
                    +notifySuppressedCommands: InfoWarnNeverEnum
                    -pausingCommands: List[str]
                    +pausingCommands: List[str]

                    Commands which should cause OctoPrint to pause any ongoing prints.

                    -port: Optional[str]
                    +port: str | None

                    The default port to use to connect to the printer. If unset or set to AUTO, the port will be auto-detected.

                    -repetierTargetTemp: bool
                    -

                    <temperature>` instead of attaching that information to the regular M105 responses.

                    -
                    -
                    Type
                    -

                    Whether the printer sends repetier style target temperatures in the format `TargetExtr0

                    -
                    -
                    +repetierTargetTemp: bool +

                    Whether the printer sends repetier style target temperatures in the format TargetExtr0:<temperature> instead of attaching that information to the regular M105 responses.

                    -resendRatioStart: int
                    +resendRatioStart: int
                    -resendRatioThreshold: int
                    +resendRatioThreshold: int

                    Percentage of resend requests among all sent lines that should be considered critical.

                    -sanityCheckTools: bool
                    +sanityCheckTools: bool
                    -sdAlwaysAvailable: bool
                    +sdAlwaysAvailable: bool

                    Whether to always assume that an SD card is present in the printer. Needed by some firmwares which don’t report the SD card status properly.

                    -sdCancelCommand: str
                    +sdCancelCommand: str
                    -sdLowerCase: bool
                    +sdLowerCase: bool
                    -sdRelativePath: bool
                    +sdRelativePath: bool

                    Specifies whether firmware expects relative paths for selecting SD files.

                    -sendChecksumWithUnknownCommands: bool
                    +sendChecksumWithUnknownCommands: bool

                    Specifies whether OctoPrint should also send linenumber + checksum with commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

                    -sendM112OnError: bool
                    +sendM112OnError: bool
                    -supportFAsCommand: bool
                    +supportFAsCommand: bool

                    Whether to support F on its own as a valid GCODE command (true) or not (false).

                    -supportResendsWithoutOk: AlwaysDetectNeverEnum
                    +supportResendsWithoutOk: AlwaysDetectNeverEnum

                    Whether to support resends without follow-up ok or not.

                    -supportWait: bool
                    +supportWait: bool
                    -swallowOkAfterResend: bool
                    +swallowOkAfterResend: bool
                    -terminalLogSize: int
                    +terminalLogSize: int
                    -timeout: SerialTimeoutConfig
                    +timeout: SerialTimeoutConfig

                    Timeouts used for the serial connection to the printer, you might want to adjust these if you are experiencing connection problems

                    -triggerOkForM29: bool
                    +triggerOkForM29: bool

                    Whether to automatically trigger an ok for M29 (a lot of versions of this command are buggy and the response skips on the ok).

                    -unknownCommandsNeedAck: bool
                    +unknownCommandsNeedAck: bool

                    Specifies whether OctoPrint should also use up acknowledgments (ok) for commands that are not detected as valid GCODE (as in, they do not match the regular expression ^s*([GM]d+|T)).

                    -useParityWorkaround: AlwaysDetectNeverEnum
                    +useParityWorkaround: AlwaysDetectNeverEnum
                    -waitForStartOnConnect: bool
                    +waitForStartOnConnect: bool

                    Whether OctoPrint should wait for the start response from the printer before trying to send commands during connect.

                    -waitToLoadSdFileList: bool
                    +waitToLoadSdFileList: bool

                    Specifies whether OctoPrint should wait to load the SD card file list until the first firmware capability report is processed.

                    @@ -2476,22 +2471,22 @@
                    -class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
                    +class octoprint.schema.config.serial.SerialMaxTimeouts(*, idle: int = 2, printing: int = 5, long: int = 5)
                    -idle: int
                    +idle: int

                    Max. timeouts when the printer is idle

                    -long: int
                    +long: int

                    Max. timeouts when a long running command is active

                    -printing: int
                    +printing: int

                    Max. timeouts when the printer is printing

                    @@ -2499,109 +2494,109 @@
                    -class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
                    +class octoprint.schema.config.serial.SerialTimeoutConfig(*, detectionFirst: float = 10.0, detectionConsecutive: float = 2.0, connection: float = 10.0, communication: float = 30.0, communicationBusy: float = 3.0, temperature: float = 5.0, temperatureTargetSet: float = 2.0, temperatureAutoreport: float = 2.0, sdStatus: float = 1.0, sdStatusAutoreport: float = 1.0, posAutoreport: float = 5.0, resendOk: float = 0.5, baudrateDetectionPause: float = 1.0, positionLogWait: float = 10.0)
                    -baudrateDetectionPause: float
                    +baudrateDetectionPause: float
                    -communication: float
                    +communication: float

                    Timeout during serial communication, in seconds

                    -communicationBusy: float
                    +communicationBusy: float

                    Timeout during serial communication when busy protocol support is detected, in seconds

                    -connection: float
                    +connection: float

                    Timeout for waiting to establish a connection with the selected port, in seconds

                    -detectionConsecutive: float
                    +detectionConsecutive: float
                    -detectionFirst: float
                    +detectionFirst: float
                    -posAutoreport: float
                    +posAutoreport: float
                    -positionLogWait: float
                    +positionLogWait: float
                    -resendOk: float
                    +resendOk: float
                    -sdStatus: float
                    +sdStatus: float

                    Timeout after which to query the SD status while SD printing

                    -sdStatusAutoreport: float
                    +sdStatusAutoreport: float
                    -temperature: float
                    +temperature: float

                    Timeout after which to query temperature when no target is set

                    -temperatureAutoreport: float
                    +temperatureAutoreport: float
                    -temperatureTargetSet: float
                    +temperatureTargetSet: float

                    Timeout after which to query temperature when a target is set

                    -
                    +
                    -class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: Optional[str] = None, systemRestartCommand: Optional[str] = None, serverRestartCommand: Optional[str] = None, localPipCommand: Optional[str] = None)
                    +class octoprint.schema.config.server.CommandsConfig(*, systemShutdownCommand: str | None = None, systemRestartCommand: str | None = None, serverRestartCommand: str | None = None, localPipCommand: str | None = None)
                    -localPipCommand: Optional[str]
                    +localPipCommand: str | None

                    pip command associated with OctoPrint, used for installing plugins and updates, if unset (default) the command will be autodetected based on the current python executable - unless you have a really special setup this is the right way to do it and there should be no need to ever touch this setting.

                    -serverRestartCommand: Optional[str]
                    +serverRestartCommand: str | None

                    Command to restart OctoPrint.

                    -systemRestartCommand: Optional[str]
                    +systemRestartCommand: str | None

                    Command to restart the system OctoPrint is running on.

                    -systemShutdownCommand: Optional[str]
                    +systemShutdownCommand: str | None

                    Command to shut down the system OctoPrint is running on.

                    @@ -2609,16 +2604,16 @@
                    -class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: Optional[SameSiteEnum] = SameSiteEnum.lax)
                    +class octoprint.schema.config.server.CookiesConfig(*, secure: bool = False, samesite: SameSiteEnum | None = SameSiteEnum.lax)
                    -samesite: Optional[SameSiteEnum]
                    +samesite: SameSiteEnum | None

                    //www.chromestatus.com/feature/5088147346030592), [“Feature: Reject insecure SameSite=None cookies”](https://www.chromestatus.com/feature/5633521622188032) and [issue #3482](https://github.com/OctoPrint/OctoPrint/issues/3482).

                    -
                    Type
                    +
                    Type:

                    SameSite setting to use on the cookies. Possible values are None, Lax and Strict. Defaults to Lax. Be advised that if forced unset, this has security implications as many browsers now default to Lax unless you configure cookies to be set with Secure flag set, explicitly set SameSite setting here and also serve OctoPrint over https. The Lax setting is known to cause with embedding OctoPrint in frames. See also [“Feature

                    -
                    Type
                    +
                    Type:

                    Cookies default to SameSite=Lax”](https

                    @@ -2626,7 +2621,7 @@
                    -secure: bool
                    +secure: bool

                    Whether to set the Secure flag to true on cookies. Only set to true if you are running OctoPrint behind a reverse proxy taking care of SSL termination.

                    @@ -2634,16 +2629,16 @@
                    -class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
                    +class octoprint.schema.config.server.DiskspaceConfig(*, warning: int = 524288000, critical: int = 209715200)
                    -critical: int
                    +critical: int

                    Threshold (bytes) after which to consider disk space becoming critical, defaults to 200MB.

                    -warning: int
                    +warning: int

                    Threshold (bytes) after which to consider disk space becoming sparse, defaults to 500MB.

                    @@ -2651,16 +2646,16 @@
                    -class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
                    +class octoprint.schema.config.server.IpCheckConfig(*, enabled: bool = True, trustedSubnets: List[str] = [])
                    -enabled: bool
                    +enabled: bool

                    Whether to enable the check.

                    -trustedSubnets: List[str]
                    +trustedSubnets: List[str]

                    Additional non-local subnets to consider trusted, in CIDR notation, e.g. 192.168.1.0/24.

                    @@ -2668,34 +2663,34 @@
                    -class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: Optional[bool] = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
                    +class octoprint.schema.config.server.OnlineCheckConfig(*, enabled: bool | None = None, interval: int = 900, host: str = '1.1.1.1', port: int = 53, name: str = 'octoprint.org')
                    -enabled: Optional[bool]
                    +enabled: bool | None

                    Whether the online check is enabled. Ships unset, the user will be asked to make a decision as part of the setup wizard.

                    -host: str
                    +host: str

                    DNS host against which to check, defaults to Cloudflare’s DNS.

                    -interval: int
                    +interval: int

                    Interval in which to check for online connectivity (in seconds), defaults to 15 minutes.

                    -name: str
                    +name: str

                    Host name for which to check name resolution, defaults to OctoPrint’s main domain.

                    -port: int
                    +port: int

                    DNS port against which to check, defaults to the standard DNS port.

                    @@ -2703,19 +2698,19 @@
                    -class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: Optional[bool] = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
                    +class octoprint.schema.config.server.PluginBlacklistConfig(*, enabled: bool | None = None, url: str = 'https://plugins.octoprint.org/blacklist.json', ttl: int = 900, timeout: float = 3.05)
                    -enabled: Optional[bool]
                    +enabled: bool | None

                    Whether use of the blacklist is enabled. If unset, the user will be asked to make a decision as part of the setup wizard.

                    -timeout: float
                    +timeout: float

                    3.05 seconds).

                    -
                    Type
                    +
                    Type:

                    Timeout for fetching the blacklist, in seconds (default

                    @@ -2723,10 +2718,10 @@
                    -ttl: int
                    +ttl: int

                    15 minutes).

                    -
                    Type
                    +
                    Type:

                    Time to live of the cached blacklist, in seconds (default

                    @@ -2734,7 +2729,7 @@
                    -url: str
                    +url: str

                    The URL from which to fetch the blacklist.

                    @@ -2742,16 +2737,16 @@
                    -class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
                    +class octoprint.schema.config.server.PreemptiveCacheConfig(*, exceptions: List[str] = [], until: int = 7)
                    -exceptions: List[str]
                    +exceptions: List[str]

                    Which server paths to exclude from the preemptive cache, e.g. /some/path.

                    -until: int
                    +until: int

                    How many days to leave unused entries in the preemptive cache config.

                    @@ -2759,66 +2754,66 @@
                    -class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: Optional[str] = None, schemeHeader: Optional[str] = None, hostHeader: Optional[str] = None, serverHeader: Optional[str] = None, portHeader: Optional[str] = None, prefixFallback: Optional[str] = None, schemeFallback: Optional[str] = None, hostFallback: Optional[str] = None, serverFallback: Optional[str] = None, portFallback: Optional[str] = None, trustedDownstream: List[str] = ['127.0.0.1', '::1'])
                    +class octoprint.schema.config.server.ReverseProxyConfig(*, prefixHeader: str | None = None, schemeHeader: str | None = None, hostHeader: str | None = None, serverHeader: str | None = None, portHeader: str | None = None, prefixFallback: str | None = None, schemeFallback: str | None = None, hostFallback: str | None = None, serverFallback: str | None = None, portFallback: str | None = None, trustedDownstream: List[str] = ['127.0.0.1', '::1'])
                    -hostFallback: Optional[str]
                    +hostFallback: str | None

                    Use this option to define an optional forced host under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname than OctoPrint itself but can’t configure said reverse proxy to send a host HTTP header (X-Forwarded-Host by default, see above) with forwarded requests.

                    -hostHeader: Optional[str]
                    +hostHeader: str | None

                    The request header from which to determine the host under which OctoPrint is served by the reverse proxy.

                    -portFallback: Optional[str]
                    +portFallback: str | None
                    -portHeader: Optional[str]
                    +portHeader: str | None
                    -prefixFallback: Optional[str]
                    +prefixFallback: str | None

                    Use this option to define an optional URL prefix (with a leading /, so absolute to your server’s root) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy under a different root endpoint than / and can’t configure said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with forwarded requests.

                    -prefixHeader: Optional[str]
                    +prefixHeader: str | None

                    The request header from which to determine the URL prefix under which OctoPrint is served by the reverse proxy.

                    -schemeFallback: Optional[str]
                    +schemeFallback: str | None

                    Use this option to define an optional forced scheme (http or https) under which to run OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse proxy that also does HTTPS determination but can’t configure said reverse proxy to send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests.

                    -schemeHeader: Optional[str]
                    +schemeHeader: str | None

                    The request header from which to determine the scheme (http or https) under which a specific request to OctoPrint was made to the reverse proxy.

                    -serverFallback: Optional[str]
                    +serverFallback: str | None
                    -serverHeader: Optional[str]
                    +serverHeader: str | None
                    -trustedDownstream: List[str]
                    +trustedDownstream: List[str]

                    List of trusted downstream servers for which to ignore the IP address when trying to determine the connecting client’s IP address. A reverse proxy on the same machine as OctoPrint (e.g. as found on OctoPi) will be handled correctly by default, further proxies in front of that you’ll have to add yourself.

                    @@ -2826,123 +2821,123 @@
                    -class octoprint.schema.config.server.SameSiteEnum(value)
                    +class octoprint.schema.config.server.SameSiteEnum(value)

                    An enumeration.

                    -lax = 'Lax'
                    +lax = 'Lax'
                    -none = 'None'
                    +none = 'None'
                    -strict = 'Strict'
                    +strict = 'Strict'
                    -class octoprint.schema.config.server.ServerConfig(*, host: ~typing.Optional[str] = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: ~typing.Dict[str, str] = {}, secretKey: ~typing.Optional[str] = None, heartbeat: int = 900, reverseProxy: ~octoprint.schema.config.server.ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads: ~octoprint.schema.config.server.UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: ~octoprint.schema.config.server.CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: ~octoprint.schema.config.server.OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: ~octoprint.schema.config.server.PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace: ~octoprint.schema.config.server.DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: ~octoprint.schema.config.server.PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: ~octoprint.schema.config.server.IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: ~octoprint.schema.config.server.CookiesConfig = CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths: ~typing.List[str] = [])
                    +class octoprint.schema.config.server.ServerConfig(*, host: str | None = None, port: int = 5000, firstRun: bool = True, startOnceInSafeMode: bool = False, ignoreIncompleteStartup: bool = False, seenWizards: ~typing.Dict[str, str] = {}, secretKey: str | None = None, heartbeat: int = 900, reverseProxy: ~octoprint.schema.config.server.ReverseProxyConfig = ReverseProxyConfig(prefixHeader=None, schemeHeader=None, hostHeader=None, serverHeader=None, portHeader=None, prefixFallback=None, schemeFallback=None, hostFallback=None, serverFallback=None, portFallback=None, trustedDownstream=['127.0.0.1', '::1']), uploads: ~octoprint.schema.config.server.UploadsConfig = UploadsConfig(maxSize=1073741824, nameSuffix='name', pathSuffix='path'), maxSize: int = 102400, commands: ~octoprint.schema.config.server.CommandsConfig = CommandsConfig(systemShutdownCommand=None, systemRestartCommand=None, serverRestartCommand=None, localPipCommand=None), onlineCheck: ~octoprint.schema.config.server.OnlineCheckConfig = OnlineCheckConfig(enabled=None, interval=900, host='1.1.1.1', port=53, name='octoprint.org'), pluginBlacklist: ~octoprint.schema.config.server.PluginBlacklistConfig = PluginBlacklistConfig(enabled=None, url='https://plugins.octoprint.org/blacklist.json', ttl=900, timeout=3.05), diskspace: ~octoprint.schema.config.server.DiskspaceConfig = DiskspaceConfig(warning=524288000, critical=209715200), preemptiveCache: ~octoprint.schema.config.server.PreemptiveCacheConfig = PreemptiveCacheConfig(exceptions=[], until=7), ipCheck: ~octoprint.schema.config.server.IpCheckConfig = IpCheckConfig(enabled=True, trustedSubnets=[]), allowFraming: bool = False, cookies: ~octoprint.schema.config.server.CookiesConfig = CookiesConfig(secure=False, samesite=<SameSiteEnum.lax: 'Lax'>), allowedLoginRedirectPaths: ~typing.List[str] = [])
                    -allowFraming: bool
                    +allowFraming: bool

                    Whether to allow OctoPrint to be embedded in a frame or not. Note that depending on your setup you might have to set SameSite to None, Secure to true and serve OctoPrint through a reverse proxy that enables https for cookies and thus logging in to work.

                    -allowedLoginRedirectPaths: List[str]
                    +allowedLoginRedirectPaths: List[str]

                    List of paths that are allowed to be used as redirect targets for the login page, in addition to the default ones (/, /recovery/ and /plugin/appkeys/auth/)

                    -commands: CommandsConfig
                    +commands: CommandsConfig

                    Commands to restart/shutdown octoprint or the system it’s running on.

                    -cookies: CookiesConfig
                    +cookies: CookiesConfig

                    Settings for further configuration of the cookies that OctoPrint sets (login, remember me, …).

                    -diskspace: DiskspaceConfig
                    +diskspace: DiskspaceConfig

                    Settings of when to display what disk space warning.

                    -firstRun: bool
                    +firstRun: bool

                    If this option is true, OctoPrint will show the First Run wizard and set the setting to false after that completes.

                    -heartbeat: int
                    +heartbeat: int
                    -host: Optional[str]
                    +host: str | None

                    Use this option to define the host to which to bind the server. If unset, OctoPrint will attempt to bind on all available interfaces, IPv4 and v6 unless either is disabled.

                    -ignoreIncompleteStartup: bool
                    +ignoreIncompleteStartup: bool

                    Set this to true to make OctoPrint ignore incomplete startups. Helpful for development.

                    -ipCheck: IpCheckConfig
                    +ipCheck: IpCheckConfig

                    Configuration of the client IP check to warn about connections from external networks.

                    -maxSize: int
                    +maxSize: int

                    Maximum size of requests other than file uploads in bytes, defaults to 100KB.

                    -onlineCheck: OnlineCheckConfig
                    +onlineCheck: OnlineCheckConfig

                    Configuration of the regular online connectivity check.

                    -pluginBlacklist: PluginBlacklistConfig
                    +pluginBlacklist: PluginBlacklistConfig

                    Configuration of the plugin blacklist.

                    -port: int
                    +port: int

                    Use this option to define the port to which to bind the server.

                    -preemptiveCache: PreemptiveCacheConfig
                    +preemptiveCache: PreemptiveCacheConfig

                    Configuration of the preemptive cache.

                    -reverseProxy: ReverseProxyConfig
                    +reverseProxy: ReverseProxyConfig

                    //community.octoprint.org/t/reverse-proxy-configuration-examples/1107). These are necessary in order to make OctoPrint generate correct external URLs so that AJAX requests and download URLs work, and so that client IPs are read correctly.

                    -
                    Type
                    +
                    Type:

                    Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, …) that doesn’t correctly set the [required headers](https

                    @@ -2950,24 +2945,24 @@
                    -secretKey: Optional[str]
                    +secretKey: str | None

                    Secret key for encrypting cookies and such, randomly generated on first run.

                    -seenWizards: Dict[str, str]
                    +seenWizards: Dict[str, str]
                    -startOnceInSafeMode: bool
                    +startOnceInSafeMode: bool

                    If this option is true, OctoPrint will enable safe mode on the next server start and reset the setting to false

                    -uploads: UploadsConfig
                    +uploads: UploadsConfig

                    Settings for file uploads to OctoPrint, such as maximum allowed file size and header suffixes to use for streaming uploads. OctoPrint does some nifty things internally in order to allow streaming of large file uploads to the application rather than just storing them in memory. For that it needs to do some rewriting of the incoming upload HTTP requests, storing the uploaded file to a temporary location on disk and then sending an internal request to the application containing the original filename and the location of the temporary file.

                    @@ -2975,80 +2970,80 @@
                    -class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
                    +class octoprint.schema.config.server.UploadsConfig(*, maxSize: int = 1073741824, nameSuffix: str = 'name', pathSuffix: str = 'path')
                    -maxSize: int
                    +maxSize: int

                    Maximum size of uploaded files in bytes, defaults to 1GB.

                    -nameSuffix: str
                    +nameSuffix: str

                    Suffix used for storing the filename in the file upload headers when streaming uploads.

                    -pathSuffix: str
                    +pathSuffix: str

                    Suffix used for storing the path to the temporary file in the file upload headers when streaming uploads.

                    -
                    +
                    -class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: Optional[str] = None, defaultProfiles: Dict[str, str] = {})
                    +class octoprint.schema.config.slicing.SlicingConfig(*, enabled: bool = True, defaultSlicer: str | None = None, defaultProfiles: Dict[str, str] = {})
                    -defaultProfiles: Dict[str, str]
                    +defaultProfiles: Dict[str, str]

                    Default slicing profiles per slicer, maps slicer identifier to profile identifier.

                    -defaultSlicer: Optional[str]
                    +defaultSlicer: str | None

                    Default slicer to use.

                    -enabled: bool
                    +enabled: bool

                    Whether to enable slicing support or not.

                    -
                    +
                    -class octoprint.schema.config.system.ActionConfig(*, action: str, name: Optional[str] = None, command: Optional[str] = None, confirm: Optional[str] = None, **extra_data: Any)
                    +class octoprint.schema.config.system.ActionConfig(*, action: str, name: str | None = None, command: str | None = None, confirm: str | None = None, **extra_data: Any)
                    -action: str
                    +action: str

                    The identifier used internally to identify the action. Set to divider to generate a divider in the menu.

                    -async_: bool
                    +async_: bool

                    Whether to run the command asynchronously.

                    -command: Optional[str]
                    +command: str | None

                    The command to execute when the action is selected. Must be set if the action is not a divider.

                    -confirm: Optional[str]
                    +confirm: str | None

                    An optional confirmation message to show before executing the command.

                    -name: Optional[str]
                    +name: str | None

                    The name of the action that will be shown on the menu. Must be set if the action is not a divider.

                    @@ -3056,39 +3051,39 @@
                    -class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
                    +class octoprint.schema.config.system.SystemConfig(*, actions: List[ActionConfig] = [])
                    -actions: List[ActionConfig]
                    +actions: List[ActionConfig]

                    A list of system actions to show in the UI.

                    -
                    +
                    -class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
                    +class octoprint.schema.config.temperature.TemperatureConfig(*, profiles: List[TemperatureProfile] = [TemperatureProfile(name='ABS', extruder=210, bed=100), TemperatureProfile(name='PLA', extruder=180, bed=60)], cutoff: int = 30, sendAutomatically: bool = False, sendAutomaticallyAfter: int = 1)
                    -cutoff: int
                    +cutoff: int

                    Cut off time for the temperature data, in minutes.

                    -profiles: List[TemperatureProfile]
                    +profiles: List[TemperatureProfile]

                    Temperature profiles to offer in the UI for quick pre-heating.

                    -sendAutomatically: bool
                    +sendAutomatically: bool

                    Whether to send new temperature settings made in the UI automatically.

                    -sendAutomaticallyAfter: int
                    +sendAutomaticallyAfter: int

                    After what time to send the new temperature settings automatically, in seconds.

                    @@ -3096,42 +3091,42 @@
                    -class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
                    +class octoprint.schema.config.temperature.TemperatureProfile(*, name: str, extruder: int, bed: int)
                    -bed: int
                    +bed: int

                    Bed temperature to set with the profile.

                    -extruder: int
                    +extruder: int

                    Hotend temperature to set with the profile.

                    -name: str
                    +name: str

                    Name of the profile.

                    -
                    +
                    -class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
                    +class octoprint.schema.config.terminalfilters.TerminalFilterEntry(*, name: str, regex: str)
                    -name: str
                    +name: str

                    The name of the filter.

                    -regex: str
                    +regex: str

                    //developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions).

                    -
                    Type
                    +
                    Type:

                    The regular expression to match. Use [JavaScript regular expressions](https

                    @@ -3139,30 +3134,30 @@
                    -
                    +
                    -class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
                    +class octoprint.schema.config.webcam.TimelapseConfig(*, type: TimelapseTypeEnum = TimelapseTypeEnum.off, fps: int = 25, postRoll: int = 0, options: TimelapseOptions = TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None))
                    -fps: int
                    +fps: int

                    The framerate at which to render the movie.

                    -options: TimelapseOptions
                    +options: TimelapseOptions

                    Additional options depending on the timelapse type.

                    -postRoll: int
                    +postRoll: int

                    The number of seconds in the rendered video to add after a finished print. The exact way how the additional images will be recorded depends on timelapse type. zchange timelapses will take one final picture and add it fps * postRoll times. timed timelapses continue to record just like at the beginning, so the recording will continue another fps * postRoll * interval seconds. This behaviour can be overridden by setting the capturePostRoll option to false, in which case the post roll will be created identically to zchange mode.

                    -type: TimelapseTypeEnum
                    +type: TimelapseTypeEnum

                    The timelapse type.

                    @@ -3170,13 +3165,13 @@
                    -class octoprint.schema.config.webcam.TimelapseOptions(*, interval: Optional[int] = None, capturePostRoll: Optional[bool] = None, retractionZHop: Optional[float] = None)
                    +class octoprint.schema.config.webcam.TimelapseOptions(*, interval: int | None = None, capturePostRoll: bool | None = None, retractionZHop: float | None = None)
                    -capturePostRoll: Optional[bool]
                    +capturePostRoll: bool | None

                    Whether to capture the snapshots for the post roll (true) or just copy the last captured snapshot from the print over and over again (false).

                    -
                    Type
                    +
                    Type:

                    timed timelapses only

                    @@ -3184,10 +3179,10 @@
                    -interval: Optional[int]
                    +interval: int | None

                    The interval which to leave between images in seconds.

                    -
                    Type
                    +
                    Type:

                    timed timelapses only

                    @@ -3195,10 +3190,10 @@
                    -retractionZHop: Optional[float]
                    +retractionZHop: float | None

                    z-hop height during retractions to ignore for capturing snapshots.

                    -
                    Type
                    +
                    Type:

                    zchange timelapses only

                    @@ -3208,101 +3203,101 @@
                    -class octoprint.schema.config.webcam.TimelapseTypeEnum(value)
                    +class octoprint.schema.config.webcam.TimelapseTypeEnum(value)

                    An enumeration.

                    -off = 'off'
                    +off = 'off'
                    -timed = 'timed'
                    +timed = 'timed'
                    -zchange = 'zchange'
                    +zchange = 'zchange'
                    -class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: ~typing.Optional[str] = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: ~octoprint.schema.config.webcam.TimelapseConfig = TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
                    +class octoprint.schema.config.webcam.WebcamConfig(*, webcamEnabled: bool = True, timelapseEnabled: bool = True, ffmpeg: str | None = None, ffmpegThreads: int = 1, ffmpegVideoCodec: str = 'libx264', bitrate: str = '10000k', watermark: bool = True, ffmpegCommandline: str = '{ffmpeg} -framerate {fps} -i "{input}" -vcodec {videocodec} -threads {threads} -b:v {bitrate} -f {containerformat} -y {filters} "{output}"', ffmpegThumbnailCommandline: str = '{ffmpeg} -sseof -1 -i "{input}" -update 1 -q:v 0.7 "{output}"', timelapse: ~octoprint.schema.config.webcam.TimelapseConfig = TimelapseConfig(type=<TimelapseTypeEnum.off: 'off'>, fps=25, postRoll=0, options=TimelapseOptions(interval=None, capturePostRoll=None, retractionZHop=None)), cleanTmpAfterDays: int = 7, defaultWebcam: str = 'classic', snapshotWebcam: str = 'classic')
                    -bitrate: str
                    +bitrate: str

                    The bitrate to use for rendering the timelapse video. This gets directly passed to ffmpeg.

                    -cleanTmpAfterDays: int
                    +cleanTmpAfterDays: int

                    After how many days unrendered timelapses will be deleted.

                    -defaultWebcam: str
                    +defaultWebcam: str

                    The name of the default webcam

                    -ffmpeg: Optional[str]
                    +ffmpeg: str | None

                    Path to ffmpeg binary to use for creating timelapse recordings. Timelapse support will be disabled if not set.

                    -ffmpegCommandline: str
                    +ffmpegCommandline: str
                    -ffmpegThreads: int
                    +ffmpegThreads: int

                    Number of how many threads to instruct ffmpeg to use for encoding.

                    -ffmpegThumbnailCommandline: str
                    +ffmpegThumbnailCommandline: str
                    -ffmpegVideoCodec: str
                    +ffmpegVideoCodec: str

                    Videocodec to be used for encoding.

                    -snapshotWebcam: str
                    +snapshotWebcam: str

                    The name of the default webcam to use for snapshots

                    -timelapse: TimelapseConfig
                    +timelapse: TimelapseConfig

                    The default timelapse settings.

                    -timelapseEnabled: bool
                    +timelapseEnabled: bool

                    Use this option to enable timelapse support via snapshot, e.g. via MJPG-Streamer. Timelapse support will be disabled if not set.

                    -watermark: bool
                    +watermark: bool

                    Whether to include a “created with OctoPrint” watermark in the generated timelapse recordings.

                    -webcamEnabled: bool
                    +webcamEnabled: bool

                    Use this option to enable display of a webcam stream in the UI, e.g. via MJPG-Streamer. Webcam support will be disabled if not set.

                    @@ -3310,77 +3305,77 @@
                    -

                    octoprint.schema.webcam

                    +

                    octoprint.schema.webcam

                    -class octoprint.schema.webcam.RatioEnum(value)
                    +class octoprint.schema.webcam.RatioEnum(value)

                    An enumeration.

                    -four_three = '4:3'
                    +four_three = '4:3'
                    -sixteen_nine = '16:9'
                    +sixteen_nine = '16:9'
                    -class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: Optional[WebcamCompatibility] = None)
                    +class octoprint.schema.webcam.Webcam(*, name: str, displayName: str, canSnapshot: bool = False, snapshotDisplay: str = None, flipH: bool = False, flipV: bool = False, rotate90: bool = False, extras: dict = {}, compat: WebcamCompatibility | None = None)
                    -canSnapshot: bool
                    +canSnapshot: bool

                    Whether this webcam can take a snapshot.

                    -compat: Optional[WebcamCompatibility]
                    +compat: WebcamCompatibility | None

                    A compatibility configuration to allow older clients to make use of this webcam

                    -displayName: str
                    +displayName: str

                    Displayable name for this webcam

                    -extras: dict
                    +extras: dict

                    Unstructured data describing this webcam

                    -flipH: bool
                    +flipH: bool

                    Whether to flip the webcam horizontally.

                    -flipV: bool
                    +flipV: bool

                    Whether to flip the webcam vertically.

                    -name: str
                    +name: str

                    Identifier of this webcam

                    -rotate90: bool
                    +rotate90: bool

                    Whether to rotate the webcam 90° counter clockwise.

                    -snapshotDisplay: str
                    +snapshotDisplay: str

                    Human readable information about how a snapshot is captured or a HTTP URL from which the snapshot is loaded (optional, only for user reference)

                    @@ -3388,52 +3383,52 @@
                    -class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
                    +class octoprint.schema.webcam.WebcamCompatibility(*, streamTimeout: int = 5, streamRatio: RatioEnum = RatioEnum.sixteen_nine, streamWebrtcIceServers: List[str] = ['stun:stun.l.google.com:19302'], cacheBuster: bool = False, stream: str, snapshot: str = None, snapshotTimeout: int = 5, snapshotSslValidation: bool = True)
                    -cacheBuster: bool
                    +cacheBuster: bool

                    Whether the URL should be randomized to bust caches

                    -snapshot: str
                    +snapshot: str

                    The URL to get the snapshot from

                    -snapshotSslValidation: bool
                    +snapshotSslValidation: bool

                    Whether to validate SSL certificates when retrieving a snapshot

                    -snapshotTimeout: int
                    +snapshotTimeout: int

                    The timeout when retrieving snapshots

                    -stream: str
                    +stream: str

                    The URL to get an MJPEG stream from

                    -streamRatio: RatioEnum
                    +streamRatio: RatioEnum

                    The stream’s native aspect ratio

                    -streamTimeout: int
                    +streamTimeout: int

                    The timeout of the stream in seconds

                    -streamWebrtcIceServers: List[str]
                    +streamWebrtcIceServers: List[str]

                    The WebRTC STUN and TURN servers

                    diff --git a/master/modules/server.html b/master/modules/server.html index 203d0c8e4..1003b910a 100644 --- a/master/modules/server.html +++ b/master/modules/server.html @@ -1,26 +1,26 @@ - + - + octoprint.server — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -117,7 +117,6 @@
                  • OctoPrintFlaskResponse
                  • @@ -324,58 +323,58 @@
                    -

                    octoprint.server

                    +

                    octoprint.server

                    -exception octoprint.server.CannotStartServerException
                    +exception octoprint.server.CannotStartServerException
                    -class octoprint.server.OctoPrintAnonymousIdentity
                    +class octoprint.server.OctoPrintAnonymousIdentity
                    -

                    octoprint.server.util

                    +

                    octoprint.server.util

                    -exception octoprint.server.util.InvalidApiKeyException
                    +exception octoprint.server.util.InvalidApiKeyException
                    -octoprint.server.util.corsRequestHandler()
                    +octoprint.server.util.corsRequestHandler()

                    before_request handler for blueprints which sets CORS headers for OPTIONS requests if enabled

                    -octoprint.server.util.corsResponseHandler(resp)
                    +octoprint.server.util.corsResponseHandler(resp)

                    after_request handler for blueprints for which CORS is supported.

                    Sets Access-Control-Allow-Origin headers for Origin request header on response.

                    -octoprint.server.util.csrfRequestHandler()
                    +octoprint.server.util.csrfRequestHandler()

                    before_request handler for blueprints which checks for CRFS double token on relevant requests & methods.

                    -octoprint.server.util.csrfResponseHandler(resp)
                    +octoprint.server.util.csrfResponseHandler(resp)

                    after_request handler for updating the CSRF cookie on each response.

                    -octoprint.server.util.has_permissions(*permissions)
                    +octoprint.server.util.has_permissions(*permissions)

                    Determines if the current user (either from the session, api key or authorization header) has all of the requested permissions.

                    -
                    Parameters
                    +
                    Parameters:

                    *permissions – list of all permissions required to pass the check

                    @@ -384,7 +383,7 @@
                    -octoprint.server.util.loginFromApiKeyRequestHandler()
                    +octoprint.server.util.loginFromApiKeyRequestHandler()

                    before_request handler for blueprints which creates a login session for the provided api key (if available)

                    App session keys are handled as anonymous keys here and ignored.

                    TODO 1.11.0: Do we still need this with load_user_from_request in place?

                    @@ -392,14 +391,14 @@
                    -octoprint.server.util.loginFromAuthorizationHeaderRequestHandler()
                    +octoprint.server.util.loginFromAuthorizationHeaderRequestHandler()

                    before_request handler for creating login sessions based on the Authorization header.

                    TODO 1.11.0: Do we still need this with load_user_from_request in place?

                    -octoprint.server.util.noCachingExceptGetResponseHandler(resp)
                    +octoprint.server.util.noCachingExceptGetResponseHandler(resp)

                    after_request handler for blueprints which shall set no caching headers on their responses to any requests that are not sent with method GET.

                    See noCachingResponseHandler().

                    @@ -407,7 +406,7 @@
                    -octoprint.server.util.noCachingResponseHandler(resp)
                    +octoprint.server.util.noCachingResponseHandler(resp)

                    after_request handler for blueprints which shall set no caching headers on their responses.

                    Sets Cache-Control, Pragma and Expires headers accordingly @@ -416,16 +415,16 @@

                    -octoprint.server.util.optionsAllowOrigin(request)
                    +octoprint.server.util.optionsAllowOrigin(request)

                    Shortcut for request handling for CORS OPTIONS requests to set CORS headers.

                    -octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)
                    +octoprint.server.util.require_fresh_login_with(permissions=None, user_id=None)

                    Requires a login with fresh credentials.

                    -
                    Parameters
                    +
                    Parameters:
                    • permissions – list of all permissions required to pass the check

                    • user_id – required user to pass the check

                    • @@ -437,11 +436,11 @@
                      -octoprint.server.util.require_login(*permissions)
                      +octoprint.server.util.require_login(*permissions)

                      Returns a redirect response to the login view if the permission requirements are not met.

                      -
                      Parameters
                      +
                      Parameters:

                      *permissions – a list of permissions required to pass the check

                      @@ -450,10 +449,10 @@
                      -octoprint.server.util.require_login_with(permissions=None, user_id=None)
                      +octoprint.server.util.require_login_with(permissions=None, user_id=None)

                      Requires a login with the given permissions and/or user id.

                      -
                      Parameters
                      +
                      Parameters:
                      • permissions – list of all permissions required to pass the check

                      • user_id – required user to pass the check

                      • @@ -465,22 +464,22 @@
                        -octoprint.server.util.validate_local_redirect(url, allowed_paths)
                        +octoprint.server.util.validate_local_redirect(url, allowed_paths)

                        Validates the given local redirect URL against the given allowed paths.

                        An url is valid for a local redirect if it has neither scheme nor netloc defined, and its path is one of the given allowed paths.

                        -
                        Parameters
                        +
                        Parameters:
                        • url (str) – URL to validate

                        • allowed_paths (List[str]) – List of allowed paths, only paths contained or prefixed (if allowed path ends with “*”) will be considered valid.

                        -
                        Returns
                        +
                        Returns:

                        Whether the url passed validation or not.

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -488,19 +487,19 @@
                    -

                    octoprint.server.util.flask

                    +

                    octoprint.server.util.flask

                    -class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)
                    +class octoprint.server.util.flask.LessSimpleCache(threshold=500, default_timeout=300)

                    Slightly improved version of SimpleCache.

                    Setting default_timeout or timeout to -1 will have no timeout be applied at all.

                    -add(key, value, timeout=None)
                    +add(key, value, timeout=None)

                    Works like set() but does not overwrite the values of already existing keys.

                    -
                    Parameters
                    +
                    Parameters:
                    • key – the key to set

                    • value – the value for the key

                    • @@ -509,11 +508,11 @@ 0 indicates that the cache never expires.

                    -
                    Returns
                    +
                    Returns:

                    Same as set(), but also False for already existing keys.

                    -
                    Return type
                    +
                    Return type:

                    boolean

                    @@ -521,16 +520,16 @@
                    -delete(key)
                    +delete(key)

                    Delete key from the cache.

                    -
                    Parameters
                    +
                    Parameters:

                    key – the key to delete.

                    -
                    Returns
                    +
                    Returns:

                    Whether the key existed and has been deleted.

                    -
                    Return type
                    +
                    Return type:

                    boolean

                    @@ -538,13 +537,13 @@
                    -get(key)
                    +get(key)

                    Look up key in the cache and return the value for it.

                    -
                    Parameters
                    +
                    Parameters:

                    key – the key to be looked up.

                    -
                    Returns
                    +
                    Returns:

                    The value if it exists and is readable, else None.

                    @@ -552,11 +551,11 @@
                    -set(key, value, timeout=None)
                    +set(key, value, timeout=None)

                    Add a new key/value to the cache (overwrites value, if key already exists in the cache).

                    -
                    Parameters
                    +
                    Parameters:
                    • key – the key to set

                    • value – the value for the key

                    • @@ -565,12 +564,12 @@ 0 indicates that the cache never expires.

                    -
                    Returns
                    +
                    Returns:

                    True if key has been updated, False for backend errors. Pickling errors, however, will raise a subclass of pickle.PickleError.

                    -
                    Return type
                    +
                    Return type:

                    boolean

                    @@ -580,23 +579,23 @@
                    -class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
                    +class octoprint.server.util.flask.OctoPrintFlaskRequest(environ, *args, **kwargs)
                    -property cookies
                    +property cookies

                    A dict with the contents of all cookies transmitted with the request.

                    -property server_name
                    +property server_name

                    Short cut to the request’s server name header

                    -property server_port
                    +property server_port

                    Short cut to the request’s server port header

                    @@ -604,13 +603,13 @@
                    -class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Optional[Union[Iterable[bytes], bytes, Iterable[str], str]] = None, status: Optional[Union[int, str, HTTPStatus]] = None, headers: Optional[Union[Mapping[str, Union[str, int, Iterable[Union[str, int]]]], Iterable[Tuple[str, Union[str, int]]]]] = None, mimetype: Optional[str] = None, content_type: Optional[str] = None, direct_passthrough: bool = False)
                    +class octoprint.server.util.flask.OctoPrintFlaskResponse(response: Iterable[bytes] | bytes | Iterable[str] | str | None = None, status: int | str | HTTPStatus | None = None, headers: Mapping[str, str | int | Iterable[str | int]] | Iterable[Tuple[str, str | int]] | None = None, mimetype: str | None = None, content_type: str | None = None, direct_passthrough: bool = False)
                    +delete_cookie(key, path='/', domain=None)

                    Delete a cookie. Fails silently if key doesn’t exist.

                    -
                    Parameters
                    +
                    Parameters:
                    • key – the key (name) of the cookie to be deleted.

                    • path – if the cookie that should be deleted was limited to a @@ -627,25 +626,14 @@

                    -
                    -
                    -response: Union[Iterable[str], Iterable[bytes]]
                    -

                    The response body to send as the WSGI iterable. A list of strings -or bytes represents a fixed-length response, any other iterable -is a streaming response. Strings are encoded to bytes as UTF-8.

                    -

                    Do not set to a plain string or bytes, that will cause sending -the response to be very inefficient as it will iterate one byte -at a time.

                    -
                    -
                    +set_cookie(key, value='', *args, **kwargs)

                    Sets a cookie.

                    A warning is raised if the size of the cookie header exceeds max_cookie_size, but the header will still be set.

                    -
                    Parameters
                    +
                    Parameters:
                    • key – the key (name) of the cookie to be set.

                    • value – the value of the cookie.

                    • @@ -674,21 +662,21 @@
                      -class octoprint.server.util.flask.OctoPrintJsonProvider(app: Flask)
                      +class octoprint.server.util.flask.OctoPrintJsonProvider(app: Flask)
                      -static default(object_)
                      +static default(object_)
                      -dumps(obj: Any, **kwargs: Any) str
                      +dumps(obj: Any, **kwargs: Any) str

                      Serialize data as JSON to a string.

                      Keyword arguments are passed to json.dumps(). Sets some parameter defaults from the default, ensure_ascii, and sort_keys attributes.

                      -
                      Parameters
                      +
                      Parameters:
                      • obj – The data to serialize.

                      • kwargs – Passed to json.dumps().

                      • @@ -701,10 +689,10 @@
                        -class octoprint.server.util.flask.OctoPrintSessionInterface
                        +class octoprint.server.util.flask.OctoPrintSessionInterface
                        -save_session(app, session, response)
                        +save_session(app, session, response)

                        This is called at the end of each request, after generating a response, before removing the request context. It is skipped if is_null_session() returns True.

                        @@ -712,7 +700,7 @@
                        +should_set_cookie(app, session)

                        Used by session backends to determine if a Set-Cookie header should be set for this session cookie for this response. If the session has been modified, the cookie is set. If the session is permanent and @@ -720,7 +708,7 @@ always set.

                        This check is usually skipped if the session was deleted.

                        -

                        New in version 0.11.

                        +

                        Added in version 0.11.

                        @@ -728,10 +716,10 @@
                        -class octoprint.server.util.flask.PluginAssetResolver
                        +class octoprint.server.util.flask.PluginAssetResolver
                        -resolve_output_to_path(ctx, target, bundle)
                        +resolve_output_to_path(ctx, target, bundle)

                        Given target, this has to return the absolute filesystem path to which the output file of bundle should be written.

                        @@ -743,7 +731,7 @@
                        -split_prefix(ctx, item)
                        +split_prefix(ctx, item)

                        See if item has blueprint prefix, return (directory, rel_path).

                        @@ -751,10 +739,10 @@
                        -class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
                        +class octoprint.server.util.flask.PrefixAwareJinjaEnvironment(*args, **kwargs)
                        -join_path(template, parent)
                        +join_path(template, parent)

                        Join a template with the parent. By default all the lookups are relative to the loader root so this method returns the template parameter unchanged, but if the paths should be relative to the @@ -768,16 +756,16 @@

                        -class octoprint.server.util.flask.SettingsCheckUpdater
                        +class octoprint.server.util.flask.SettingsCheckUpdater
                        -build_done(bundle, ctx)
                        +build_done(bundle, ctx)

                        This will be called once a bundle has been successfully built.

                        -needs_rebuild(bundle, ctx)
                        +needs_rebuild(bundle, ctx)

                        Returns True if the given bundle needs to be rebuilt, False otherwise.

                        @@ -786,23 +774,23 @@
                        -octoprint.server.util.flask.check_lastmodified(lastmodified: Union[int, float, datetime]) bool
                        +octoprint.server.util.flask.check_lastmodified(lastmodified: int | float | datetime) bool

                        Compares the provided lastmodified value with the value of the If-Modified-Since header.

                        If lastmodified is an int or float, it’s assumed to be a Unix timestamp and converted to a timezone aware datetime instance in UTC.

                        If lastmodified is a datetime instance, it needs to be timezone aware or the result will always be False.

                        -
                        Parameters
                        +
                        Parameters:

                        lastmodified (Union[int, float, datetime]) – The last modified value to compare against

                        -
                        Raises
                        +
                        Raises:

                        ValueError – If anything but an int, float or datetime instance is passed

                        -
                        Returns
                        +
                        Returns:

                        true if the values indicate that the document is still up to date

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -810,7 +798,7 @@
                        -octoprint.server.util.flask.firstrun_only_access(func)
                        +octoprint.server.util.flask.firstrun_only_access(func)

                        If you decorate a view with this, it will ensure that first setup has _not_ been done for OctoPrint’s Access Control. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                        @@ -818,7 +806,7 @@
                        +octoprint.server.util.flask.get_cookie_suffix(request)

                        Request specific suffix for set and read cookies

                        We need this because cookies are not port-specific and we don’t want to overwrite our session and other cookies from one OctoPrint instance on our machine with those of another @@ -827,14 +815,14 @@

                        -octoprint.server.util.flask.get_flask_user_from_request(request)
                        +octoprint.server.util.flask.get_flask_user_from_request(request)

                        Retrieves the current flask user from the request context. Uses API key if available, otherwise the current user session if available.

                        -
                        Parameters
                        +
                        Parameters:

                        request – flask request from which to retrieve the current user

                        -
                        Returns
                        +
                        Returns:

                        the user (might be an anonymous user)

                        @@ -842,12 +830,12 @@
                        -octoprint.server.util.flask.make_api_error(message, status)
                        +octoprint.server.util.flask.make_api_error(message, status)

                        Helper to generate API error responses in JSON format.

                        Turns something like make_api_error("Not Found", 404) into a JSON response with body {"error": "Not Found"}.

                        -
                        Parameters
                        +
                        Parameters:
                        • message – The error message to put into the response

                        • status – The HTTP status code

                        • @@ -859,12 +847,12 @@
                          -octoprint.server.util.flask.make_text_response(message, status)
                          +octoprint.server.util.flask.make_text_response(message, status)

                          Helper to generate basic text responses.

                          Response will have the provided message as body, the provided status code, and a content type of “text/plain”.

                          -
                          Parameters
                          +
                          Parameters:
                          • message – The message in the response body

                          • status – The HTTP status code

                          • @@ -876,7 +864,7 @@
                            -octoprint.server.util.flask.no_firstrun_access(func)
                            +octoprint.server.util.flask.no_firstrun_access(func)

                            If you decorate a view with this, it will ensure that first setup has been done for OctoPrint’s Access Control.

                            If OctoPrint’s Access Control has not been setup yet (indicated by the userManager @@ -886,12 +874,12 @@

                            -octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)
                            +octoprint.server.util.flask.permission_and_fresh_credentials_validator(request, permission)

                            Validates that the given request is made by an authorized user, identified either by API key or existing Flask session, and that the credentials have been checked recently if it’s a Flask session.

                            Must be executed in an existing Flask request context!

                            -
                            Parameters
                            +
                            Parameters:
                            • request – The Flask request object

                            • request – The required permission

                            • @@ -902,12 +890,12 @@
                              -octoprint.server.util.flask.permission_validator(request, permission)
                              +octoprint.server.util.flask.permission_validator(request, permission)

                              Validates that the given request is made by an authorized user, identified either by API key or existing Flask session.

                              Must be executed in an existing Flask request context!

                              -
                              Parameters
                              +
                              Parameters:
                              • request – The Flask request object

                              • request – The required permission

                              • @@ -918,17 +906,17 @@
                                -octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)
                                +octoprint.server.util.flask.redirect_to_tornado(request, target, code=302)

                                Redirects from flask to tornado, flask request context must exist.

                                -
                                Parameters
                                +
                                Parameters:
                                  -
                                • request

                                • -
                                • target

                                • -
                                • code

                                • +
                                • request

                                • +
                                • target

                                • +
                                • code

                                -
                                Returns
                                +
                                Returns:

                                @@ -936,7 +924,7 @@
                                -octoprint.server.util.flask.require_credentials_checked_recently(func)
                                +octoprint.server.util.flask.require_credentials_checked_recently(func)

                                If you decorate a view with this, it will ensure that only users who entered their password recently in this login session are allowed to proceed. Otherwise it will cause a HTTP 403 status code to be returned by the decorated resource.

                                @@ -944,19 +932,19 @@
                                -octoprint.server.util.flask.restricted_access(func)
                                +octoprint.server.util.flask.restricted_access(func)

                                This combines no_firstrun_access() and login_required.

                    -

                    octoprint.server.util.sockjs

                    +

                    octoprint.server.util.sockjs

                    -class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
                    +class octoprint.server.util.sockjs.ThreadSafeSession(conn, server, session_id, expiry=None)
                    -remove_handler(handler)
                    +remove_handler(handler)

                    Detach active handler from the session

                    handler

                    Handler to remove

                    @@ -966,7 +954,7 @@
                    -set_handler(handler, start_heartbeat=True)
                    +set_handler(handler, start_heartbeat=True)

                    Set active handler for the session

                    handler

                    Associate active Tornado handler with the session

                    @@ -980,15 +968,15 @@
                    -

                    octoprint.server.util.tornado

                    +

                    octoprint.server.util.tornado

                    -class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.CorsSupportMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    tornado.web.RequestHandler mixin that makes sure to set CORS headers similarly to the Flask backed API endpoints.

                    -set_default_headers()
                    +set_default_headers()

                    Override this to set HTTP headers at the beginning of the request.

                    For example, this is the place to set a custom Server header. Note that setting such headers in the normal flow of request @@ -1000,14 +988,14 @@

                    -class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)
                    +class octoprint.server.util.tornado.CustomHTTP1Connection(stream, is_client, params=None, context=None)

                    A custom implementation of tornado.http1connection.HTTP1Connection which upon checking the Content-Length of the request against the configured maximum utilizes max_body_sizes and default_max_body_size as a fallback.

                    -class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)
                    +class octoprint.server.util.tornado.CustomHTTP1ConnectionParameters(*args, **kwargs)

                    An implementation of tornado.http1connection.HTTP1ConnectionParameters that adds two new parameters max_body_sizes and default_max_body_size.

                    For a description of these please see the documentation of CustomHTTPServer above.

                    @@ -1015,7 +1003,7 @@
                    -class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: Optional[HTTP1ConnectionParameters] = None, context: Optional[object] = None)
                    +class octoprint.server.util.tornado.CustomHTTP1ServerConnection(stream: IOStream, params: HTTP1ConnectionParameters | None = None, context: object | None = None)

                    A custom implementation of tornado.http1connection.HTTP1ServerConnection which utilizes a CustomHTTP1Connection instead of a tornado.http1connection.HTTP1Connection in _server_request_loop. The implementation logic is otherwise the same as tornado.http1connection.HTTP1ServerConnection.

                    @@ -1023,7 +1011,7 @@
                    -class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)
                    +class octoprint.server.util.tornado.CustomHTTPServer(*args: Any, **kwargs: Any)

                    Custom implementation of tornado.httpserver.HTTPServer that allows defining max body sizes depending on path and method.

                    The implementation is mostly taken from tornado.httpserver.HTTPServer, the only difference is the creation @@ -1036,7 +1024,7 @@

                    default_max_body_size is the default maximum body size to apply if no specific one from max_body_sizes matches.

                    -handle_stream(stream, address)
                    +handle_stream(stream, address)

                    Override to handle a new .IOStream from an incoming connection.

                    This method may be a coroutine; if so any exceptions it raises asynchronously will be logged. Accepting of incoming connections @@ -1052,44 +1040,44 @@

                    -initialize(*args, **kwargs)
                    +initialize(*args, **kwargs)
                    -class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.DeprecatedEndpointHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    tornado.web.RequestHandler that redirects to another url and logs a deprecation warning.

                    -
                    Parameters
                    +
                    Parameters:

                    url (str) – URL to which to redirect

                    -initialize(url)
                    +initialize(url)
                    -class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.DynamicZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    -initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                    +initialize(path_validation=None, path_processor=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                    -class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.GeneratingDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    A RequestHandler that generates data from a generator function and returns it to the client.

                    -
                    Parameters
                    +
                    Parameters:
                    • generator (function) – A generator function that returns the data to be written to the client. The function will be called without any parameters.

                    • @@ -1105,24 +1093,24 @@
                    -initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
                    +initialize(generator=None, content_type='text/plain', as_attachment=False, access_validation=None)
                    -class octoprint.server.util.tornado.GlobalHeaderTransform(request)
                    +class octoprint.server.util.tornado.GlobalHeaderTransform(request)
                    -class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.LargeResponseHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    Customized tornado.web.StaticFileHandler that allows delivery of the requested resource as attachment and access and request path validation through optional callbacks. Note that access validation takes place before path validation.

                    -
                    Parameters
                    +
                    Parameters:
                    • path (str) – The system path from which to serve files (this will be forwarded to the initialize method of :class:~tornado.web.StaticFileHandler)

                    • @@ -1156,7 +1144,7 @@
                    -compute_etag()
                    +compute_etag()

                    Computes the etag header to be used for this request.

                    By default uses a hash of the content written so far.

                    May be overridden to provide custom etag implementations, @@ -1165,44 +1153,44 @@

                    -get_content_type()
                    +get_content_type()

                    Returns the Content-Type header to be used for this request.

                    -

                    New in version 3.1.

                    +

                    Added in version 3.1.

                    -classmethod get_content_version(abspath)
                    +classmethod get_content_version(abspath)

                    Returns a version string for the resource at the given path.

                    This class method may be overridden by subclasses. The default implementation is a SHA-512 hash of the file’s contents.

                    -

                    New in version 3.1.

                    +

                    Added in version 3.1.

                    -initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
                    +initialize(path, default_filename=None, as_attachment=False, allow_client_caching=True, access_validation=None, path_validation=None, etag_generator=None, name_generator=None, mime_type_guesser=None, is_pre_compressed=False, stream_body=False)
                    -property original_absolute_path
                    +property original_absolute_path

                    The path of the uncompressed file corresponding to the compressed file

                    -set_extra_headers(path)
                    +set_extra_headers(path)

                    For subclass to add extra headers to the response

                    -streamed_get(path, include_body=True)
                    +streamed_get(path, include_body=True)

                    Version of StaticFileHandler.get that doesn’t support ranges or ETag but streams the content. Helpful for files that might still change while being transmitted (e.g. log files)

                    @@ -1211,17 +1199,17 @@
                    -class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.RequestlessExceptionLoggingMixin(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    -log_exception(typ, value, tb, *args, **kwargs)
                    +log_exception(typ, value, tb, *args, **kwargs)

                    Override to customize logging of uncaught exceptions.

                    By default logs instances of HTTPError as warnings without stack traces (on the tornado.general logger), and all other exceptions as errors with stack traces (on the tornado.application logger).

                    -

                    New in version 3.1.

                    +

                    Added in version 3.1.

                    @@ -1229,11 +1217,11 @@
                    -class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.StaticDataHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    tornado.web.RequestHandler that returns static data of a configured content_type.

                    -
                    Parameters
                    +
                    Parameters:
                    • data (str) – The data with which to respond

                    • content_type (str) – The content type with which to respond. Defaults to text/plain

                    • @@ -1242,34 +1230,34 @@
                    -initialize(data='', content_type='text/plain')
                    +initialize(data='', content_type='text/plain')
                    -class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.StaticZipBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    -initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                    +initialize(files=None, as_attachment=True, attachment_name=None, access_validation=None, compress=False)
                    -class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.SystemInfoBundleHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    -initialize(access_validation=None)
                    +initialize(access_validation=None)
                    -class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.UploadStorageFallbackHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    A RequestHandler similar to tornado.web.FallbackHandler which fetches any files contained in the request bodies of content type multipart, stores them in temporary files and supplies the fallback with the file’s name, content_type, path and size instead via a rewritten body.

                    @@ -1327,18 +1315,18 @@ where necessary.

                    -BODY_METHODS = ('POST', 'PATCH', 'PUT')
                    +BODY_METHODS = ('POST', 'PATCH', 'PUT')

                    The request methods that may contain a request body.

                    -data_received(chunk)
                    +data_received(chunk)

                    Called by Tornado on receiving a chunk of the request body. If request is a multipart request, takes care of processing the multipart data structure via _process_multipart_data(). If not, just adds the chunk to internal in-memory buffer.

                    -
                    Parameters
                    +
                    Parameters:

                    chunk – chunk of data received from Tornado

                    @@ -1346,39 +1334,39 @@
                    -async delete(*args, **kwargs)
                    +async delete(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    -async get(*args, **kwargs)
                    +async get(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    -async head(*args, **kwargs)
                    +async head(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    -initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
                    +initialize(fallback, file_prefix='tmp', file_suffix='', path=None, suffixes=None)
                    -is_multipart()
                    +is_multipart()

                    Checks whether this request is a multipart request

                    -on_finish()
                    +on_finish()

                    Called after the end of a request.

                    Override this method to perform cleanup, logging, etc. This method is a counterpart to prepare. on_finish may @@ -1388,28 +1376,28 @@

                    -async options(*args, **kwargs)
                    +async options(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    -async patch(*args, **kwargs)
                    +async patch(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    -async post(*args, **kwargs)
                    +async post(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    -prepare()
                    +prepare()

                    Prepares the processing of the request. If it’s a request that may contain a request body (as defined in UploadStorageFallbackHandler.BODY_METHODS) prepares the multipart parsing if content type fits. If it’s a body-less request, just calls the fallback with an empty body and finishes the request.

                    @@ -1417,7 +1405,7 @@
                    -async put(*args, **kwargs)
                    +async put(*args, **kwargs)

                    Takes care of defining the new request body if necessary and forwarding the current request and changed body to the fallback.

                    @@ -1426,7 +1414,7 @@
                    -class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.UrlProxyHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    tornado.web.RequestHandler that proxies requests to a preconfigured url and returns the response. Allows delivery of the requested content as attachment and access validation through an optional callback.

                    @@ -1443,7 +1431,7 @@
                    -
                    Parameters
                    +
                    Parameters:
                    • url (str) – URL to forward any requests to. A 404 response will be returned if this is not set. Defaults to None.

                    • as_attachment (bool) – Whether to serve files with Content-Disposition: attachment header (True) @@ -1458,17 +1446,17 @@

                    -initialize(url=None, as_attachment=False, basename=None, access_validation=None)
                    +initialize(url=None, as_attachment=False, basename=None, access_validation=None)
                    -class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)
                    +class octoprint.server.util.tornado.WebcamSnapshotHandler(application: Application, request: HTTPServerRequest, **kwargs: Any)

                    GeneratingDataHandler that returns a snapshot from the configured webcam.

                    -
                    Parameters
                    +
                    Parameters:
                    • as_attachment (bool | str) – Whether to serve files with Content-Disposition: attachment header (True) or not. Defaults to False. If a string is given it will be used as the filename of the attachment.

                    • @@ -1481,14 +1469,14 @@
                    -initialize(as_attachment=False, access_validation=None)
                    +initialize(as_attachment=False, access_validation=None)
                    -class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)
                    +class octoprint.server.util.tornado.WsgiInputContainer(wsgi_application, executor=None, headers=None, forced_headers=None, removed_headers=None)

                    A WSGI container for use with Tornado that allows supplying the request body to be used for wsgi.input in the generated WSGI environment upon call.

                    A RequestHandler can thus provide the WSGI application with a stream for the request body, or a modified body.

                    @@ -1505,12 +1493,12 @@ removed_headers arguments. forced_headers will be added to the response, removed_headers will be removed.

                    -static environ(request, body=None)
                    +static environ(request, body=None)

                    Converts a tornado.httputil.HTTPServerRequest to a WSGI environment.

                    An optional body to be used for populating wsgi.input can be supplied (either a string or a stream). If not supplied, request.body will be wrapped into a io.BytesIO stream and used instead.

                    -
                    Parameters
                    +
                    Parameters:
                    • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

                    • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

                    • @@ -1521,10 +1509,10 @@
                      -async handle_request(request, body=None, future=None)
                      +async handle_request(request, body=None, future=None)

                      Wraps the call against the WSGI app, deriving the WSGI environment from the supplied Tornado HTTPServerRequest.

                      -
                      Parameters
                      +
                      Parameters:
                      • request – the tornado.httpserver.HTTPServerRequest to derive the WSGI environment from

                      • body – an optional body to use as wsgi.input instead of request.body, can be a string or a stream

                      • @@ -1538,13 +1526,13 @@
                        -octoprint.server.util.tornado.access_validation_factory(app, validator, *args)
                        +octoprint.server.util.tornado.access_validation_factory(app, validator, *args)

                        Creates an access validation wrapper using the supplied validator.

                        -
                        Parameters
                        +
                        Parameters:

                        validator – the access validator to use inside the validation wrapper

                        -
                        Returns
                        +
                        Returns:

                        an access validator taking a request as parameter and performing the request validation

                        @@ -1552,21 +1540,21 @@
                        -octoprint.server.util.tornado.enable_per_message_deflate_extension()
                        +octoprint.server.util.tornado.enable_per_message_deflate_extension()

                        This configures tornado.websocket.WebSocketHandler.get_compression_options to support the permessage-deflate extension to the websocket protocol, minimizing data bandwidth if clients support the extension as well

                        -octoprint.server.util.tornado.fix_json_encode()
                        +octoprint.server.util.tornado.fix_json_encode()

                        This makes tornado.escape.json_encode use octoprint.util.JsonEncoding.encode as fallback in order to allow serialization of globally registered types like frozendict and others.

                        -octoprint.server.util.tornado.fix_tornado_xheader_handling()
                        +octoprint.server.util.tornado.fix_tornado_xheader_handling()

                        This fixes tornado.httpserver._HTTPRequestContext._apply_xheaders to only use “X-Forwarded-For” header for rewriting the remote_ip field, utilizing the set of trusted downstreams, instead of blindly trusting X-Real-Ip, and to also fetch the scheme from “X-Forwarded-Proto” if available.

                        @@ -1574,21 +1562,21 @@
                        -octoprint.server.util.tornado.fix_websocket_check_origin()
                        +octoprint.server.util.tornado.fix_websocket_check_origin()

                        This fixes tornado.websocket.WebSocketHandler.check_origin to do the same origin check against the Host header case-insensitively, as defined in RFC6454, Section 4, item 5.

                        -octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)
                        +octoprint.server.util.tornado.path_validation_factory(path_filter, status_code=404)

                        Creates a request path validation wrapper returning the defined status code if the supplied path_filter returns False.

                        -
                        Parameters
                        +
                        Parameters:

                        path_filter – the path filter to use on the requested path, should return False for requests that should be responded with the provided error code.

                        -
                        Returns
                        +
                        Returns:

                        a request path validator taking a request path as parameter and performing the request validation

                        diff --git a/master/modules/settings.html b/master/modules/settings.html index 320a9e9ae..b6edef30f 100644 --- a/master/modules/settings.html +++ b/master/modules/settings.html @@ -1,26 +1,26 @@ - + - + octoprint.settings — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -197,30 +197,30 @@
                        -

                        octoprint.settings

                        +

                        octoprint.settings

                        This module represents OctoPrint’s settings management. Within this module the default settings for the core application are defined and the instance of the Settings is held, which offers getter and setter methods for the raw configuration values as well as various convenience methods to access the paths to base folders of various types and the configuration file itself.

                        -octoprint.settings.default_settings = dict(...)
                        +octoprint.settings.default_settings = dict(...)

                        The default settings of the core application.

                        -octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>
                        +octoprint.settings.valid_boolean_trues = <octoprint.util.CaseInsensitiveSet object>

                        Values that are considered to be equivalent to the boolean True value, used for type conversion in various places.

                        -octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)
                        +octoprint.settings.settings(init=False, basedir=None, configfile=None, overlays=None)

                        Factory method for initially constructing and consecutively retrieving the Settings singleton.

                        -
                        Parameters
                        +
                        Parameters:
                        • init (boolean) – A flag indicating whether this is the initial call to construct the singleton (True) or not (False, default). If this is set to True and the plugin manager has already been initialized, a ValueError @@ -234,13 +234,13 @@

                        • overlays (list) – List of paths to config overlays to put between default settings and config.yaml

                        -
                        Returns
                        +
                        Returns:

                        The fully initialized Settings instance.

                        -
                        Return type
                        +
                        Return type:

                        Settings

                        -
                        Raises
                        +
                        Raises:

                        ValueErrorinit is True but settings are already initialized or vice versa.

                        @@ -248,7 +248,7 @@
                        -class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)
                        +class octoprint.settings.Settings(configfile=None, basedir=None, overlays=None)

                        The Settings class allows managing all of OctoPrint’s settings. It takes care of initializing the settings directory, loading the configuration from config.yaml, persisting changes to disk etc and provides access methods for getting and setting specific values from the overall settings structure via paths.

                        @@ -271,10 +271,6 @@

                        the following paths could be used:

                        ---- @@ -313,32 +309,32 @@

                        However, these would be invalid paths: ["key"], ["serial", "port", "value"], ["server", "host", 3].

                        -OVERLAY_KEY = '__overlay__'
                        +OVERLAY_KEY = '__overlay__'
                        -add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
                        +add_overlay(overlay, at_end=False, key=None, deprecated=None, replace=False)
                        -add_path_update_callback(path, callback)
                        +add_path_update_callback(path, callback)
                        -backup(suffix=None, path=None, ext=None, hidden=False)
                        +backup(suffix=None, path=None, ext=None, hidden=False)
                        -checkBaseFolder(type)
                        +checkBaseFolder(type)
                        -property config
                        +property config

                        A view of the local config as stored in config.yaml

                        Does not support modifications, they will be thrown away silently. If you need to modify anything in the settings, utilize the provided set and remove methods.

                        @@ -346,164 +342,164 @@
                        -property config_hash
                        +property config_hash
                        -property config_yaml
                        +property config_yaml
                        -deleteApiKey()
                        +deleteApiKey()
                        -property effective
                        +property effective
                        -property effective_hash
                        +property effective_hash
                        -property effective_yaml
                        +property effective_yaml
                        -generateApiKey()
                        +generateApiKey()
                        -get(path, **kwargs)
                        +get(path, **kwargs)
                        -getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
                        +getBaseFolder(type, create=True, allow_fallback=True, check_writable=True, deep_check_writable=False)
                        -getBoolean(path, **kwargs)
                        +getBoolean(path, **kwargs)
                        -getFloat(path, **kwargs)
                        +getFloat(path, **kwargs)
                        -getInt(path, **kwargs)
                        +getInt(path, **kwargs)
                        -has(path, **kwargs)
                        +has(path, **kwargs)
                        -property last_modified
                        +property last_modified

                        Returns: (int) The last modification time of the configuration file.

                        -property last_modified_or_made_dirty
                        +property last_modified_or_made_dirty
                        -listScripts(script_type)
                        +listScripts(script_type)
                        -load(migrate=False)
                        +load(migrate=False)
                        -loadScript(script_type, name, context=None, source=False)
                        +loadScript(script_type, name, context=None, source=False)
                        -load_overlay(overlay, migrate=True)
                        +load_overlay(overlay, migrate=True)
                        -load_overlays(overlays, migrate=True)
                        +load_overlays(overlays, migrate=True)
                        -remove(path, config=None, error_on_path=False, defaults=None)
                        +remove(path, config=None, error_on_path=False, defaults=None)
                        -remove_overlay(key)
                        +remove_overlay(key)
                        -remove_path_update_callback(path, callback)
                        +remove_path_update_callback(path, callback)
                        -sanity_check_folders(folders=None)
                        +sanity_check_folders(folders=None)
                        -save(force=False, trigger_event=False)
                        +save(force=False, trigger_event=False)
                        -saveScript(script_type, name, script)
                        +saveScript(script_type, name, script)
                        -set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
                        +set(path, value, force=False, defaults=None, config=None, preprocessors=None, error_on_path=False, *args, **kwargs)
                        -setBaseFolder(type, path, force=False, validate=True)
                        +setBaseFolder(type, path, force=False, validate=True)
                        -setBoolean(path, value, **kwargs)
                        +setBoolean(path, value, **kwargs)
                        -setFloat(path, value, **kwargs)
                        +setFloat(path, value, **kwargs)
                        -setInt(path, value, **kwargs)
                        +setInt(path, value, **kwargs)
                        -warn_about_risky_settings()
                        +warn_about_risky_settings()
                        diff --git a/master/modules/slicing.html b/master/modules/slicing.html index 17b220bfb..a3ee55b36 100644 --- a/master/modules/slicing.html +++ b/master/modules/slicing.html @@ -1,26 +1,26 @@ - + - + octoprint.slicing — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -192,14 +192,14 @@
                        -

                        octoprint.slicing

                        +

                        octoprint.slicing

                        In this module the slicing support of OctoPrint is encapsulated.

                        -class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)
                        +class octoprint.slicing.SlicingProfile(slicer, name, data, display_name=None, description=None, default=False)

                        A wrapper for slicing profiles, both meta data and actual profile data.

                        -
                        Parameters
                        +
                        Parameters:
                        • slicer (str) – Identifier of the slicer this profile belongs to.

                        • name (str) – Identifier of this slicing profile.

                        • @@ -214,7 +214,7 @@
                          -class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)
                          +class octoprint.slicing.TemporaryProfile(save_profile, profile, overrides=None)

                          A wrapper for a temporary slicing profile to be used for a slicing job, based on a SlicingProfile with optional overrides applied through the supplied save_profile method.

                          Usage example:

                          @@ -225,7 +225,7 @@
                        -
                        Parameters
                        +
                        Parameters:
                        • save_profile (callable) – Method to use for saving the temporary profile, also responsible for applying the supplied overrides. This will be called according to the method signature of @@ -239,10 +239,10 @@

                          -class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)
                          +class octoprint.slicing.SlicingManager(profile_path, printer_profile_manager)

                          The SlicingManager is responsible for managing available slicers and slicing profiles.

                          -
                          Parameters
                          +
                          Parameters:
                          -all_profiles(slicer, require_configured=False)
                          +all_profiles(slicer, require_configured=False)

                          Retrieves all profiles for slicer slicer.

                          If require_configured is set to True (default is False), only will return the profiles if the slicer is already configured, otherwise a SlicerNotConfigured exception will be raised.

                          -
                          Parameters
                          +
                          Parameters:
                          • slicer (str) – Identifier of the slicer for which to retrieve all slicer profiles

                          • require_configured (boolean) – Whether to require the slicer slicer to be already configured (True) @@ -265,13 +265,13 @@ exception will be raised.

                          -
                          Returns
                          +
                          Returns:

                          A dict of all SlicingProfile instances available for the slicer slicer, mapped by the identifier.

                          -
                          Return type
                          +
                          Return type:

                          dict of SlicingProfile

                          -
                          Raises
                          +
                          Raises:
                          • UnknownSlicer – The slicer slicer is unknown.

                          • SlicerNotConfigured – The slicer slicer is not configured and require_configured was True.

                          • @@ -282,17 +282,17 @@
                            -cancel_slicing(slicer_name, source_path, dest_path)
                            +cancel_slicing(slicer_name, source_path, dest_path)

                            Cancels the slicing job on slicer slicer_name from source_path to dest_path.

                            -
                            Parameters
                            +
                            Parameters:
                            • slicer_name (str) – Identifier of the slicer on which to cancel the job.

                            • source_path (str) – The absolute path to the source file being sliced.

                            • dest_path (str) – The absolute path to the destination file being sliced to.

                            -
                            Raises
                            +
                            Raises:

                            UnknownSlicer – The slicer specified via slicer_name is unknown.

                            @@ -300,17 +300,17 @@
                            -property configured_slicers
                            +property configured_slicers

                            Returns: (list of str) Identifiers of all available configured slicers.

                            -property default_slicer
                            +property default_slicer

                            Retrieves the default slicer.

                            -
                            Returns
                            +
                            Returns:

                            (str) The identifier of the default slicer or None if the default slicer is not registered in the

                            system.

                            @@ -322,17 +322,17 @@
                            -delete_profile(slicer, name)
                            +delete_profile(slicer, name)

                            Deletes the profile name for the specified slicer.

                            If the profile does not exist, nothing will happen.

                            -
                            Parameters
                            +
                            Parameters:
                            • slicer (str) – Identifier of the slicer for which to delete the profile.

                            • name (str) – Identifier of the profile to delete.

                            -
                            Raises
                            +
                            Raises:
                            • UnknownSlicer – The slicer slicer is unknown.

                            • CouldNotDeleteProfile – There was an error while deleting the profile.

                            • @@ -343,25 +343,25 @@
                              -get_profile_path(slicer, name, must_exist=False)
                              +get_profile_path(slicer, name, must_exist=False)

                              Retrieves the path to the profile named name for slicer slicer.

                              If must_exist is set to True (defaults to False) a UnknownProfile exception will be raised if the profile doesn’t exist yet.

                              -
                              Parameters
                              +
                              Parameters:
                              • slicer (str) – Identifier of the slicer to which the profile belongs to.

                              • name (str) – Identifier of the profile for which to retrieve the path.

                              • must_exist (boolean) – Whether the path must exist (True) or not (False, default).

                              -
                              Returns
                              +
                              Returns:

                              The absolute path to the profile identified by name for slicer slicer.

                              -
                              Return type
                              +
                              Return type:

                              str

                              -
                              Raises
                              +
                              Raises:
                              • UnknownSlicer – The slicer slicer is unknown.

                              • UnknownProfile – The profile named name doesn’t exist and must_exist was True.

                              • @@ -372,18 +372,18 @@
                                -get_slicer(slicer, require_configured=True)
                                +get_slicer(slicer, require_configured=True)

                                Retrieves the slicer named slicer. If require_configured is set to True (the default) an exception will be raised if the slicer is not yet configured.

                                -
                                Parameters
                                +
                                Parameters:
                                • slicer (str) – Identifier of the slicer to return

                                • require_configured (boolean) – Whether to raise an exception if the slicer has not been configured yet (True, the default), or also return an unconfigured slicer (False).

                                -
                                Raises
                                +
                                Raises:
                                • UnknownSlicer – The slicer is unknown.

                                • SlicerNotConfigured – The slicer is not yet configured and require_configured was set to True.

                                • @@ -394,19 +394,19 @@
                                  -get_slicer_profile_path(slicer)
                                  +get_slicer_profile_path(slicer)

                                  Retrieves the path where the profiles for slicer slicer are stored.

                                  -
                                  Parameters
                                  +
                                  Parameters:

                                  slicer (str) – Identifier of the slicer for which to retrieve the path.

                                  -
                                  Returns
                                  +
                                  Returns:

                                  The absolute path to the folder where the slicer’s profiles are stored.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  str

                                  -
                                  Raises
                                  +
                                  Raises:

                                  UnknownSlicer – The slicer slicer is unknown.

                                  @@ -414,26 +414,26 @@
                                  -initialize()
                                  +initialize()

                                  Initializes the slicing manager by loading and initializing all available SlicerPlugin implementations.

                                  -load_profile(slicer, name, require_configured=True)
                                  +load_profile(slicer, name, require_configured=True)

                                  Loads the slicing profile for slicer with the given profile name and returns it. If it can’t be loaded due to an IOError None will be returned instead.

                                  If require_configured is True (the default) a SlicerNotConfigured exception will be raised if the indicated slicer has not yet been configured.

                                  -
                                  Returns
                                  +
                                  Returns:

                                  The requested slicing profile or None if it could not be loaded.

                                  -
                                  Return type
                                  +
                                  Return type:

                                  SlicingProfile

                                  -
                                  Raises
                                  +
                                  Raises:
                                  • UnknownSlicer – The slicer specified via slicer is unknown.

                                  • SlicerNotConfigured – The slicer specified via slicer has not yet been configured and @@ -446,13 +446,13 @@

                                    -profiles_last_modified(slicer)
                                    +profiles_last_modified(slicer)

                                    Retrieves the last modification date of slicer’s profiles.

                                    -
                                    Parameters
                                    +
                                    Parameters:

                                    slicer (str) – the slicer for which to retrieve the last modification date

                                    -
                                    Returns
                                    +
                                    Returns:

                                    (float) the time stamp of the last modification of the slicer’s profiles

                                    @@ -460,21 +460,21 @@
                                    -property registered_slicers
                                    +property registered_slicers

                                    Returns: (list of str) Identifiers of all available slicers.

                                    -reload_slicers()
                                    +reload_slicers()

                                    Retrieves all registered SlicerPlugin implementations and registers them as available slicers.

                                    -save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)
                                    +save_profile(slicer, name, profile, overrides=None, allow_overwrite=True, display_name=None, description=None)

                                    Saves the slicer profile profile for slicer slicer under name name.

                                    profile may be either a SlicingProfile or a dict.

                                    If it’s a SlicingProfile, its slicer`, name and - if @@ -487,7 +487,7 @@

                                    If the profile is the first profile to be saved for the slicer, it will automatically be marked as default.

                                    -
                                    Parameters
                                    +
                                    Parameters:
                                    • slicer (str) – Identifier of the slicer for which to save the profile.

                                    • name (str) – Identifier under which to save the profile.

                                    • @@ -500,13 +500,13 @@
                                    • description (str) – A description of the profile.

                                    -
                                    Returns
                                    +
                                    Returns:

                                    The saved profile (including the applied overrides).

                                    -
                                    Return type
                                    +
                                    Return type:

                                    SlicingProfile

                                    -
                                    Raises
                                    +
                                    Raises:
                                    • ValueError – The supplied profile is neither a SlicingProfile nor a dict.

                                    • UnknownSlicer – The slicer slicer is unknown.

                                    • @@ -519,10 +519,10 @@
                                      -set_default_profile(slicer, name, require_configured=False, require_exists=True)
                                      +set_default_profile(slicer, name, require_configured=False, require_exists=True)

                                      Sets the given profile as default profile for the slicer.

                                      -
                                      Parameters
                                      +
                                      Parameters:
                                      • slicer (str) – Identifier of the slicer for which to set the default profile.

                                      • @@ -536,7 +536,7 @@ UnknownProfile error if true and the profile is unknown.

                                      -
                                      Raises
                                      +
                                      Raises:
                                      • UnknownSlicer – The slicer slicer is unknown

                                      • @@ -552,7 +552,7 @@
                                        -slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)
                                        +slice(slicer_name, source_path, dest_path, profile_name, callback, callback_args=None, callback_kwargs=None, overrides=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None, printer_profile_id=None, position=None)

                                        Slices source_path to dest_path using slicer slicer_name and slicing profile profile_name. Since slicing happens asynchronously, callback will be called when slicing has finished (either successfully or not), with callback_args and callback_kwargs supplied.

                                        @@ -580,7 +580,7 @@

                                        If the source_path is to be a sliced at a different position than the print bed center, this position can be supplied as a dictionary defining the x and y coordinate in print bed coordinates of the model’s center.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • slicer_name (str) – The identifier of the slicer to use for slicing.

                                        • source_path (str) – The absolute path to the source file to slice.

                                        • @@ -604,7 +604,7 @@ Example: dict(x=10,y=20).

                                        -
                                        Raises
                                        +
                                        Raises:
                                        • UnknownSlicer – The slicer specified via slicer_name is unknown.

                                        • SlicerNotConfigured – The slice specified via slicer_name is not configured yet.

                                        • @@ -615,7 +615,7 @@
                                          -property slicing_enabled
                                          +property slicing_enabled

                                          Returns: (boolean) True if there is at least one configured slicer available, False otherwise.

                                          @@ -624,29 +624,29 @@
                                          -

                                          octoprint.slicing.exceptions

                                          +

                                          octoprint.slicing.exceptions

                                          Slicing related exceptions.

                                          -class octoprint.slicing.exceptions.SlicingException
                                          +class octoprint.slicing.exceptions.SlicingException

                                          Base exception of all slicing related exceptions.

                                          -class octoprint.slicing.exceptions.SlicingCancelled
                                          +class octoprint.slicing.exceptions.SlicingCancelled

                                          Bases: SlicingException

                                          Raised if a slicing job was cancelled.

                                          -class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)
                                          +class octoprint.slicing.exceptions.SlicerException(slicer, *args, **kwargs)

                                          Bases: SlicingException

                                          Base exception of all slicer related exceptions.

                                          -slicer
                                          +slicer

                                          Identifier of the slicer for which the exception was raised.

                                          @@ -654,31 +654,31 @@
                                          -class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)
                                          +class octoprint.slicing.exceptions.UnknownSlicer(slicer, *args, **kwargs)

                                          Bases: SlicerException

                                          Raised if a slicer is unknown.

                                          -class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)
                                          +class octoprint.slicing.exceptions.SlicerNotConfigured(slicer, *args, **kwargs)

                                          Bases: SlicerException

                                          Raised if a slicer is not yet configured but must be configured to proceed.

                                          -class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)
                                          +class octoprint.slicing.exceptions.ProfileException(slicer, profile, *args, **kwargs)

                                          Base exception of all slicing profile related exceptions.

                                          -slicer
                                          +slicer

                                          Identifier of the slicer to which the profile belongs.

                                          -profile
                                          +profile

                                          Identifier of the profile for which the exception was raised.

                                          @@ -686,14 +686,14 @@
                                          -class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)
                                          +class octoprint.slicing.exceptions.UnknownProfile(slicer, profile, *args, **kwargs)

                                          Bases: ProfileException

                                          Raised if a slicing profile does not exist but must exist to proceed.

                                          -class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)
                                          +class octoprint.slicing.exceptions.ProfileAlreadyExists(slicer, profile, *args, **kwargs)

                                          Bases: ProfileException

                                          Raised if a slicing profile already exists and must not be overwritten.

                                          diff --git a/master/modules/util.html b/master/modules/util.html index 4327ebcf0..4bd5810b2 100644 --- a/master/modules/util.html +++ b/master/modules/util.html @@ -1,26 +1,26 @@ - + - + octoprint.util — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -227,34 +227,34 @@
                                          -

                                          octoprint.util

                                          +

                                          octoprint.util

                                          This module bundles commonly used utility methods or helper classes that are used in multiple places within OctoPrint’s source code.

                                          -class octoprint.util.CaseInsensitiveSet(*args)
                                          +class octoprint.util.CaseInsensitiveSet(*args)

                                          Basic case insensitive set

                                          Any str values will be stored and compared in lower case. Other value types are left as-is.

                                          -class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                                          +class octoprint.util.DefaultOrderedDict(default_factory=None, *a, **kw)
                                          -copy() a shallow copy of od
                                          +copy() a shallow copy of od
                                          -class octoprint.util.PrependableQueue(maxsize=0)
                                          +class octoprint.util.PrependableQueue(maxsize=0)
                                          -class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)
                                          +class octoprint.util.RepeatedTimer(interval, function, args=None, kwargs=None, run_first=False, condition=None, on_condition_false=None, on_cancelled=None, on_finish=None, daemon=True)

                                          This class represents an action that should be run repeatedly in an interval. It is similar to python’s own threading.Timer class, but instead of only running once the function will be run again and again, sleeping the stated interval in between.

                                          @@ -296,7 +296,7 @@
                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • interval (float or callable) – The interval between each function call, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                                          • @@ -318,7 +318,7 @@
                                          -run()
                                          +run()

                                          Method representing the thread’s activity.

                                          You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -330,7 +330,7 @@

                                          -class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)
                                          +class octoprint.util.ResettableTimer(interval, function, args=None, kwargs=None, on_reset=None, on_cancelled=None, daemon=True)

                                          This class represents an action that should be run after a specified amount of time. It is similar to python’s own threading.Timer class, with the addition of being able to reset the counter to zero.

                                          ResettableTimers are started, as with threads, by calling their start() method. The timer can be stopped (in @@ -348,7 +348,7 @@

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • interval (float or callable) – The interval before calling function, in seconds. Can also be a callable returning the interval to use, in case the interval is not static.

                                          • @@ -363,7 +363,7 @@
                                          -run()
                                          +run()

                                          Method representing the thread’s activity.

                                          You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the @@ -375,15 +375,15 @@

                                          -exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                                          +exception octoprint.util.TypeAlreadyInQueue(t, *args, **kwargs)
                                          -class octoprint.util.TypedQueue(maxsize=0)
                                          +class octoprint.util.TypedQueue(maxsize=0)
                                          -get(*args, **kwargs)
                                          +get(*args, **kwargs)

                                          Remove and return an item from the queue.

                                          If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until an item is available. If ‘timeout’ is @@ -396,7 +396,7 @@

                                          -put(item, item_type=None, *args, **kwargs)
                                          +put(item, item_type=None, *args, **kwargs)

                                          Put an item into the queue.

                                          If optional args ‘block’ is true and ‘timeout’ is None (the default), block if necessary until a free slot is available. If ‘timeout’ is @@ -411,27 +411,27 @@

                                          -octoprint.util.chunks(l, n)
                                          +octoprint.util.chunks(l, n)

                                          Yield successive n-sized chunks from l.

                                          Taken from http://stackoverflow.com/a/312464/2028598

                                          -octoprint.util.count(gen)
                                          +octoprint.util.count(gen)

                                          Used instead of len(generator), which doesn’t work

                                          -octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                          +octoprint.util.deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                          A decorator for deprecated methods. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • message (string) – The message to include in the deprecation warning.

                                          • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -444,10 +444,10 @@

                                          • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                          -
                                          Returns
                                          +
                                          Returns:

                                          The wrapped function with the deprecation warnings in place.

                                          -
                                          Return type
                                          +
                                          Return type:

                                          function

                                          @@ -455,18 +455,18 @@
                                          -octoprint.util.deserialize(filename, encoding='utf-8')
                                          +octoprint.util.deserialize(filename, encoding='utf-8')

                                          Deserializes data from a file

                                          In the current implementation this uses json.loads and - if the file is found to be compressed - zlib.decompress.

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • filename (str) – The file to deserialize from

                                          • encoding (str) – The encoding to use for the file, defaults to utf-8

                                          -
                                          Returns
                                          +
                                          Returns:

                                          The deserialized data structure

                                          @@ -474,7 +474,7 @@
                                          -octoprint.util.dict_clean(a, b)
                                          +octoprint.util.dict_clean(a, b)

                                          Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                                          Example:

                                          @@ -488,7 +488,7 @@
                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • a (dict) – The dictionary to clean against b.

                                          • b (dict) – The dictionary containing the key structure to clean from a.

                                          • @@ -503,7 +503,7 @@
                                            -octoprint.util.dict_contains_keys(keys, dictionary)
                                            +octoprint.util.dict_contains_keys(keys, dictionary)

                                            Recursively deep-checks if dictionary contains all keys found in keys.

                                            Example:

                                            >>> positive = dict(foo="some_other_bar", fnord=dict(b=100))
                                            @@ -516,16 +516,16 @@
                                             
                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • a (dict) – The dictionary to check for the keys from b.

                                            • b (dict) – The dictionary whose keys to check a for.

                                            -
                                            Returns
                                            +
                                            Returns:

                                            True if all keys found in b are also present in a, False otherwise.

                                            -
                                            Return type
                                            +
                                            Return type:

                                            boolean

                                            @@ -533,7 +533,7 @@
                                            -octoprint.util.dict_filter(dictionary, filter_function)
                                            +octoprint.util.dict_filter(dictionary, filter_function)

                                            Filters a dictionary with the provided filter_function

                                            Example:

                                            >>> data = dict(key1="value1", key2="value2", other_key="other_value", foo="bar", bar="foo")
                                            @@ -558,7 +558,7 @@
                                             
                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • dictionary (dict) – The dictionary to filter

                                            • filter_function (callable) – The filter function to apply, called with key and @@ -566,14 +566,14 @@ keep and False for values to strip

                                            -
                                            Returns
                                            +
                                            Returns:

                                            A shallow copy of the provided dictionary, stripped of the key-value-pairs

                                            for which the filter_function returned False

                                            -
                                            Return type
                                            +
                                            Return type:

                                            dict

                                            @@ -581,7 +581,7 @@
                                            -octoprint.util.dict_flatten(dictionary, prefix='', separator='.')
                                            +octoprint.util.dict_flatten(dictionary, prefix='', separator='.')

                                            Flatten a dictionary.

                                            Example::
                                            >>> data = {'a': {'a1': 'a1', 'a2': 'a2'}, 'b': 'b'}
                                            @@ -595,7 +595,7 @@
                                             
                                            -
                                            Parameters
                                            +
                                            Parameters:
                                            • dictionary – the dictionary to flatten

                                            • prefix – the key prefix, initially an empty string

                                            • @@ -608,7 +608,7 @@
                                              -octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)
                                              +octoprint.util.dict_merge(a, b, leaf_merger=None, in_place=False)

                                              Recursively deep-merges two dictionaries.

                                              Based on https://www.xormedia.com/recursively-merge-dictionaries-in-python/

                                              Example:

                                              @@ -644,7 +644,7 @@
                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • a (dict) – The dictionary to merge b into

                                              • b (dict) – The dictionary to merge into a

                                              • @@ -652,10 +652,10 @@
                                              • in_place (boolean) – If set to True, a will be merged with b in place, meaning a will be modified

                                              -
                                              Returns
                                              +
                                              Returns:

                                              b deep-merged into a

                                              -
                                              Return type
                                              +
                                              Return type:

                                              dict

                                              @@ -663,7 +663,7 @@
                                              -octoprint.util.dict_minimal_mergediff(source, target)
                                              +octoprint.util.dict_minimal_mergediff(source, target)

                                              Recursively calculates the minimal dict that would be needed to be deep merged with a in order to produce the same result as deep merging a and b.

                                              Example:

                                              @@ -677,20 +677,20 @@
                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • source (dict) – Source dictionary

                                              • target (dict) – Dictionary to compare to source dictionary and derive diff for

                                              -
                                              Returns
                                              +
                                              Returns:

                                              The minimal dictionary to deep merge on source to get the same result

                                              as deep merging target on source.

                                              -
                                              Return type
                                              +
                                              Return type:

                                              dict

                                              @@ -698,7 +698,7 @@
                                              -octoprint.util.dict_sanitize(a, b)
                                              +octoprint.util.dict_sanitize(a, b)

                                              Recursively deep-sanitizes a based on b, removing all keys (and associated values) from a that do not appear in b.

                                              Example:

                                              @@ -712,7 +712,7 @@
                                              -
                                              Parameters
                                              +
                                              Parameters:
                                              • a (dict) – The dictionary to clean against b.

                                              • b (dict) – The dictionary containing the key structure to clean from a.

                                              • @@ -727,36 +727,36 @@
                                                -class octoprint.util.fallback_dict(custom, *fallbacks)
                                                +class octoprint.util.fallback_dict(custom, *fallbacks)
                                                -items() a set-like object providing a view on D's items
                                                +items() a set-like object providing a view on D's items
                                                -keys() a set-like object providing a view on D's keys
                                                +keys() a set-like object providing a view on D's keys
                                                -values() an object providing a view on D's values
                                                +values() an object providing a view on D's values
                                                -octoprint.util.filter_non_ascii(line)
                                                +octoprint.util.filter_non_ascii(line)

                                                Filter predicate to test if a line contains non ASCII characters.

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                line (string) – The line to test

                                                -
                                                Returns
                                                +
                                                Returns:

                                                True if the line contains non ASCII characters, False otherwise.

                                                -
                                                Return type
                                                +
                                                Return type:

                                                boolean

                                                @@ -764,7 +764,7 @@
                                                -octoprint.util.get_bom(filename, encoding)
                                                +octoprint.util.get_bom(filename, encoding)

                                                Check if the file has a BOM and if so return it.

                                                Params:

                                                filename (str): The file to check. @@ -772,7 +772,7 @@

                                                -
                                                Returns
                                                +
                                                Returns:

                                                (bytes) the BOM or None if there is no BOM.

                                                @@ -780,19 +780,19 @@
                                                -octoprint.util.get_class(name)
                                                +octoprint.util.get_class(name)

                                                Retrieves the class object for a given fully qualified class name.

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                name (string) – The fully qualified class name, including all modules separated by .

                                                -
                                                Returns
                                                +
                                                Returns:

                                                The class if it could be found.

                                                -
                                                Return type
                                                +
                                                Return type:

                                                type

                                                -
                                                Raises
                                                +
                                                Raises:

                                                ImportError

                                                @@ -800,14 +800,14 @@
                                                -octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")
                                                +octoprint.util.get_exception_string(fmt="{type}: '{message}' @ {file}:{function}:{line}")

                                                Retrieves the exception info of the last raised exception and returns it as a string formatted as <exception type>: <exception message> @ <source file>:<function name>:<line number>.

                                                -
                                                Returns
                                                +
                                                Returns:

                                                The formatted exception information.

                                                -
                                                Return type
                                                +
                                                Return type:

                                                string

                                                @@ -815,16 +815,16 @@
                                                -octoprint.util.get_formatted_datetime(d)
                                                +octoprint.util.get_formatted_datetime(d)

                                                Formats a datetime instance as “YYYY-mm-dd HH:MM” and returns the resulting string.

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                d (datetime.datetime) – The datetime instance to format

                                                -
                                                Returns
                                                +
                                                Returns:

                                                The datetime formatted as “YYYY-mm-dd HH:MM”

                                                -
                                                Return type
                                                +
                                                Return type:

                                                string

                                                @@ -832,18 +832,18 @@
                                                -octoprint.util.get_formatted_size(num)
                                                +octoprint.util.get_formatted_size(num)

                                                Formats the given byte count as a human readable rounded size expressed in the most pressing unit among B(ytes), K(ilo)B(ytes), M(ega)B(ytes), G(iga)B(ytes) and T(era)B(ytes), with one decimal place.

                                                Based on http://stackoverflow.com/a/1094933/2028598

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                num (int) – The byte count to format

                                                -
                                                Returns
                                                +
                                                Returns:

                                                The formatted byte count.

                                                -
                                                Return type
                                                +
                                                Return type:

                                                string

                                                @@ -851,16 +851,16 @@
                                                -octoprint.util.get_formatted_timedelta(d)
                                                +octoprint.util.get_formatted_timedelta(d)

                                                Formats a timedelta instance as “HH:MM:ss” and returns the resulting string.

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                d (datetime.timedelta) – The timedelta instance to format

                                                -
                                                Returns
                                                +
                                                Returns:

                                                The timedelta formatted as “HH:MM:ss”

                                                -
                                                Return type
                                                +
                                                Return type:

                                                string

                                                @@ -868,14 +868,14 @@
                                                -octoprint.util.get_fully_qualified_classname(o)
                                                +octoprint.util.get_fully_qualified_classname(o)

                                                Returns the fully qualified class name for an object.

                                                Based on https://stackoverflow.com/a/2020083

                                                -
                                                Parameters
                                                +
                                                Parameters:

                                                o – the object of which to determine the fqcn

                                                -
                                                Returns
                                                +
                                                Returns:

                                                (str) the fqcn of the object

                                                @@ -883,19 +883,19 @@
                                                -octoprint.util.is_allowed_file(filename, extensions)
                                                +octoprint.util.is_allowed_file(filename, extensions)

                                                Determines if the provided filename has one of the supplied extensions. The check is done case-insensitive.

                                                -
                                                Parameters
                                                +
                                                Parameters:
                                                • filename (string) – The file name to check against the extensions.

                                                • extensions (list) – The extensions to check against, a list of strings

                                                -
                                                Returns
                                                +
                                                Returns:

                                                True if the file name’s extension matches one of the allowed extensions, False otherwise.

                                                -
                                                Return type
                                                +
                                                Return type:

                                                boolean

                                                @@ -903,14 +903,14 @@
                                                -octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                                +octoprint.util.pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                                A decorator for methods pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter. If both since and includedoc are provided, a deprecation warning will also be added to the function’s docstring by providing or extending its __doc__ property.

                                                -
                                                Parameters
                                                +
                                                Parameters:
                                                • message (string) – The message to include in the deprecation warning.

                                                • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -923,10 +923,10 @@

                                                • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                                -
                                                Returns
                                                +
                                                Returns:

                                                The wrapped function with the deprecation warnings in place.

                                                -
                                                Return type
                                                +
                                                Return type:

                                                function

                                                @@ -934,7 +934,7 @@
                                                -octoprint.util.pp(value)
                                                +octoprint.util.pp(value)
                                                >>> pp(dict())
                                                 'dict()'
                                                 >>> pp(dict(a=1, b=2, c=3))
                                                @@ -957,7 +957,7 @@
                                                 
                                                 
                                                -octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)
                                                +octoprint.util.serialize(filename, data, encoding='utf-8', compressed=True)

                                                Serializes data to a file

                                                In the current implementation this uses json.dumps.

                                                If compressed is True (the default), the serialized data put through zlib.compress.

                                                @@ -967,7 +967,7 @@

                                                This is not thread-safe, if concurrent access is required, the caller needs to ensure that only one thread is writing to the file at any given time.

                                                -
                                                Parameters
                                                +
                                                Parameters:
                                                • filename (str) – The file to write to

                                                • data (object) – The data to serialize

                                                • @@ -980,20 +980,20 @@
                                                  -octoprint.util.to_bytes(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                                  +octoprint.util.to_bytes(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                                  Make sure s_or_u is a byte string.

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  converted bytes.

                                                  -
                                                  Return type
                                                  +
                                                  Return type:

                                                  bytes

                                                  @@ -1001,7 +1001,7 @@
                                                  -octoprint.util.to_native_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                                  +octoprint.util.to_native_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                                  Deprecated since version 1.8.0: to_native_str is no longer needed, use to_unicode instead

                                                  @@ -1009,7 +1009,7 @@
                                                  -octoprint.util.to_str(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') bytes
                                                  +octoprint.util.to_str(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') bytes

                                                  Deprecated since version 1.3.11: to_str has been renamed to to_bytes and in a future version will become the new to_unicode

                                                  @@ -1017,20 +1017,20 @@
                                                  -octoprint.util.to_unicode(s_or_u: Union[str, bytes], encoding: str = 'utf-8', errors: str = 'strict') str
                                                  +octoprint.util.to_unicode(s_or_u: str | bytes, encoding: str = 'utf-8', errors: str = 'strict') str

                                                  Make sure s_or_u is a string (str).

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  converted string.

                                                  -
                                                  Return type
                                                  +
                                                  Return type:

                                                  str

                                                  @@ -1038,12 +1038,12 @@
                                                  -octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                                  +octoprint.util.variable_deprecated(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                                  A function for deprecated variables. Logs a deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • message (string) – The message to include in the deprecation warning.

                                                  • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1053,10 +1053,10 @@

                                                  • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  The value of the variable with the deprecation warnings in place.

                                                  -
                                                  Return type
                                                  +
                                                  Return type:

                                                  value

                                                  @@ -1064,12 +1064,12 @@
                                                  -octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)
                                                  +octoprint.util.variable_pending_deprecation(message, stacklevel=1, since=None, includedoc=None, extenddoc=False)

                                                  A decorator for variables pending deprecation. Logs a pending deprecation warning via Python’s :mod:`warnings module including the supplied message. The call stack level used (for adding the source location of the offending call to the warning) can be overridden using the optional stacklevel parameter.

                                                  -
                                                  Parameters
                                                  +
                                                  Parameters:
                                                  • message (string) – The message to include in the deprecation warning.

                                                  • stacklevel (int) – Stack level for including the caller of the offending method in the logged warning. Defaults to 1, @@ -1079,10 +1079,10 @@

                                                  • since (string) – Version since when the function was deprecated, must be present for the docstring to get extended.

                                                  -
                                                  Returns
                                                  +
                                                  Returns:

                                                  The value of the variable with the deprecation warnings in place.

                                                  -
                                                  Return type
                                                  +
                                                  Return type:

                                                  value

                                                  @@ -1090,10 +1090,10 @@
                                          -

                                          octoprint.util.commandline

                                          +

                                          octoprint.util.commandline

                                          -class octoprint.util.commandline.CommandlineCaller
                                          +class octoprint.util.commandline.CommandlineCaller

                                          The CommandlineCaller is a utility class that allows running command line commands while logging their stdout and stderr via configurable callback functions.

                                          Callbacks are expected to have a signature matching

                                          @@ -1133,17 +1133,17 @@
                                          -call(command: Union[str, List[str], Tuple[str]], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[Optional[int], List[str], List[str]]
                                          +call(command: str | List[str] | Tuple[str], delimiter: bytes = b'\n', buffer_size: int = -1, logged: bool = True, output_timeout: float = 0.5, **kwargs) Tuple[int | None, List[str], List[str]]

                                          Calls a command

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • command (list, tuple or str) – command to call

                                          • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                                          -
                                          Returns
                                          +
                                          Returns:

                                          (tuple) a 3-tuple of return code, full stdout and full stderr output

                                          @@ -1151,20 +1151,20 @@
                                          -checked_call(command: Union[str, List[str], Tuple[str]], **kwargs) Tuple[int, List[str], List[str]]
                                          +checked_call(command: str | List[str] | Tuple[str], **kwargs) Tuple[int, List[str], List[str]]

                                          Calls a command and raises an error if it doesn’t return with return code 0

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • command (list, tuple or str) – command to call

                                          • kwargs (dict) – additional keyword arguments to pass to the sarge run call (note that _async, stdout and stderr will be overwritten)

                                          -
                                          Returns
                                          +
                                          Returns:

                                          (tuple) a 3-tuple of return code, full stdout and full stderr output

                                          -
                                          Raises
                                          +
                                          Raises:

                                          CommandlineError

                                          @@ -1172,19 +1172,19 @@
                                          -on_log_call
                                          +on_log_call

                                          Callback for the called command line

                                          -on_log_stderr
                                          +on_log_stderr

                                          Callback for stderr output

                                          -on_log_stdout
                                          +on_log_stdout

                                          Callback for stdout output

                                          @@ -1192,10 +1192,10 @@
                                          -exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)
                                          +exception octoprint.util.commandline.CommandlineError(returncode, stdout, stderr)

                                          Raised by checked_call() on non zero return codes

                                          -
                                          Parameters
                                          +
                                          Parameters:
                                          • returncode (int) – the return code of the command

                                          • stdout (str) – the stdout output produced by the command

                                          • @@ -1207,22 +1207,22 @@
                                            -class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                                            +class octoprint.util.commandline.DelimiterCapture(delimiter=b'\n', *args, **kwargs)
                                            -octoprint.util.commandline.clean_ansi(line: Union[str, bytes]) Union[str, bytes]
                                            +octoprint.util.commandline.clean_ansi(line: str | bytes) str | bytes

                                            Removes ANSI control codes from line.

                                            Note: This function also still supports an input of bytes, leading to an output of bytes. This if for reasons of backwards compatibility only, should no longer be used and considered to be deprecated and to be removed in a future version of OctoPrint. A warning will be logged.

                                            -
                                            Parameters
                                            +
                                            Parameters:

                                            line (str or bytes) – the line to process

                                            -
                                            Returns
                                            +
                                            Returns:

                                            (str or bytes) The line without any ANSI control codes

                                            @@ -1234,11 +1234,11 @@
                                          -

                                          octoprint.util.platform

                                          +

                                          octoprint.util.platform

                                          This module bundles platform specific flags and implementations.

                                          -octoprint.util.platform.CLOSE_FDS = True
                                          +octoprint.util.platform.CLOSE_FDS = True

                                          Default setting for close_fds parameter to Popen/sarge.run.

                                          Set close_fds on every sub process to this to ensure file handlers will be closed on child processes on platforms.

                                          @@ -1246,12 +1246,12 @@
                                          -octoprint.util.platform.get_os()
                                          +octoprint.util.platform.get_os()

                                          Returns a canonical OS identifier.

                                          Currently the following OS are recognized: win32, linux (sys.platform = linux*), macos (sys.platform = darwin) and freebsd (sys.platform = freebsd*).

                                          -
                                          Returns
                                          +
                                          Returns:

                                          (str) mapped OS identifier

                                          @@ -1259,10 +1259,10 @@
                                          -octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)
                                          +octoprint.util.platform.is_os_compatible(compatibility_entries, current_os=None)

                                          Tests if the current_os or sys.platform are blacklisted or whitelisted in compatibility_entries

                                          -
                                          Returns
                                          +
                                          Returns:

                                          (bool) True if the os is compatible, False otherwise

                                          @@ -1270,7 +1270,7 @@
                                          -octoprint.util.platform.set_close_exec(handle)
                                          +octoprint.util.platform.set_close_exec(handle)

                                          Set close_exec flag on handle, if supported by the OS.

                                          diff --git a/master/plugins/concepts.html b/master/plugins/concepts.html index 2acdf023d..ff114de92 100644 --- a/master/plugins/concepts.html +++ b/master/plugins/concepts.html @@ -1,26 +1,26 @@ - + - + General Concepts — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -135,7 +135,7 @@
                                          -

                                          General Concepts

                                          +

                                          General Concepts

                                          OctoPrint’s plugins are Python Packages which in their top-level module define a bunch of control properties defining metadata (like name, version etc of the plugin) as well as information on how to initialize the plugin and into what @@ -147,7 +147,7 @@

                                          Plugin mixin implementations will get a bunch of properties injected by OctoPrint plugin system to help them work.

                                          -

                                          Lifecycle

                                          +

                                          Lifecycle

                                          There are three sources of installed plugins that OctoPrint will check during start up:

                                            diff --git a/master/plugins/controlproperties.html b/master/plugins/controlproperties.html index a82e2138a..a6b85833b 100644 --- a/master/plugins/controlproperties.html +++ b/master/plugins/controlproperties.html @@ -1,26 +1,26 @@ - + - + Control Properties — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -132,7 +132,7 @@
                                            -

                                            Control Properties

                                            +

                                            Control Properties

                                            As already mentioned earlier, plugins are Python packages which provide certain pieces of metadata to tell OctoPrint’s plugin subsystem about themselves. These are simple package attributes defined in the top most package file, e.g.:

                                            import octoprint.plugin
                                            diff --git a/master/plugins/distributing.html b/master/plugins/distributing.html
                                            index 517b75cb2..6e5b95984 100644
                                            --- a/master/plugins/distributing.html
                                            +++ b/master/plugins/distributing.html
                                            @@ -1,26 +1,26 @@
                                             
                                            -
                                            +
                                             
                                            -  
                                            +  
                                             
                                               
                                               Distributing your plugin — OctoPrint master documentation
                                            -      
                                            -      
                                            -      
                                            +      
                                            +      
                                            +      
                                             
                                               
                                               
                                               
                                            -        
                                            -        
                                            -        
                                            -        
                                            -        
                                            -        
                                            -        
                                            +        
                                            +        
                                            +        
                                            +        
                                            +        
                                            +        
                                            +        
                                                     
                                                 
                                                 
                                            @@ -138,28 +138,28 @@
                                                        
                                            -

                                            Distributing your plugin

                                            +

                                            Distributing your plugin

                                            You can distribute a plugin with OctoPrint via two ways.

                                            - +
                                            -

                                            Manual file distribution

                                            +

                                            Manual file distribution

                                            You can have your users copy it to OctoPrint’s plugin folder (normally located at ~/.octoprint/plugins under Linux, %APPDATA%\OctoPrint\plugins on Windows and ~/Library/Application Support/OctoPrint on Mac). In this case your plugin will be distributed directly as a Python module (a single .py file containing all of your plugin’s code directly and named like your plugin) or a package (a folder named like your plugin + __init.py__ contained within).

                                            -

                                            Proper packages installable via pip

                                            +

                                            Proper packages installable via pip

                                            You can have your users install it via pip and register it for the entry point octoprint.plugin via your plugin’s setup.py, this way it will be found automatically by OctoPrint upon initialization of the -plugin subsystem 1.

                                            +plugin subsystem [1].

                                            For an example of how the directory structure and related files would look like in this case, please take a look at the helloworld example from OctoPrint’s example plugins.

                                            This variant is highly recommended for pretty much any plugin besides the most basic ones since it also allows @@ -175,17 +175,18 @@

                                          Footnotes

                                          -
                                          -
                                          1
                                          -

                                          The automatic registration will only work within the same Python installation (this also includes virtual +

                                          -
                                          + +
                                          -

                                          Registering with the official plugin repository

                                          +

                                          Registering with the official plugin repository

                                          Once it is ready for general consumption, you might want to register your plugin with the official OctoPrint Plugin Repository. You can find instructions on how to do that in the Plugin Repository’s help pages.

                                          @@ -194,7 +195,7 @@ plugin.

                                          -

                                          Version management after the official plugin repository release

                                          +

                                          Version management after the official plugin repository release

                                          Once your plugin is available in the official plugin repository, you probably want to create and distribute new versions. For “beta” users you can use the manual file distribution method, or a more elegant release channels (see below). After you finalized a new plugin version, don’t forget to actually update the version in the setup.py, diff --git a/master/plugins/gettingstarted.html b/master/plugins/gettingstarted.html index 3e723e9aa..b389570c0 100644 --- a/master/plugins/gettingstarted.html +++ b/master/plugins/gettingstarted.html @@ -1,26 +1,26 @@ - + - + Plugin Tutorial — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -141,8 +141,8 @@

                                          -

                                          Plugin Tutorial

                                          - +

                                          Over the course of this little tutorial we’ll build a full fledged, installable OctoPrint plugin that displays “Hello World!” at some locations throughout OctoPrint and also offers some other basic functionality to give you an idea of what you can achieve with OctoPrint’s plugin system.

                                          @@ -225,7 +225,7 @@ but not Python 2 (so you can use modern language features), and going forward you really should no longer have to care about the end-of-life Python 2.

                                          -

                                          Saying hello: How to make the plugin actually do something

                                          +

                                          Saying hello: How to make the plugin actually do something

                                          Apart from being discovered by OctoPrint, our plugin does nothing yet. We want to change that. Let’s make it print “Hello World!” to the log upon server startup. Modify our helloworld.py like this:

                                          import octoprint.plugin
                                          @@ -259,7 +259,7 @@
                                           for our little plugin here, or more generally octoprint.plugins.<plugin identifier>.

                                          -

                                          Growing up: How to make it distributable

                                          +

                                          Growing up: How to make it distributable

                                          If you now want to distribute this plugin to other OctoPrint users (since it is so awesome to be greeted upon server startup), let’s take a look at how you’d go about that now before our plugin gets more complicated.

                                          You basically have two options to distribute your plugin. One would be about the exact same way we are using it now, @@ -276,7 +276,7 @@

                                          (venv) $ pip install "cookiecutter>=2.1.1,<3"
                                           
                                          -

                                          Then we can use the octoprint dev plugin:new command 1 to generate a new OctoPrint plugin skeleton for us:

                                          +

                                          Then we can use the octoprint dev plugin:new command [1] to generate a new OctoPrint plugin skeleton for us:

                                          (venv) $ cd ~/devel
                                           (venv) $ octoprint dev plugin:new helloworld
                                           Cloning into 'cookiecutter-octoprint-plugin'...
                                          @@ -471,7 +471,7 @@
                                           

                                          Something is still a bit ugly though. Take a look into __init__.py and setup.py. It seems like we have a bunch of information now defined twice:

                                          -
                                          Listing 39 __init__.py
                                          +
                                          Listing 39 __init__.py
                                          __plugin_name__ = "Hello World"
                                           __plugin_version__ = "1.0.0"
                                           __plugin_description__ = "A quick \"Hello World\" example plugin for OctoPrint"
                                          @@ -479,7 +479,7 @@
                                           
                                          -
                                          Listing 40 setup.py
                                          +
                                          Listing 40 setup.py
                                          # ...
                                           
                                           # The plugin's human readable name. Can be overwritten within OctoPrint's internal data via __plugin_name__ in the
                                          @@ -548,7 +548,7 @@
                                           

                                          But let’s add some more features instead.

                                          -

                                          Frontend fun: How to add functionality to OctoPrint’s web interface

                                          +

                                          Frontend fun: How to add functionality to OctoPrint’s web interface

                                          Outputting a log line upon server startup is all nice and well, but we want to greet not only the administrator of our OctoPrint instance but actually everyone that opens OctoPrint in their browser. Therefore, we need to modify OctoPrint’s web interface itself.

                                          @@ -592,7 +592,7 @@

                                          Now look at that!

                                          -

                                          Settings Galore: How to make parts of your plugin user adjustable

                                          +

                                          Settings Galore: How to make parts of your plugin user adjustable

                                          Remember that Wikipedia link we added to our little link in the navigation bar? It links to the English Wikipedia. But what if we want to allow our users to adjust that according to their wishes, e.g. to link to the German language node about “Hello World” programs instead?

                                          @@ -752,7 +752,7 @@

                                          Congratulations, you’ve just made your Plugin configurable :)

                                          -

                                          More frontend fun: Adding custom javascript to your frontend components

                                          +

                                          More frontend fun: Adding custom javascript to your frontend components

                                          In the previous section we set that custom_bindings parameter to False since we wanted OctoPrint to bind the SettingsViewModel to our settings dialog and the NavigationViewModel to our entry in the nav bar.

                                          But what if we want to define our own, with more functionality that is already available? Let’s take a look. We’ll now @@ -891,7 +891,7 @@

                                          More frontend fun: Adding custom javascri of the same article.

                                          -

                                          Style matters: Injecting custom CSS into the page

                                          +

                                          Style matters: Injecting custom CSS into the page

                                          So it appears that this stuff is working great already. Only one thing is a bit ugly, let’s take another look at our helloworld_tab.jinja2:

                                          <div class="input-append">
                                          @@ -995,7 +995,7 @@ 

                                          Style matters: Injecting custom CSS into generated CSS files (and compiles them on the fly in your browser using lessjs), which makes development so much easier. Let’s try that, so you know how it works for future bigger projects.

                                          Add another folder to our static folder called less and within that create a file helloworld.less. Put -into that the same content as into our CSS file. Compile that LESS file to CSS 2, overwriting our old helloworld.css +into that the same content as into our CSS file. Compile that LESS file to CSS [2], overwriting our old helloworld.css in the process. The folder structure of our plugin should now look like this:

                                          octoprint_helloworld/
                                               static/
                                          @@ -1129,7 +1129,7 @@ 

                                          Style matters: Injecting custom CSS into

                                          -

                                          Where do we go from here?

                                          +

                                          Where do we go from here?

                                          You’ve now seen how easy it is to add functionality to OctoPrint with this little tutorial. You can find the full source code of the little Hello World plugin we built together here on Github.

                                          But I want to invite you to dive deeper into OctoPrint’s plugin system. To get an idea of all the other various plugin types @@ -1149,21 +1149,23 @@

                                          Where do we go from here?Footnotes

                                          -
                                          -
                                          1
                                          -

                                          Instead of the octoprint dev plugin:new you could also have manually called cookiecutter with the +

                                          -
                                          2
                                          -

                                          Refer to the LESS documentation on how to do that. If you are developing + +

                                          -
                                          + +

                                          diff --git a/master/plugins/helpers.html b/master/plugins/helpers.html index 171e222a4..df5bf8b63 100644 --- a/master/plugins/helpers.html +++ b/master/plugins/helpers.html @@ -1,26 +1,26 @@ - + - + Helpers — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -132,14 +132,14 @@
                                          -

                                          Helpers

                                          +

                                          Helpers

                                          Helpers are methods that plugins can expose to other plugins in order to make common functionality available on the system. They are registered with the OctoPrint plugin system through the use of the control property __plugin_helpers__.

                                          An example for providing some helper functions to the system can be found in the Discovery Plugin, which provides its SSDP browsing and Zeroconf browsing and publishing functions as helper methods.

                                          -
                                          Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                                          +
                                          Listing 36 Excerpt from the Discovery Plugin showing the declaration of its exported helpers.
                                          def __plugin_load__():
                                               if not pybonjour:
                                                   # no pybonjour available, we can't use that
                                          @@ -167,7 +167,7 @@
                                           Using get_helpers() plugins can retrieve exported helper methods and call
                                           them as (hopefully) documented.

                                          -
                                          Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                                          +
                                          Listing 37 Excerpt from the Growl Plugin showing utilization of the helpers published by the Discovery Plugin.
                                          def on_after_startup(self):
                                               host = self._settings.get(["hostname"])
                                               port = self._settings.getInt(["port"])
                                          diff --git a/master/plugins/hooks.html b/master/plugins/hooks.html
                                          index 2cf3d08fe..7ba9e3a88 100644
                                          --- a/master/plugins/hooks.html
                                          +++ b/master/plugins/hooks.html
                                          @@ -1,26 +1,26 @@
                                           
                                          -
                                          +
                                           
                                          -  
                                          +  
                                           
                                             
                                             Hooks — OctoPrint master documentation
                                          -      
                                          -      
                                          -      
                                          +      
                                          +      
                                          +      
                                           
                                             
                                             
                                             
                                          -        
                                          -        
                                          -        
                                          -        
                                          -        
                                          -        
                                          -        
                                          +        
                                          +        
                                          +        
                                          +        
                                          +        
                                          +        
                                          +        
                                                   
                                               
                                               
                                          @@ -186,8 +186,8 @@
                                                      
                                          -

                                          Hooks

                                          -
                                          +

                                          Hooks

                                          +
                                        - +
                                        -

                                        General Concepts

                                        +

                                        General Concepts

                                        Hooks are the smaller siblings of mixins, allowing to extend functionality or data processing where a custom mixin type would be too much overhead. Where mixins are based on classes, hooks are based on methods. Like with the mixin implementations, plugins inform OctoPrint about hook handlers using a control property, __plugin_hooks__.

                                        @@ -301,7 +301,7 @@ property instead, manually instantiate your implementation instance and then add its hook handler method to the __plugin_hooks__ property and itself to the __plugin_implementation__ property. See the following example.

                                        - +
                                        # coding=utf-8
                                         
                                         import octoprint.plugin
                                        @@ -330,7 +330,7 @@
                                         
                                        -

                                        Execution Order

                                        +

                                        Execution Order

                                        Hooks may also define an order number to allow influencing the execution order of the registered hook handlers. Instead of registering only a callback as hook handler, it is also possible to register a 2-tuple consisting of a callback and an integer value used for ordering handlers. They way this works is that OctoPrint will first sort all registered @@ -339,7 +339,7 @@

                                        An example should help clear this up. Let’s assume we have the following plugin ordertest which defines a new hook called octoprint.plugin.ordertest.callback:

                                        -
                                        Listing 15 ordertest.py
                                        +
                                        Listing 15 ordertest.py
                                        import octoprint.plugin
                                         
                                         class OrderTestPlugin(octoprint.plugin.StartupPlugin):
                                        @@ -363,7 +363,7 @@
                                         

                                        And these three plugins defining handlers for that hook:

                                        -
                                        Listing 16 oneorderedhook.py
                                        +
                                        Listing 16 oneorderedhook.py
                                        import logging
                                         
                                          def callback(*args, **kwargs):
                                        @@ -378,7 +378,7 @@
                                         
                                        -
                                        Listing 17 anotherorderedhook.py
                                        +
                                        Listing 17 anotherorderedhook.py
                                        import logging
                                         
                                         def callback(*args, **kwargs):
                                        @@ -393,7 +393,7 @@
                                         
                                        -
                                        Listing 18 yetanotherhook.py
                                        +
                                        Listing 18 yetanotherhook.py
                                        import logging
                                         
                                         def callback(*args, **kwargs):
                                        @@ -426,7 +426,7 @@
                                         
                                        -

                                        Available plugin hooks

                                        +

                                        Available plugin hooks

                                        Note

                                        All of the hooks below take at least two parameters, *args and **kwargs. Make sure those are @@ -434,7 +434,7 @@ They will act as placeholders if additional parameters are added to the hooks in the future and will allow your plugin to stay compatible to OctoPrint without any necessary adjustments from you in these cases.

                                        - +
                                        -

                                        octoprint.access.permissions

                                        +

                                        octoprint.access.permissions

                                        -additional_permissions_hook(*args, **kwargs)
                                        +additional_permissions_hook(*args, **kwargs)
                                        -

                                        New in version 1.4.0.

                                        +

                                        Added in version 1.4.0.

                                        Return a list of additional permissions to register in the system on behalf of the plugin. Use this to add granular permissions to your plugin which can be configured for users and user groups in the general @@ -538,10 +538,10 @@

                                        Once registered it can be referenced under the key PLUGIN_APPKEYS_ADMIN.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A list of additional permissions to register in the system.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        A list of dicts.

                                        @@ -549,12 +549,12 @@
                                        -

                                        octoprint.access.users.factory

                                        +

                                        octoprint.access.users.factory

                                        -user_manager_factory_hook(components, settings, *args, **kwargs)
                                        +user_manager_factory_hook(components, settings, *args, **kwargs)
                                        -

                                        New in version 1.4.0.

                                        +

                                        Added in version 1.4.0.

                                        Return a UserManager instance to use as global user manager object. This will be called only once during initial server startup.

                                        @@ -577,16 +577,16 @@ FilebasedUserManager will be instantiated, linked to the default user storage file ~/.octoprint/users.yaml.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • components (dict) – System components to use for user manager instance initialization

                                        • settings (SettingsManager) – The global settings manager instance to fetch configuration values from if necessary

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The userManager instance to use globally.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        UserManager subclass or None

                                        @@ -594,12 +594,12 @@
                                        -

                                        octoprint.accesscontrol.keyvalidator

                                        +

                                        octoprint.accesscontrol.keyvalidator

                                        -acl_keyvalidator_hook(apikey, *args, **kwargs)
                                        +acl_keyvalidator_hook(apikey, *args, **kwargs)
                                        -

                                        New in version 1.3.6.

                                        +

                                        Added in version 1.3.6.

                                        Via this hook plugins may validate their own customized API keys to be used to access OctoPrint’s API.

                                        apikey will be the API key as read from the request headers.

                                        @@ -610,7 +610,7 @@

                                        Allows using a user’s id as their API key (for obvious reasons this is NOT recommended in production environments and merely provided for educational purposes):

                                        - +
                                        # Needs OctoPrint 1.3.6 or newer
                                         
                                         def hook(apikey, *args, **kwargs):
                                        @@ -626,16 +626,16 @@
                                         
                                        -

                                        New in version 1.3.6.

                                        +

                                        Added in version 1.3.6.

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        apikey (str) – The API key to validate

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The user in whose name the request will be processed further

                                        -
                                        Return type
                                        +
                                        Return type:

                                        User

                                        @@ -643,12 +643,12 @@
                                        -

                                        octoprint.cli.commands

                                        +

                                        octoprint.cli.commands

                                        -cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                                        +cli_commands_hook(cli_group, pass_octoprint_ctx, *args, **kwargs)
                                        -

                                        New in version 1.3.0.

                                        +

                                        Added in version 1.3.0.

                                        By providing a handler for this hook plugins may register commands on OctoPrint’s command line interface (CLI).

                                        Handlers are expected to return a list of callables annotated as Click commands to register with the @@ -660,7 +660,7 @@

                                        Registers two new commands, custom_cli_command:greet and custom_cli_command:random with OctoPrint:

                                        - +
                                        # Needs OctoPrint 1.3.x or newer
                                         
                                         import click
                                        @@ -787,11 +787,11 @@
                                         anything else like that. The only things available are the settings and the plugin manager.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A list of Click commands or groups to provide on OctoPrint’s CLI.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        list

                                        @@ -799,12 +799,12 @@
                                        -

                                        octoprint.comm.protocol.firmware.info

                                        +

                                        octoprint.comm.protocol.firmware.info

                                        -firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                                        +firmware_info_hook(comm_instance, firmware_name, firmware_data, *args, **kwargs)
                                        -

                                        New in version 1.3.9.

                                        +

                                        Added in version 1.3.9.

                                        Be notified of firmware information received from the printer following an M115.

                                        Hook handlers may use this to react/adjust behaviour based on reported firmware data. OctoPrint parses the received @@ -824,7 +824,7 @@

                                        This includes I/O of any kind.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                                        • firmware_name (str) – The parsed name of the firmware

                                        • @@ -836,12 +836,12 @@
                                        -

                                        octoprint.comm.protocol.firmware.capabilities

                                        +

                                        octoprint.comm.protocol.firmware.capabilities

                                        -firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                                        +firmware_capability_hook(comm_instance, capability, enabled, already_defined, *args, **kwargs)
                                        -

                                        New in version 1.3.9.

                                        +

                                        Added in version 1.3.9.

                                        Be notified of capability report entries received from the printer.

                                        Hook handlers may use this to react to custom firmware capabilities. OctoPrint parses the received capability @@ -855,7 +855,7 @@

                                        This includes I/O of any kind.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                                        • capability (str) – The name of the parsed capability

                                        • @@ -868,12 +868,12 @@
                                        -

                                        octoprint.comm.protocol.firmware.capability_report

                                        +

                                        octoprint.comm.protocol.firmware.capability_report

                                        -firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                                        +firmware_capability_report_hook(comm_instance, firmware_capabilities, *args, **kwargs)
                                        -

                                        New in version 1.9.0.

                                        +

                                        Added in version 1.9.0.

                                        Be notified when all capability report entries are received from the printer.

                                        Hook handlers may use this to react to the end of the custom firmware capability report. OctoPrint parses the received @@ -885,7 +885,7 @@

                                        This includes I/O of any kind.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                                        • firmware_capabilities (dict) – Reported capabilities (capability name mapped to enabled flag)

                                        • @@ -896,12 +896,12 @@
                                        -

                                        octoprint.comm.protocol.action

                                        +

                                        octoprint.comm.protocol.action

                                        -protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                                        +protocol_action_hook(comm_instance, line, action, name='', params='', *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        React to a action command received from the printer.

                                        Hook handlers may use this to react to custom firmware messages. OctoPrint parses the received action @@ -916,7 +916,7 @@

                                        Example:

                                        Logs if the custom action (// action:custom) is received from the printer’s firmware.

                                        - +
                                        # coding=utf-8
                                         
                                         import octoprint.plugin
                                        @@ -944,7 +944,7 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                                        • line (str) – The complete line as received from the printer, format // action:<command>

                                        • @@ -961,7 +961,7 @@
                                        -

                                        octoprint.comm.protocol.atcommand.<phase>

                                        +

                                        octoprint.comm.protocol.atcommand.<phase>

                                        This describes actually two hooks:

                                          @@ -971,9 +971,9 @@
                                        -protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                                        +protocol_atcommandphase_hook(comm_instance, phase, command, parameters, tags=None, *args, **kwargs)
                                        -

                                        New in version 1.3.7.

                                        +

                                        Added in version 1.3.7.

                                        Trigger on @ commands as they progress through the queuing and sending phases of the comm layer. See the gcode phase hook for a @@ -993,7 +993,7 @@

                                        Pause the print on @wait (this mirrors the implementation of the built-in @pause command, just with a different name).

                                        - +
                                        # coding=utf-8
                                         
                                         def custom_atcommand_handler(comm, phase, command, parameters, tags=None, *args, **kwargs):
                                        @@ -1017,7 +1017,7 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                                        • phase (str) – The current phase in the command progression, either queuing or sending. Will always @@ -1031,7 +1031,7 @@

                                        -

                                        octoprint.comm.protocol.gcode.<phase>

                                        +

                                        octoprint.comm.protocol.gcode.<phase>

                                        This actually describes four hooks:

                                          @@ -1043,9 +1043,9 @@
                                        -protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                                        +protocol_gcodephase_hook(comm_instance, phase, cmd, cmd_type, gcode, subcode=None, tags=None, *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Pre- and postprocess commands as they progress through the various phases of being sent to the printer. The phases are the following:

                                        @@ -1170,7 +1170,7 @@

                                        The following hook handler replaces all M107 (“Fan Off”, deprecated) with an M106 S0 (“Fan On” with speed parameter) upon queuing and logs all sent M106.

                                        - +
                                        # coding=utf-8
                                         
                                         import octoprint.plugin
                                        @@ -1200,7 +1200,7 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (object) – The MachineCom instance which triggered the hook.

                                        • phase (str) – The current phase in the command progression, either queuing, queued, sending or @@ -1215,7 +1215,7 @@

                                        • tags – Tags attached to the command

                                        -
                                        Returns
                                        +
                                        Returns:

                                        None, 1-tuple, 2-tuple or string, see the description above for details.

                                        @@ -1223,12 +1223,12 @@
                                        -

                                        octoprint.comm.protocol.gcode.received

                                        +

                                        octoprint.comm.protocol.gcode.received

                                        -gcode_received_hook(comm_instance, line, *args, **kwargs)
                                        +gcode_received_hook(comm_instance, line, *args, **kwargs)
                                        -

                                        New in version 1.3.0.

                                        +

                                        Added in version 1.3.0.

                                        Get the returned lines sent by the printer. Handlers should return the received line or in any case, the modified version of it. If the handler returns None, processing will be aborted and the communication layer will get an @@ -1243,7 +1243,7 @@

                                        Example:

                                        Looks for the response of an M115, which contains information about the MACHINE_TYPE, among other things.

                                        - +
                                        # coding=utf-8
                                         
                                         import logging
                                        @@ -1270,16 +1270,16 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                        • line (str) – The line received from the printer.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The received line or in any case, a modified version of it.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        str

                                        @@ -1287,12 +1287,12 @@
                                        -

                                        octoprint.comm.protocol.gcode.error

                                        +

                                        octoprint.comm.protocol.gcode.error

                                        -gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                                        +gcode_error_hook(comm_instance, error_message, *args, **kwargs)
                                        -

                                        New in version 1.3.7.

                                        +

                                        Added in version 1.3.7.

                                        Get the messages of any errors messages sent by the printer, with the leading Error: or !! already stripped. Handlers should return True if they handled that error internally and it should not be processed by @@ -1310,7 +1310,7 @@

                                        Looks for error messages containing “fan error” or “bed missing” (ignoring case) and marks them as handled by the plugin.

                                        - +
                                        import logging
                                         
                                         _HANDLED_ERRORS = ('fan error', 'bed missing')
                                        @@ -1330,16 +1330,16 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                        • error_message (str) – The error message received from the printer.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        True if the error was handled in the plugin and should not be processed further, False (or None) otherwise.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        bool

                                        @@ -1347,12 +1347,12 @@
                                        -

                                        octoprint.comm.protocol.scripts

                                        +

                                        octoprint.comm.protocol.scripts

                                        -protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                                        +protocol_scripts_hook(comm_instance, script_type, script_name, *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Changed in version 1.3.7.

                                        @@ -1370,7 +1370,7 @@

                                        Example 1:

                                        Appends an M117 OctoPrint connected to the configured afterPrinterConnected GCODE script.

                                        - +
                                        # coding=utf-8
                                         
                                         def message_on_connect(comm, script_type, script_name, *args, **kwargs):
                                        @@ -1390,7 +1390,7 @@
                                         

                                        Example 2:

                                        Provides the variable myvariable to the configured beforePrintStarted GCODE script.

                                        - +
                                        # coding=utf-8
                                         
                                         def gcode_script_variables(comm, script_type, script_name, *args, **kwargs):
                                        @@ -1409,17 +1409,17 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                        • script_type (str) – The type of the script for which the hook was called, currently only “gcode” is supported here.

                                        • script_name (str) – The name of the script for which the hook was called.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A 2-tuple in the form (prefix, postfix), 3-tuple in the form (prefix, postfix, variables), or None

                                        -
                                        Return type
                                        +
                                        Return type:

                                        tuple or None

                                        @@ -1427,12 +1427,12 @@
                                        -

                                        octoprint.comm.protocol.temperatures.received

                                        +

                                        octoprint.comm.protocol.temperatures.received

                                        -protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                                        +protocol_temperatures_received_hook(comm_instance, parsed_temperatures, *args, **kwargs)
                                        -

                                        New in version 1.3.6.

                                        +

                                        Added in version 1.3.6.

                                        Get the parsed temperatures returned by the printer, allowing handlers to modify them prior to handing them off to the system. Handlers are expected to either return parsed_temperatures as-is or a modified copy thereof.

                                        @@ -1450,7 +1450,7 @@

                                        Example

                                        The following example shows how to filter out actual temperatures that are outside a sane range of 1°C to 300°C.

                                        - +
                                        # coding=utf-8
                                         
                                         def sanitize_temperatures(comm, parsed_temps):
                                        @@ -1472,12 +1472,12 @@
                                         
                                         
                                        -

                                        octoprint.comm.transport.serial.additional_port_names

                                        +

                                        octoprint.comm.transport.serial.additional_port_names

                                        -additional_port_names_hook(candidates, *args, **kwargs)
                                        +additional_port_names_hook(candidates, *args, **kwargs)
                                        -

                                        New in version 1.4.1.

                                        +

                                        Added in version 1.4.1.

                                        Return additional port names (not glob patterns!) to use as a serial connection to the printer. Expected to be list of string.

                                        @@ -1485,13 +1485,13 @@ to implement custom serial-like ports through plugins.

                                        For an example of use see the bundled virtual_printer plugin.

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        candidates (list) – The port names already found on the system available for connection.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        Additional port names to offer up for connection.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        list

                                        @@ -1499,12 +1499,12 @@
                                        -

                                        octoprint.comm.transport.serial.factory

                                        +

                                        octoprint.comm.transport.serial.factory

                                        -serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                                        +serial_factory_hook(comm_instance, port, baudrate, read_timeout, *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Return a serial object to use as serial connection to the printer. If a handler cannot create a serial object for the specified port (and baudrate), it should just return None.

                                        @@ -1560,7 +1560,7 @@
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • comm_instance (MachineCom) – The MachineCom instance which triggered the hook.

                                        • port (str) – The port for which to construct a serial instance. May be None or AUTO in which case port @@ -1570,10 +1570,10 @@

                                        • read_timeout (int) – The read timeout to set on the serial port.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The constructed serial object ready for use, or None if the handler could not construct the object.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        A serial instance implementing the methods readline(...), write(...), close() and optionally baudrate and timeout attributes as described above.

                                        @@ -1582,12 +1582,12 @@
                                        -

                                        octoprint.events.register_custom_events

                                        +

                                        octoprint.events.register_custom_events

                                        -register_custom_events_hook(*args, **kwargs)
                                        +register_custom_events_hook(*args, **kwargs)
                                        -

                                        New in version 1.3.11.

                                        +

                                        Added in version 1.3.11.

                                        Return a list of custom events to register in the system for your plugin.

                                        Should return a list of strings which represent the custom events. Their name on the octoprint.events.Events object @@ -1602,10 +1602,10 @@

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A list of custom events to register

                                        -
                                        Return type
                                        +
                                        Return type:

                                        list

                                        @@ -1613,12 +1613,12 @@
                                        -

                                        octoprint.filemanager.analysis.factory

                                        +

                                        octoprint.filemanager.analysis.factory

                                        -analysis_queue_factory_hook(*args, **kwargs)
                                        +analysis_queue_factory_hook(*args, **kwargs)
                                        -

                                        New in version 1.3.9.

                                        +

                                        Added in version 1.3.9.

                                        Return additional (or replacement) analysis queue factories used for analysing uploaded files.

                                        Should return a dictionary to merge with the existing dictionary of factories, mapping from extension tree leaf @@ -1641,10 +1641,10 @@

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A dictionary of analysis queue factories, mapped by their targeted file type.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        dict

                                        @@ -1652,12 +1652,12 @@
                                        -

                                        octoprint.filemanager.extension_tree

                                        +

                                        octoprint.filemanager.extension_tree

                                        -file_extension_hook(*args, **kwargs)
                                        +file_extension_hook(*args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Return additional entries for the tree of accepted file extensions for uploading/handling by the file manager.

                                        Should return a dictionary to merge with the existing extension tree, adding additional extension groups to @@ -1680,10 +1680,10 @@ in the rest of the system (e.g. handling/preprocessing new machine code file types for printing etc)!

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The partial extension tree to merge with the full extension tree.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        dict

                                        @@ -1691,12 +1691,12 @@
                                        -

                                        octoprint.filemanager.preprocessor

                                        +

                                        octoprint.filemanager.preprocessor

                                        -file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                                        +file_preprocessor_hook(path, file_object, links=None, printer_profile=None, allow_overwrite=False, *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Replace the file_object used for saving added files to storage by calling save().

                                        path will be the future path of the file on the storage. The file’s name is accessible via @@ -1707,7 +1707,7 @@

                                        Example

                                        The following plugin example strips all comments from uploaded/generated GCODE files ending on the name postfix _strip.

                                        - +
                                        # coding=utf-8
                                         
                                         import octoprint.plugin
                                        @@ -1745,7 +1745,7 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • path (str) – The path on storage the file_object is to be stored

                                        • file_object (AbstractFileWrapper) – The AbstractFileWrapper instance @@ -1755,10 +1755,10 @@

                                        • allow_overwrite (boolean) – Whether to allow overwriting an existing file named the same or not.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The file_object as passed in or None, or a replaced version to use instead for further processing.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        AbstractFileWrapper or None

                                        @@ -1766,61 +1766,61 @@
                                        -

                                        octoprint.plugin.backup.additional_excludes

                                        +

                                        octoprint.plugin.backup.additional_excludes

                                        -

                                        New in version 1.5.0.

                                        +

                                        Added in version 1.5.0.

                                        See here.

                                        -

                                        octoprint.plugin.backup.before_backup

                                        +

                                        octoprint.plugin.backup.before_backup

                                        -

                                        New in version 1.9.0.

                                        +

                                        Added in version 1.9.0.

                                        See here.

                                        -

                                        octoprint.plugin.backup.after_backup

                                        +

                                        octoprint.plugin.backup.after_backup

                                        -

                                        New in version 1.9.0.

                                        +

                                        Added in version 1.9.0.

                                        See here.

                                        -

                                        octoprint.plugin.backup.before_restore

                                        +

                                        octoprint.plugin.backup.before_restore

                                        -

                                        New in version 1.9.0.

                                        +

                                        Added in version 1.9.0.

                                        See here.

                                        -

                                        octoprint.plugin.backup.after_restore

                                        +

                                        octoprint.plugin.backup.after_restore

                                        -

                                        New in version 1.9.0.

                                        +

                                        Added in version 1.9.0.

                                        See here.

                                        -

                                        octoprint.plugin.pluginmanager.reconnect_hooks

                                        +

                                        octoprint.plugin.pluginmanager.reconnect_hooks

                                        -

                                        New in version 1.4.0.

                                        +

                                        Added in version 1.4.0.

                                        See here.

                                        -

                                        octoprint.plugin.softwareupdate.check_config

                                        +

                                        octoprint.plugin.softwareupdate.check_config

                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        See here.

                                        -

                                        octoprint.printer.additional_state_data

                                        +

                                        octoprint.printer.additional_state_data

                                        -additional_state_data_hook(initial=False, *args, **kwargs)
                                        +additional_state_data_hook(initial=False, *args, **kwargs)
                                        -

                                        New in version 1.5.0.

                                        +

                                        Added in version 1.5.0.

                                        Use this to inject additional data into the data structure returned from the printer backend to the frontend on the push socket or other registered octoprint.printer.PrinterCallback. Anything you return here @@ -1835,13 +1835,13 @@

                                        Cache your data!

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        initial (boolean) – True if this is the initial update, False otherwise

                                        -
                                        Returns
                                        +
                                        Returns:

                                        Additional data to include

                                        -
                                        Return type
                                        +
                                        Return type:

                                        dict

                                        @@ -1849,12 +1849,12 @@
                                        -

                                        octoprint.printer.factory

                                        +

                                        octoprint.printer.factory

                                        -printer_factory_hook(components, *args, **kwargs)
                                        +printer_factory_hook(components, *args, **kwargs)
                                        -

                                        New in version 1.3.0.

                                        +

                                        Added in version 1.3.0.

                                        Return a PrinterInstance instance to use as global printer object. This will be called only once during initial server startup.

                                        @@ -1876,13 +1876,13 @@

                                        If none of the registered factories return a printer instance, the default Printer class will be instantiated.

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        components (dict) – System components to use for printer instance initialization

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The printer instance to use globally.

                                        -
                                        Return type
                                        +
                                        Return type:

                                        PrinterInterface subclass or None

                                        @@ -1890,12 +1890,12 @@
                                        -

                                        octoprint.printer.handle_connect

                                        +

                                        octoprint.printer.handle_connect

                                        handle_connect(*args, **kwargs):
                                        -

                                        New in version 1.6.0.

                                        +

                                        Added in version 1.6.0.

                                        Allows plugins to perform actions upon connecting to a printer. By returning True, plugins may also prevent further processing of the connect command. This hook is of @@ -1903,14 +1903,14 @@ circumstances or if you need to do something before a connection to the printer is established (e.g. switching on power to the printer).

                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        kwargs – All connection parameters supplied to the connect call. Currently this also includes port, baudrate and profile.

                                        -
                                        Returns
                                        +
                                        Returns:

                                        True if OctoPrint should not proceed with the connect

                                        -
                                        Return type
                                        +
                                        Return type:

                                        boolean or None

                                        @@ -1918,12 +1918,12 @@
                                        -

                                        octoprint.printer.estimation.factory

                                        +

                                        octoprint.printer.estimation.factory

                                        +print_time_estimator_factory(*args, **kwargs)
                                        -

                                        New in version 1.3.9.

                                        +

                                        Added in version 1.3.9.

                                        Return a PrintTimeEstimator subclass (or factory) to use for print time estimation. This will be called on each start of a print or streaming job with a single parameter job_type @@ -1955,10 +1955,10 @@

                                        -
                                        Returns
                                        +
                                        Returns:

                                        The PrintTimeEstimator class to use, or a factory method

                                        -
                                        Return type
                                        +
                                        Return type:

                                        class or function

                                        @@ -1966,12 +1966,12 @@
                                        -

                                        octoprint.printer.sdcardupload

                                        +

                                        octoprint.printer.sdcardupload

                                        -sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                                        +sd_card_upload_hook(printer, filename, path, start_callback, success_callback, failure_callback, *args, **kwargs)
                                        -

                                        New in version 1.3.11.

                                        +

                                        Added in version 1.3.11.

                                        Via this hook plugins can change the way files are being uploaded to the sd card of the printer.

                                        Implementations must call the provided start_callback on start of the file transfer and either the success_callback @@ -2029,10 +2029,10 @@

                                        -

                                        New in version 1.3.11.

                                        +

                                        Added in version 1.3.11.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • printer (object) – the PrinterInterface instance the hook was called from

                                        • filename (str) – filename on the local storage

                                        • @@ -2042,10 +2042,10 @@
                                        • sd_upload_failure (function) – callback for failure of upload

                                        -
                                        Returns
                                        +
                                        Returns:

                                        the name of the file on the sdcard storage or None

                                        -
                                        Return type
                                        +
                                        Return type:

                                        string or None

                                        @@ -2053,12 +2053,12 @@
                                        -

                                        octoprint.server.api.after_request

                                        +

                                        octoprint.server.api.after_request

                                        -after_request_handlers_hook(*args, **kwargs)
                                        +after_request_handlers_hook(*args, **kwargs)
                                        -

                                        New in version 1.3.10.

                                        +

                                        Added in version 1.3.10.

                                        Allows adding additional after-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                                        Your plugin might need this to further restrict access to API methods.

                                        @@ -2070,12 +2070,12 @@
                                        -

                                        octoprint.server.api.before_request

                                        +

                                        octoprint.server.api.before_request

                                        -before_request_handlers_hook(*args, **kwargs)
                                        +before_request_handlers_hook(*args, **kwargs)
                                        -

                                        New in version 1.3.10.

                                        +

                                        Added in version 1.3.10.

                                        Allows adding additional before-request-handlers to API endpoints defined by OctoPrint itself and installed plugins.

                                        Your plugin might need this to further restrict access to API methods.

                                        @@ -2087,12 +2087,12 @@
                                        -

                                        octoprint.server.http.access_validator

                                        +

                                        octoprint.server.http.access_validator

                                        -access_validator_hook(request, *args, **kwargs)
                                        +access_validator_hook(request, *args, **kwargs)
                                        -

                                        New in version 1.3.10.

                                        +

                                        Added in version 1.3.10.

                                        Allows adding additional access validators to the default tornado routers.

                                        Your plugin might need to this to restrict access to downloads and webcam snapshots further.

                                        @@ -2104,12 +2104,12 @@
                                        -

                                        octoprint.server.http.bodysize

                                        +

                                        octoprint.server.http.bodysize

                                        -server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                                        +server_bodysize_hook(current_max_body_sizes, *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Allows extending the list of custom maximum body sizes on the web server per path and HTTP method with custom entries from plugins.

                                        @@ -2131,7 +2131,7 @@ 500 and 1024KB. To test its functionality try uploading files larger or smaller than an endpoint’s configured maximum size (as multipart request with the file upload residing in request parameter file) and observe the behaviour.

                                        - +
                                        # coding=utf-8
                                         
                                         import octoprint.plugin
                                        @@ -2181,13 +2181,13 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        current_max_body_sizes (list) – read-only list of the currently configured maximum body sizes

                                        -
                                        Returns
                                        +
                                        Returns:

                                        A list of 3-tuples with additional request specific maximum body sizes as defined above

                                        -
                                        Return type
                                        +
                                        Return type:

                                        list

                                        @@ -2195,12 +2195,12 @@
                                        -

                                        octoprint.server.http.routes

                                        +

                                        octoprint.server.http.routes

                                        -server_route_hook(server_routes, *args, **kwargs)
                                        +server_route_hook(server_routes, *args, **kwargs)
                                        -

                                        New in version 1.2.0.

                                        +

                                        Added in version 1.2.0.

                                        Allows extending the list of routes registered on the web server.

                                        This is interesting for plugins which want to provide their own download URLs which will then be delivered statically @@ -2237,7 +2237,7 @@

                                        The following example registers two new routes /plugin/add_tornado_route/download and /plugin/add_tornado_route/forward in the webserver which roughly replicate the functionality of /downloads/files/local and /downloads/camera/current.

                                        - +
                                        # coding=utf-8
                                         
                                         import octoprint.plugin
                                        @@ -2284,13 +2284,13 @@
                                         
                                        -
                                        Parameters
                                        +
                                        Parameters:

                                        server_routes (list) – read-only list of the currently configured server routes

                                        -
                                        Returns
                                        +
                                        Returns:

                                        a list of 3-tuples with additional routes as defined above

                                        -
                                        Return type
                                        +
                                        Return type:

                                        list

                                        @@ -2298,16 +2298,16 @@
                                        -

                                        octoprint.server.sockjs.authed

                                        +

                                        octoprint.server.sockjs.authed

                                        socket_authed_hook(socket, user, *args, **kwargs):
                                        -

                                        New in version 1.3.10.

                                        +

                                        Added in version 1.3.10.

                                        Allows plugins to be notified that a user got authenticated or deauthenticated on the socket (e.g. due to logout).

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • socket (object) – the socket object which is about to be registered

                                        • user (object) – the user that got authenticated on the socket, or None if the user got deauthenticated

                                        • @@ -2318,27 +2318,27 @@
                                        -

                                        octoprint.server.sockjs.register

                                        +

                                        octoprint.server.sockjs.register

                                        socket_registration_hook(socket, user, *args, **kwargs):
                                        -

                                        New in version 1.3.10.

                                        +

                                        Added in version 1.3.10.

                                        Allows plugins to prevent a new push socket client to be registered to the system.

                                        Handlers should return either True or False. True signals to proceed with normal registration. False signals to not register the client.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • socket (object) – the socket object which is about to be registered

                                        • user (object) – the user currently authenticated on the socket - might be None

                                        -
                                        Returns
                                        +
                                        Returns:

                                        whether to proceed with registration (True) or not (False)

                                        -
                                        Return type
                                        +
                                        Return type:

                                        boolean

                                        @@ -2346,17 +2346,17 @@
                                        -

                                        octoprint.server.sockjs.emit

                                        +

                                        octoprint.server.sockjs.emit

                                        socket_emit_hook(socket, user, message, payload, *args, **kwargs):
                                        -

                                        New in version 1.3.10.

                                        +

                                        Added in version 1.3.10.

                                        Allows plugins to prevent any messages to be emitted on an existing push connection.

                                        Handlers should return either True to allow the message to be emitted, or False to prevent it.

                                        -
                                        Parameters
                                        +
                                        Parameters:
                                        • socket (object) – the socket object on which a message is about to be emitted

                                        • user (object) – the user currently authenticated on the socket - might be None

                                        • @@ -2364,10 +2364,10 @@
                                        • payload (dict) – the payload of the message about to be emitted (may be None)

                                        -
                                        Returns
                                        +
                                        Returns:

                                        whether to proceed with sending the message (True) or not (False)

                                        -
                                        Return type
                                        +
                                        Return type:

                                        boolean

                                        @@ -2375,22 +2375,22 @@
                                        -

                                        octoprint.system.additional_commands

                                        +

                                        octoprint.system.additional_commands

                                        -additional_commands_hook(*args, **kwargs)
                                        +additional_commands_hook(*args, **kwargs)
                                        -

                                        New in version 1.7.0.

                                        +

                                        Added in version 1.7.0.

                                        Allows adding additional system commands into the system menu. Handlers must return a list of system command definitions, each definition matching the following data structure:

                                        -

                        Path

                        Value

                        +
                        ----++++ @@ -2458,10 +2458,10 @@
                        -
                        Returns
                        +
                        Returns:

                        a list of command specifications

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -2469,12 +2469,12 @@
                        -

                        octoprint.systeminfo.additional_bundle_files

                        +

                        octoprint.systeminfo.additional_bundle_files

                        -additional_bundle_files_hook(*args, **kwargs)
                        +additional_bundle_files_hook(*args, **kwargs)
                        -

                        New in version 1.7.0.

                        +

                        Added in version 1.7.0.

                        Allows bundled plugins to extend the list of files to include in the systeminfo bundle. Note that this hook will ignore third party plugins. Handlers must return a dictionary @@ -2492,10 +2492,10 @@

                        -
                        Returns
                        +
                        Returns:

                        a dictionary mapping bundle file names to bundle file content

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -2503,12 +2503,12 @@
                        -

                        octoprint.timelapse.extensions

                        +

                        octoprint.timelapse.extensions

                        -timelapse_extension_hook(*args, **kwargs)
                        +timelapse_extension_hook(*args, **kwargs)
                        -

                        New in version 1.3.10.

                        +

                        Added in version 1.3.10.

                        Allows extending the set of supported file extensions for timelapse files. Handlers must return a list of additional file extensions.

                        @@ -2523,10 +2523,10 @@
                        -
                        Returns
                        +
                        Returns:

                        a list of additional file extensions

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -2534,12 +2534,12 @@
                        -

                        octoprint.ui.web.templatetypes

                        +

                        octoprint.ui.web.templatetypes

                        -templatetype_hook(template_sorting, template_rules, *args, **kwargs)
                        +templatetype_hook(template_sorting, template_rules, *args, **kwargs)
                        -

                        New in version 1.2.0.

                        +

                        Added in version 1.2.0.

                        Allows extending the set of supported template types in the web interface. This is interesting for plugins which want to offer other plugins to hook into their own offered UIs. Handlers must return a list of additional template @@ -2549,10 +2549,10 @@

                        The second entry must be a sorting specification that defines how OctoPrint should sort multiple templates injected through plugins of this template type. The sorting specification should be a dict with the following possible entries:

                        -

                        Name

                        +
                        --++ @@ -2585,10 +2585,10 @@

                        The third entry must be a rule specification in form of a dict which tells OctoPrint how to process the template configuration entries provided by get_template_configs() by providing transformation functions of various kinds:

                        -

                        Key

                        +
                        --++ @@ -2630,7 +2630,7 @@

                        The example consists of two plugins, one providing a custom template type and the other consuming it.

                        First the provider:

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -2656,7 +2656,7 @@
                         
                        - +
                        <h3>{{ _('Awesome Template Injections') }}</h3>
                         
                         {% for key in templates.plugin_custom_template_provider_awesometemplate.order %}
                        @@ -2671,7 +2671,7 @@
                         

                        Then the consumer:

                        - +
                        # coding=utf-8
                         
                         import octoprint.plugin
                        @@ -2695,22 +2695,22 @@
                         
                        -
                        Parameters
                        +
                        Parameters:
                        • template_rules (dict) – read-only dictionary of currently configured template rules

                        • template_sorting (dict) – read-only dictionary of currently configured template sorting specifications

                        -
                        Returns
                        +
                        Returns:

                        a list of 3-tuples (template type, rule, sorting spec)

                        -
                        Return type
                        +
                        Return type:

                        list

                        @@ -2718,7 +2718,7 @@
                        -

                        octoprint.theming.<dialog>

                        +

                        octoprint.theming.<dialog>

                        This actually describes two hooks:

                          @@ -2728,9 +2728,9 @@
                        -ui_theming_hook(*args, **kwargs)
                        +ui_theming_hook(*args, **kwargs)
                        -

                        New in version 1.5.0.

                        +

                        Added in version 1.5.0.

                        Support theming of the login or recovery dialog, just in case the core UI is themed as well. Use to return a list of additional CSS file URLs to inject into the dialog HTML.

                        @@ -2747,10 +2747,10 @@

                        Only a list of ready-made URLs to CSS files is supported, neither LESS nor JS. Best use url_for like in the example above to be prepared for any configured prefix URLs.

                        -
                        Returns
                        +
                        Returns:

                        A list of additional CSS URLs to inject into the login or recovery dialog.

                        -
                        Return type
                        +
                        Return type:

                        A list of strings.

                        @@ -2758,23 +2758,23 @@
                        -

                        octoprint.timelapse.capture.pre

                        +

                        octoprint.timelapse.capture.pre

                        -capture_pre_hook(filename)
                        +capture_pre_hook(filename)
                        -

                        New in version 1.4.0.

                        +

                        Added in version 1.4.0.

                        Perform specific actions prior to capturing a timelapse frame.

                        filename will be the future path of the frame to be saved.

                        -
                        Parameters
                        +
                        Parameters:

                        filename (str) – The future path of the frame to be saved.

                        -
                        Returns
                        +
                        Returns:

                        None

                        -
                        Return type
                        +
                        Return type:

                        None

                        @@ -2782,27 +2782,27 @@
                        -

                        octoprint.timelapse.capture.post

                        +

                        octoprint.timelapse.capture.post

                        -capture_post_hook(filename, success)
                        +capture_post_hook(filename, success)
                        -

                        New in version 1.4.0.

                        +

                        Added in version 1.4.0.

                        Perform specific actions after capturing a timelapse frame.

                        filename will be the path of the frame that should have been saved. success indicates whether the capture was successful or not.

                        -
                        Parameters
                        +
                        Parameters:
                        • filename (str) – The path of the frame that should have been saved.

                        • success (boolean) – Indicates whether the capture was successful or not.

                        -
                        Returns
                        +
                        Returns:

                        None

                        -
                        Return type
                        +
                        Return type:

                        None

                        diff --git a/master/plugins/index.html b/master/plugins/index.html index 49a9b66d0..fc2d79e41 100644 --- a/master/plugins/index.html +++ b/master/plugins/index.html @@ -1,26 +1,26 @@ - + - + Developing Plugins — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -130,7 +130,7 @@
                        -

                        Developing Plugins

                        +

                        Developing Plugins

                        • General Concepts
                            diff --git a/master/plugins/injectedproperties.html b/master/plugins/injectedproperties.html index 36f3f9437..d14dca7e7 100644 --- a/master/plugins/injectedproperties.html +++ b/master/plugins/injectedproperties.html @@ -1,26 +1,26 @@ - + - + Injected Properties — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -132,7 +132,7 @@
                            -

                            Injected Properties

                            +

                            Injected Properties

                            OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties follows.

                            diff --git a/master/plugins/mixins.html b/master/plugins/mixins.html index 08315514b..6eef712ad 100644 --- a/master/plugins/mixins.html +++ b/master/plugins/mixins.html @@ -1,26 +1,26 @@ - + - + Mixins — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -155,8 +155,8 @@
                            -

                            Mixins

                            -
                            +

                            Mixins

                            +
                          -
                        +
                        -

                        General Concepts

                        +

                        General Concepts

                        Plugin mixins are the heart of OctoPrint’s plugin system. They are special base classes which are to be subclassed and extended to add functionality to OctoPrint. Plugins declare their instances that implement one or multiple mixins using the __plugin_implementation__ control property. OctoPrint’s plugin core @@ -225,7 +225,7 @@

                        -

                        Execution Order

                        +

                        Execution Order

                        Some mixin types, such as StartupPlugin, ShutdownPlugin and UiPlugin, support influencing the execution order for various execution contexts by also implementing the SortablePlugin mixin.

                        @@ -247,7 +247,7 @@ and plugin_d don’t override get_sorting_key(). plugin_b and plugin_c both return 1 for the sorting context StartupPlugin.on_startup, None otherwise:

                        -
                        Listing 8 plugin_a.py
                        +
                        Listing 8 plugin_a.py
                        import octoprint.plugin
                         
                         class PluginA(octoprint.plugin.StartupPlugin):
                        @@ -263,7 +263,7 @@
                         
                        -
                        Listing 9 plugin_b.py
                        +
                        Listing 9 plugin_b.py
                        import octoprint.plugin
                         
                         class PluginB(octoprint.plugin.StartupPlugin):
                        @@ -284,7 +284,7 @@
                         
                        -
                        Listing 10 plugin_c.py
                        +
                        Listing 10 plugin_c.py
                        import octoprint.plugin
                         
                         class PluginC(octoprint.plugin.StartupPlugin):
                        @@ -306,7 +306,7 @@
                         
                        -
                        Listing 11 plugin_d.py
                        +
                        Listing 11 plugin_d.py
                        # in this example this is bundled with OctoPrint
                         import octoprint.plugin
                         
                        @@ -343,7 +343,7 @@
                         
                        -

                        Injected Properties

                        +

                        Injected Properties

                        OctoPrint’s plugin subsystem will inject a bunch of properties into each mixin implementation. An overview of these properties can be found in the section Injected Properties.

                        @@ -355,9 +355,9 @@
                        -

                        Available plugin mixins

                        +

                        Available plugin mixins

                        The following plugin mixins are currently available:

                        - +

                        Please note that all plugin mixins inherit from Plugin and OctoPrintPlugin, which also provide attributes of interest to plugin developers.

                        -

                        AssetPlugin

                        +

                        AssetPlugin

                        -class octoprint.plugin.AssetPlugin
                        +class octoprint.plugin.AssetPlugin

                        Bases: OctoPrintPlugin, RestartNeedingPlugin

                        The AssetPlugin mixin allows plugins to define additional static assets such as JavaScript or CSS files to be automatically embedded into the pages delivered by the server to be used within the client sided part of @@ -392,11 +392,11 @@

                        AssetPlugin is a RestartNeedingPlugin.

                        -get_asset_folder()
                        +get_asset_folder()

                        Defines the folder where the plugin stores its static assets as defined in get_assets(). Override this if your plugin stores its assets at some other place than the static sub folder in the plugin base directory.

                        -
                        Return string
                        +
                        Return string:

                        the absolute path to the folder where the plugin stores its static assets

                        @@ -404,7 +404,7 @@
                        -get_assets()
                        +get_assets()

                        Defines the static assets the plugin offers. The following asset types are recognized and automatically imported at the appropriate places to be available:

                        @@ -434,7 +434,7 @@

                        Assets of the types js, css and less will be automatically bundled by OctoPrint using Flask-Assets.

                        -
                        Return dict
                        +
                        Return dict:

                        a dictionary describing the static assets to publish for the plugin

                        @@ -444,10 +444,10 @@
                        -

                        BlueprintPlugin

                        +

                        BlueprintPlugin

                        -class octoprint.plugin.BlueprintPlugin
                        +class octoprint.plugin.BlueprintPlugin

                        Bases: OctoPrintPlugin, RestartNeedingPlugin

                        The BlueprintPlugin mixin allows plugins to define their own full fledged endpoints for whatever purpose, be it a more sophisticated API than what is possible via the SimpleApiPlugin or a custom web frontend.

                        @@ -511,35 +511,35 @@
                        -static csrf_exempt()
                        +static csrf_exempt()

                        A decorator to mark a view method in your BlueprintPlugin as exempt from CSRF protection. This makes sense if you offer an authenticated API for a certain workflow (see e.g. the bundled appkeys plugin) but in most cases should not be needed.

                        -

                        New in version 1.8.3.

                        +

                        Added in version 1.8.3.

                        -static errorhandler(code_or_exception)
                        +static errorhandler(code_or_exception)

                        A decorator to mark errorhandlings methods in your BlueprintPlugin subclass. Works just the same as Flask’s own errorhandler decorator available on blueprints.

                        See the documentation for flask.Blueprint.errorhandler and the documentation for flask.Flask.errorhandler for more information.

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_blueprint()
                        +get_blueprint()

                        Creates and returns the blueprint for your plugin. Override this if you want to define and handle your blueprint yourself.

                        This method will only be called once during server initialization.

                        -
                        Returns
                        +
                        Returns:

                        the blueprint ready to be registered with Flask

                        @@ -547,7 +547,7 @@
                        -get_blueprint_api_prefixes()
                        +get_blueprint_api_prefixes()

                        Return all prefixes of your endpoint that are an API that should be containing JSON only.

                        Anything that matches this will generate JSON error messages in case of flask.abort calls, instead of the default HTML ones.

                        @@ -558,7 +558,7 @@
                        -get_blueprint_kwargs()
                        +get_blueprint_kwargs()

                        Override this if you want your blueprint constructed with additional options such as static_folder, template_folder, etc.

                        Defaults to the blueprint’s static_folder and template_folder to be set to the plugin’s basefolder @@ -568,7 +568,7 @@

                        -is_blueprint_csrf_protected()
                        +is_blueprint_csrf_protected()

                        Whether a blueprint’s endpoints are CSRF protected. For now, this defaults to False to leave it up to plugins to decide which endpoints should be protected. Long term, this will default to True and hence enforce protection unless a plugin opts out by returning False here.

                        @@ -576,13 +576,13 @@ to alert you of the requirement to make a decision here and to not rely on the default implementation, due to the forthcoming change in implemented default behaviour.

                        -

                        New in version 1.8.3.

                        +

                        Added in version 1.8.3.

                        -is_blueprint_protected()
                        +is_blueprint_protected()

                        Whether a login session by a registered user is needed to access the blueprint’s endpoints. Requiring a session is the default. Note that this only restricts access to the blueprint’s dynamic methods, static files are always accessible.

                        @@ -592,7 +592,7 @@
                        -static route(rule, **options)
                        +static route(rule, **options)

                        A decorator to mark view methods in your BlueprintPlugin subclass. Works just the same as Flask’s own route decorator available on blueprints.

                        See the documentation for flask.Blueprint.route @@ -604,10 +604,10 @@

                        -

                        EventHandlerPlugin

                        +

                        EventHandlerPlugin

                        -class octoprint.plugin.EventHandlerPlugin
                        +class octoprint.plugin.EventHandlerPlugin

                        Bases: OctoPrintPlugin

                        The EventHandlerPlugin mixin allows OctoPrint plugins to react to any of OctoPrint’s events. OctoPrint will call the on_event() method for any event fired on its internal event bus, supplying the @@ -618,14 +618,14 @@ videos rendering etc.

                        -on_event(event, payload)
                        +on_event(event, payload)

                        Called by OctoPrint upon processing of a fired event on the platform.

                        Warning

                        Do not perform long-running or even blocking operations in your implementation or you will block and break the server.

                        -
                        Parameters
                        +
                        Parameters:
                        • event (str) – The type of event that got fired, see the list of events for possible values

                        • @@ -639,19 +639,19 @@
                        -

                        ProgressPlugin

                        +

                        ProgressPlugin

                        -class octoprint.plugin.ProgressPlugin
                        +class octoprint.plugin.ProgressPlugin

                        Bases: OctoPrintPlugin

                        Via the ProgressPlugin mixing plugins can let themselves be called upon progress in print jobs or slicing jobs, limited to minimally 1% steps.

                        -on_print_progress(storage, path, progress)
                        +on_print_progress(storage, path, progress)

                        Called by OctoPrint on minimally 1% increments during a running print job.

                        -
                        Parameters
                        +
                        Parameters:
                        • storage (string) – Location of the file

                        • path (string) – Path of the file

                        • @@ -663,10 +663,10 @@
                          -on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)
                          +on_slicing_progress(slicer, source_location, source_path, destination_location, destination_path, progress)

                          Called by OctoPrint on minimally 1% increments during a running slicing job.

                          -
                          Parameters
                          +
                          Parameters:
                          • slicer (string) – Key of the slicer reporting the progress

                          • source_location (string) – Location of the source file

                          • @@ -683,30 +683,30 @@
                        -

                        ReloadNeedingPlugin

                        +

                        ReloadNeedingPlugin

                        -class octoprint.plugin.ReloadNeedingPlugin
                        +class octoprint.plugin.ReloadNeedingPlugin

                        Bases: Plugin

                        Mixin for plugin types that need a reload of the UI after enabling/disabling them.

                        -

                        RestartNeedingPlugin

                        +

                        RestartNeedingPlugin

                        -class octoprint.plugin.RestartNeedingPlugin
                        +class octoprint.plugin.RestartNeedingPlugin

                        Bases: Plugin

                        Mixin for plugin types that need a restart after enabling/disabling them.

                        -

                        SettingsPlugin

                        +

                        SettingsPlugin

                        -class octoprint.plugin.SettingsPlugin
                        +class octoprint.plugin.SettingsPlugin

                        Bases: OctoPrintPlugin

                        Including the SettingsPlugin mixin allows plugins to store and retrieve their own settings within OctoPrint’s configuration.

                        @@ -775,13 +775,13 @@
                        -config_version_key = '_config_version'
                        +config_version_key = '_config_version'

                        Key of the field in the settings that holds the configuration format version.

                        -get_settings_defaults()
                        +get_settings_defaults()

                        Retrieves the plugin’s default settings with which the plugin’s settings manager will be initialized.

                        Override this in your plugin’s implementation and return a dictionary defining your settings data structure with included default values.

                        @@ -789,7 +789,7 @@
                        -get_settings_preprocessors()
                        +get_settings_preprocessors()

                        Retrieves the plugin’s preprocessors to use for preprocessing returned or set values prior to returning/setting them.

                        The preprocessors should be provided as a dictionary mapping the path of the values to preprocess @@ -816,11 +816,11 @@

                        -
                        Returns
                        +
                        Returns:

                        A tuple consisting of two dictionaries, the first being the plugin’s preprocessors for getters, the second the preprocessors for setters

                        -
                        Return type
                        +
                        Return type:

                        (dict, dict)

                        @@ -828,7 +828,7 @@
                        -get_settings_restricted_paths()
                        +get_settings_restricted_paths()

                        Retrieves the list of paths in the plugin’s settings which be restricted on the REST API.

                        Override this in your plugin’s implementation to restrict whether a path should only be returned to users with certain permissions, or never on the REST API.

                        @@ -896,23 +896,23 @@
                        -

                        New in version 1.2.17.

                        +

                        Added in version 1.2.17.

                        -get_settings_version()
                        +get_settings_version()

                        Retrieves the settings format version of the plugin.

                        Use this to have OctoPrint trigger your migration function if it detects an outdated settings version in config.yaml.

                        -
                        Returns
                        +
                        Returns:

                        an int signifying the current settings format, should be incremented by plugins whenever there are backwards incompatible changes. Returning None here disables the version tracking for the plugin’s configuration.

                        -
                        Return type
                        +
                        Return type:

                        int or None

                        @@ -920,20 +920,20 @@
                        -on_settings_cleanup()
                        +on_settings_cleanup()

                        Called after migration and initialization but before call to on_settings_initialized().

                        Plugins may overwrite this method to perform additional clean up tasks.

                        The default implementation just minimizes the data persisted on disk to only contain the differences to the defaults (in case the current data was persisted with an older version of OctoPrint that still duplicated default data).

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -on_settings_initialized()
                        +on_settings_initialized()

                        Called after the settings have been initialized and - if necessary - also been migrated through a call to func:on_settings_migrate.

                        This method will always be called after the initialize method.

                        @@ -941,7 +941,7 @@
                        -on_settings_load()
                        +on_settings_load()

                        Loads the settings for the plugin, called by the Settings API view in order to retrieve all settings from all plugins. Override this if you want to inject additional settings properties that are not stored within OctoPrint’s configuration.

                        @@ -959,7 +959,7 @@ Make sure to do your own restriction if you decide to fully overload this method.

                        -
                        Returns
                        +
                        Returns:

                        the current settings of the plugin, as a dictionary

                        @@ -967,7 +967,7 @@
                        -on_settings_migrate(target, current)
                        +on_settings_migrate(target, current)

                        Called by OctoPrint if it detects that the installed version of the plugin necessitates a higher settings version than the one currently stored in _config.yaml. Will also be called if the settings data stored in config.yaml doesn’t have version information, in which case the current parameter will be None.

                        @@ -977,7 +977,7 @@ having taken place. You can therefore depend on the configuration having been migrated by the time on_settings_initialized() is called.

                        -
                        Parameters
                        +
                        Parameters:
                        • target (int) – The settings format version the plugin requires, this should always be the same value as returned by get_settings_version().

                        • @@ -990,7 +990,7 @@
                          -on_settings_save(data)
                          +on_settings_save(data)

                          Saves the settings for the plugin, called by the Settings API view in order to persist all settings from all plugins. Override this if you need to directly react to settings changes or want to extract additional settings properties that are not stored within OctoPrint’s configuration.

                          @@ -1004,13 +1004,13 @@ and using the proper setter methods on the settings manager to persist the data in the correct format.

                          -
                          Parameters
                          +
                          Parameters:

                          data (dict) – The settings dictionary to be saved for the plugin

                          -
                          Returns
                          +
                          Returns:

                          The settings that differed from the defaults and were actually saved.

                          -
                          Return type
                          +
                          Return type:

                          dict

                          @@ -1020,10 +1020,10 @@
                          -

                          ShutdownPlugin

                          +

                          ShutdownPlugin

                          -class octoprint.plugin.ShutdownPlugin
                          +class octoprint.plugin.ShutdownPlugin

                          Bases: OctoPrintPlugin, SortablePlugin

                          The ShutdownPlugin allows hooking into the shutdown of OctoPrint. It’s usually used in conjunction with the StartupPlugin mixin, to cleanly shut down additional services again that where started by the StartupPlugin @@ -1032,7 +1032,7 @@ on_shutdown().

                          -on_shutdown()
                          +on_shutdown()

                          Called upon the imminent shutdown of OctoPrint.

                          Warning

                          @@ -1045,10 +1045,10 @@
                          -

                          SimpleApiPlugin

                          +

                          SimpleApiPlugin

                          -class octoprint.plugin.SimpleApiPlugin
                          +class octoprint.plugin.SimpleApiPlugin

                          Bases: OctoPrintPlugin

                          Utilizing the SimpleApiPlugin mixin plugins may implement a simple API based around one GET resource and one resource accepting JSON commands POSTed to it. This is the easy alternative for plugin’s which don’t need the @@ -1125,20 +1125,20 @@

                          -get_api_commands()
                          +get_api_commands()

                          Return a dictionary here with the keys representing the accepted commands and the values being lists of mandatory parameter names.

                          -is_api_adminonly()
                          +is_api_adminonly()

                          Return True if the API is only available to users having the admin role.

                          -on_api_command(command, data)
                          +on_api_command(command, data)

                          Called by OctoPrint upon a POST request to /api/plugin/<plugin identifier>. command will contain one of the commands as specified via get_api_commands(), data will contain the full request body parsed from JSON into a Python dictionary. Note that this will also contain the command attribute itself. For the @@ -1148,13 +1148,13 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

                          -
                          Parameters
                          +
                          Parameters:
                          • command (string) – the command with which the resource was called

                          • data (dict) – the full request body of the POST request parsed from JSON into a Python dictionary

                          -
                          Returns
                          +
                          Returns:

                          None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

                          @@ -1163,7 +1163,7 @@
                          -on_api_get(request)
                          +on_api_get(request)

                          Called by OctoPrint upon a GET request to /api/plugin/<plugin identifier>. request will contain the received Flask request object which you may evaluate for additional arguments supplied with the request.

                          @@ -1171,10 +1171,10 @@ for you. You may also return regular responses as you would return from any Flask view here though, e.g. return flask.jsonify(result="some json result") or flask.abort(404).

                          -
                          Parameters
                          +
                          Parameters:

                          request – the Flask request object

                          -
                          Returns
                          +
                          Returns:

                          None in which case OctoPrint will generate a 204 No content response with empty body, or optionally a proper Flask response.

                          @@ -1185,18 +1185,18 @@
                          -

                          SlicerPlugin

                          +

                          SlicerPlugin

                          -class octoprint.plugin.SlicerPlugin
                          +class octoprint.plugin.SlicerPlugin

                          Bases: OctoPrintPlugin

                          Via the SlicerPlugin mixin plugins can add support for slicing engines to be used by OctoPrint.

                          -cancel_slicing(machinecode_path)
                          +cancel_slicing(machinecode_path)

                          Cancels the slicing to the indicated file.

                          -
                          Parameters
                          +
                          Parameters:

                          machinecode_path (str) – The absolute path to the machine code file to which to stop slicing to.

                          @@ -1204,7 +1204,7 @@
                          -do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)
                          +do_slice(model_path, printer_profile, machinecode_path=None, profile_path=None, position=None, on_progress=None, on_progress_args=None, on_progress_kwargs=None)

                          Called by OctoPrint to slice model_path for the indicated printer_profile. If the machinecode_path is None, slicer implementations should generate it from the provided model_path.

                          If provided, the profile_path is guaranteed by OctoPrint to be a serialized slicing profile created through the slicing @@ -1242,13 +1242,13 @@ containing a human readable reason for the error.

                          If the job gets cancelled, a SlicingCancelled exception should be raised.

                          -
                          Returns
                          +
                          Returns:

                          A 2-tuple (boolean, object) as outlined above.

                          -
                          Return type
                          +
                          Return type:

                          tuple

                          -
                          Raises
                          +
                          Raises:

                          SlicingCancelled – The slicing job was cancelled (via cancel_slicing()).

                          @@ -1256,18 +1256,18 @@
                          -get_slicer_default_profile()
                          +get_slicer_default_profile()

                          Should return a SlicingProfile containing the default slicing profile to use with this slicer if no other profile has been selected.

                          -
                          Returns
                          +
                          Returns:

                          The SlicingProfile containing the default slicing profile for

                          this slicer.

                          -
                          Return type
                          +
                          Return type:

                          SlicingProfile

                          @@ -1275,30 +1275,30 @@
                          -get_slicer_extension_tree()
                          +get_slicer_extension_tree()

                          Fetch additional entries to put into the extension tree for accepted files

                          By default, a subtree for model files with stl extension is returned. Slicers who want to support additional/other file types will want to override this.

                          For the extension tree format, take a look at the docs of the octoprint.filemanager.extension_tree hook.

                          Returns: (dict) a dictionary containing a valid extension subtree.

                          -

                          New in version 1.3.11.

                          +

                          Added in version 1.3.11.

                          -get_slicer_profile(path)
                          +get_slicer_profile(path)

                          Should return a SlicingProfile parsed from the slicing profile stored at the indicated path.

                          -
                          Parameters
                          +
                          Parameters:

                          path (str) – The absolute path from which to read the slicing profile.

                          -
                          Returns
                          +
                          Returns:

                          The specified slicing profile.

                          -
                          Return type
                          +
                          Return type:

                          SlicingProfile

                          @@ -1306,32 +1306,32 @@
                          -get_slicer_profiles(profile_path)
                          +get_slicer_profiles(profile_path)

                          Fetch all SlicingProfile stored for this slicer.

                          For compatibility reasons with existing slicing plugins this method defaults to returning profiles parsed from .profile files in the plugin’s profile_path, utilizing the SlicingPlugin.get_slicer_profile() method of the plugin implementation.

                          -
                          Parameters
                          +
                          Parameters:

                          profile_path (str) – The base folder where OctoPrint stores this slicer plugin’s profiles

                          -

                          New in version 1.3.7.

                          +

                          Added in version 1.3.7.

                          -get_slicer_profiles_lastmodified(profile_path)
                          +get_slicer_profiles_lastmodified(profile_path)
                          -

                          New in version 1.3.0.

                          +

                          Added in version 1.3.0.

                          -get_slicer_properties()
                          +get_slicer_properties()

                          Plugins should override this method to return a dict containing a bunch of meta data about the implemented slicer.

                          The expected keys in the returned dict have the following meaning:

                          @@ -1356,10 +1356,10 @@
                          -
                          Returns
                          +
                          Returns:

                          A dict describing the slicer as outlined above.

                          -
                          Return type
                          +
                          Return type:

                          dict

                          @@ -1367,7 +1367,7 @@
                          -is_slicer_configured()
                          +is_slicer_configured()

                          Unless the return value of this method is True, OctoPrint will not register the slicer within the slicing sub system upon startup. Plugins may use this to do some start up checks to verify that e.g. the path to a slicing binary as set and the binary is executable, or credentials of a cloud slicing platform are properly @@ -1376,12 +1376,12 @@

                          -save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)
                          +save_slicer_profile(path, profile, allow_overwrite=True, overrides=None)

                          Should save the provided SlicingProfile to the indicated path, after applying any supplied overrides. If a profile is already saved under the indicated path and allow_overwrite is set to False (defaults to True), an IOError should be raised.

                          -
                          Parameters
                          +
                          Parameters:
                          • path (str) – The absolute path to which to save the profile.

                          • profile (SlicingProfile) – The profile to save.

                          • @@ -1398,10 +1398,10 @@
                          -

                          StartupPlugin

                          +

                          StartupPlugin

                          -class octoprint.plugin.StartupPlugin
                          +class octoprint.plugin.StartupPlugin

                          Bases: OctoPrintPlugin, SortablePlugin

                          The StartupPlugin allows hooking into the startup of OctoPrint. It can be used to start up additional services on or just after the startup of the server.

                          @@ -1410,7 +1410,7 @@ on_after_startup().

                          -on_after_startup()
                          +on_after_startup()

                          Called just after launch of the server, so when the listen loop is actually running already.

                          Warning

                          @@ -1421,7 +1421,7 @@
                          -on_startup(host, port)
                          +on_startup(host, port)

                          Called just before the server is actually launched. Plugins get supplied with the host and port the server will listen on. Note that the host may be 0.0.0.0 if it will listen on all interfaces, so you can’t just blindly use this for constructing publicly reachable URLs. Also note that when this method is called, the server @@ -1433,7 +1433,7 @@

                          The relevant sorting context is StartupPlugin.on_startup.

                          -
                          Parameters
                          +
                          Parameters:
                          • host (string) – the host the server will listen on, may be 0.0.0.0

                          • port (int) – the port the server will listen on

                          • @@ -1446,10 +1446,10 @@
                          -

                          TemplatePlugin

                          +

                          TemplatePlugin

                          -class octoprint.plugin.TemplatePlugin
                          +class octoprint.plugin.TemplatePlugin

                          Bases: OctoPrintPlugin, ReloadNeedingPlugin

                          Using the TemplatePlugin mixin plugins may inject their own components into the OctoPrint web interface.

                          Currently OctoPrint supports the following types of injections out of the box:

                          @@ -1495,7 +1495,7 @@

                          The template will be already wrapped into the necessary structure, plugins just need to supply the pure content. The wrapper div will have the additional classes and styles applied as defined via the configuration through get_template_configs().

                          -

                          New in version 1.9.0.

                          +

                          Added in version 1.9.0.

                          Wizards

                          Plugins may define wizard dialogs to display to the user if necessary (e.g. in case of missing information that @@ -1519,7 +1519,7 @@ wizard step.

                          -

                          New in version 1.3.0.

                          +

                          Added in version 1.3.0.

                          About

                          Plugins may define additional panels into OctoPrint’s “About” dialog. Note that with the current implementation @@ -1530,7 +1530,7 @@ wrapped div and the link in the navigation will have the additional classes and styles applied as defined via the configuration supplied through get_template_configs().

                          -

                          New in version 1.3.0.

                          +

                          Added in version 1.3.0.

                          Generic

                          Plugins may also inject arbitrary templates into the page of the web interface itself, e.g. in order to @@ -1540,13 +1540,13 @@

                          Template injection types in the main part of the interface
                          -

                          Fig. 26 Template injection types in the main part of the interface

                          +

                          Fig. 26 Template injection types in the main part of the interface

                          Template injection types in the settings
                          -

                          Fig. 27 Template injection types in the settings

                          +

                          Fig. 27 Template injection types in the settings

                          You can find an example for a simple plugin which injects navbar, tab and settings content into the interface in @@ -1558,15 +1558,15 @@

                          TemplatePlugin is a ReloadNeedingPlugin.

                          -get_template_configs()
                          +get_template_configs()

                          Allows configuration of injected navbar, sidebar, tab and settings templates (and also additional templates of types specified by plugins through the octoprint.ui.web.templatetypes hook). Should be a list containing one configuration object per template to inject. Each configuration object is represented by a dictionary which may contain the following keys:

                          -

                        Key

                        +
                        --++ @@ -1663,10 +1663,10 @@

                        Further keys to be included in the dictionary depend on the type:

                        sidebar type

                        -

                        type

                        +
                        --++ @@ -1693,10 +1693,10 @@

                        tab type and settings type

                        -

                        icon

                        +
                        --++ @@ -1716,10 +1716,10 @@

                        webcam type

                        -

                        classes_content

                        +
                        --++ @@ -1733,10 +1733,10 @@

                        wizard type

                        -

                        classes_content

                        +
                        --++ @@ -1775,7 +1775,7 @@
                        -
                        Return list
                        +
                        Return list:

                        a list containing the configuration options for the plugin’s injected templates

                        @@ -1783,11 +1783,11 @@
                        -get_template_folder()
                        +get_template_folder()

                        Defines the folder where the plugin stores its templates. Override this if your plugin stores its templates at some other place than the templates sub folder in the plugin base directory.

                        -
                        Return string
                        +
                        Return string:

                        the absolute path to the folder where the plugin stores its jinja2 templates

                        @@ -1795,11 +1795,11 @@
                        -get_template_vars()
                        +get_template_vars()

                        Defines additional template variables to include into the template renderer. Variable names will be prefixed with plugin_<plugin identifier>_.

                        -
                        Return dict
                        +
                        Return dict:

                        a dictionary containing any additional template variables to include in the renderer

                        @@ -1809,10 +1809,10 @@
                        -

                        UiPlugin

                        +

                        UiPlugin

                        -class octoprint.plugin.UiPlugin
                        +class octoprint.plugin.UiPlugin

                        Bases: OctoPrintPlugin, SortablePlugin

                        The UiPlugin mixin allows plugins to completely replace the UI served by OctoPrint when requesting the main page hosted at /.

                        @@ -1843,7 +1843,7 @@ only exemplary) UI if the requesting client has a UserAgent string hinting at it being a mobile device:

                        - +
                        # coding=utf-8
                         from __future__ import absolute_import
                         
                        @@ -1873,7 +1873,7 @@
                         
                        - +
                        <html>
                             <head>
                                 <title>Dummy Mobile OctoPrint UI</title>
                        @@ -1925,36 +1925,36 @@
                         server startup (basically eager caching instead of lazily waiting for the first request).

                        See below for details on this.

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_additional_etag(default_additional)
                        +get_ui_additional_etag(default_additional)

                        Allows to provide a list of additional fields to use for ETag generation.

                        By default the same list will be returned that is also used in the stock UI (and injected via the parameter default_additional).

                        -
                        Parameters
                        +
                        Parameters:

                        default_additional (list) – The list of default fields added to the ETag of the default UI

                        -
                        Returns
                        +
                        Returns:

                        A list of additional fields for the ETag generation, or None

                        -
                        Return type
                        +
                        Return type:

                        (list)

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_additional_key_data_for_cache()
                        +get_ui_additional_key_data_for_cache()

                        Allows to return additional data to use in the cache key.

                        -
                        Returns
                        +
                        Returns:

                        A list or tuple of strings to use in the cache key. Will be joined by OctoPrint

                        using : as separator and appended to the existing ui:<identifier>:<base url>:<locale> cache key. Ignored if None is returned.

                        @@ -1962,165 +1962,165 @@

                        -
                        Return type
                        +
                        Return type:

                        list, tuple

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_additional_request_data_for_preemptive_caching()
                        +get_ui_additional_request_data_for_preemptive_caching()

                        Allows defining additional request data to persist in the preemptive cache configuration and to use for the fake request used for populating the preemptive cache.

                        Keys and values are used as keyword arguments for creating the Werkzeug EnvironBuilder used for creating the fake request.

                        -
                        Returns
                        +
                        Returns:

                        Additional request data to persist in the preemptive cache configuration and to

                        use for request environment construction.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_additional_tracked_files()
                        +get_ui_additional_tracked_files()

                        Allows to return additional files to track for validating existing caches. By default OctoPrint will track all declared templates, assets and translation files in the system. Additional files can be added by a plugin through this callback.

                        -
                        Returns
                        +
                        Returns:

                        A list of paths to additional files whose modification to track for (in)validating

                        the cache. Ignored if None is returned.

                        -
                        Return type
                        +
                        Return type:

                        list

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_custom_etag()
                        +get_ui_custom_etag()

                        Allows to use a custom way to calculate the ETag, instead of the default method (hashing OctoPrint’s version, tracked file paths and LastModified value).

                        -
                        Returns
                        +
                        Returns:

                        An alternatively calculated ETag value. Ignored if None is returned (default).

                        -
                        Return type
                        +
                        Return type:

                        str

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_custom_lastmodified()
                        +get_ui_custom_lastmodified()

                        Allows to calculate the LastModified differently than using the most recent modification date of all tracked files.

                        -
                        Returns
                        +
                        Returns:

                        An alternatively calculated LastModified value. Ignored if None is returned (default).

                        -
                        Return type
                        +
                        Return type:

                        int

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_custom_template_filter(default_template_filter)
                        +get_ui_custom_template_filter(default_template_filter)

                        Allows to specify a custom template filter to use for filtering the template contained in the render_kwargs provided to the templating sub system.

                        Only relevant for UiPlugins that actually utilize the stock templates of OctoPrint.

                        By default simply returns the provided default_template_filter.

                        -
                        Parameters
                        +
                        Parameters:

                        default_template_filter (callable) – The default template filter used by the default UI

                        -
                        Returns
                        +
                        Returns:

                        (callable) A filter function accepting the template_type and template_key of a template and returning True to keep it and False to filter it out. If None is returned, no filtering will take place.

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_custom_tracked_files()
                        +get_ui_custom_tracked_files()

                        Allows to define a complete separate set of files to track for (in)validating the cache. If this method returns something, the templates, assets and translation files won’t be tracked, only the files specified in the returned list.

                        -
                        Returns
                        +
                        Returns:

                        A list of paths representing the only files whose modification to track for (in)validating

                        the cache. Ignored if None is returned.

                        -
                        Return type
                        +
                        Return type:

                        list

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_data_for_preemptive_caching()
                        +get_ui_data_for_preemptive_caching()

                        Allows defining additional data to be persisted in the preemptive cache configuration, on top of the request path, base URL and used locale.

                        -
                        Returns
                        +
                        Returns:

                        Additional data to persist in the preemptive cache configuration.

                        -
                        Return type
                        +
                        Return type:

                        dict

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_permissions()
                        +get_ui_permissions()

                        Determines a list of permissions that need to be on the current user session. If these requirements are not met, OctoPrint will instead redirect to a login screen.

                        @@ -2129,7 +2129,7 @@ view renders, in which case it will fall to your plugin to implement its own login logic.

                        -
                        Returns
                        +
                        Returns:

                        (list) A list of permissions which to check the current user session against. May be empty to indicate that no permission checks should be made by OctoPrint.

                        @@ -2138,35 +2138,35 @@
                        -get_ui_preemptive_caching_additional_unless()
                        +get_ui_preemptive_caching_additional_unless()

                        Allows defining additional reasons for temporarily not adding a preemptive cache record for your plugin’s UI.

                        OctoPrint will call this method when processing a UI request, to determine whether to record the access or not. If you return True here, no record will be created.

                        -
                        Returns
                        +
                        Returns:

                        Whether to suppress a record (True) or not (False, default)

                        -
                        Return type
                        +
                        Return type:

                        bool

                        -

                        New in version 1.3.0.

                        +

                        Added in version 1.3.0.

                        -get_ui_preemptive_caching_enabled()
                        +get_ui_preemptive_caching_enabled()

                        Allows to control whether the view provided by the plugin should be preemptively cached on server startup (default) or not.

                        Have this return False if you do not want your plugin’s UI to ever be preemptively cached.

                        -
                        Returns
                        +
                        Returns:

                        Whether to enable preemptive caching (True, default) or not (False)

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -2174,7 +2174,7 @@
                        -on_ui_render(now, request, render_kwargs)
                        +on_ui_render(now, request, render_kwargs)

                        Called by OctoPrint to retrieve the response to send to the client for the request to /. Only called if will_handle_ui() returned True.

                        @@ -2182,10 +2182,10 @@ will contain the following key and value pairs (note that not all key value pairs contained in the dictionary are listed here, only those you should depend on as a plugin developer at the current time):

                        -

                        mandatory

                        +
                        --++ @@ -2198,10 +2198,10 @@

                        debug

                        version

                        OctoPrint’s version information. This is a dict with the following keys:

                        - +
                        --++ @@ -2227,10 +2227,10 @@

                        number

                        Template data to render in the UI. Will be a dict containing entries for all known template types.

                        The sub structure for each key will be as follows:

                        - +
                        --++ @@ -2266,7 +2266,7 @@

                        On top of that all additional template variables as provided by get_template_vars() will be contained in the dictionary as well.

                        -
                        Parameters
                        +
                        Parameters:
                        • now (datetime.datetime) – The datetime instance representing “now” for this request, in case your plugin implementation needs this @@ -2277,7 +2277,7 @@ would usually be provided to the core UI render function.

                        -
                        Returns
                        +
                        Returns:

                        Should return a Flask Response

                        object that can be served to the requesting client directly. May be created with flask.make_response combined with something like @@ -2286,7 +2286,7 @@

                        -
                        Return type
                        +
                        Return type:

                        flask.Response

                        @@ -2294,7 +2294,7 @@
                        -will_handle_ui(request)
                        +will_handle_ui(request)

                        Called by OctoPrint to determine if the mixin implementation will be able to handle the request provided as a parameter.

                        Return True here to signal that your implementation will handle @@ -2303,19 +2303,19 @@

                        The execution order of calls to this method can be influenced via the sorting context UiPlugin.will_handle_ui.

                        -
                        Parameters
                        +
                        Parameters:

                        request (flask.Request) –

                        A Flask Request object.

                        -
                        Returns
                        +
                        Returns:

                        True if the implementation will serve the request,

                        False otherwise.

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -2325,22 +2325,22 @@
                        -

                        WebcamProviderPlugin

                        +

                        WebcamProviderPlugin

                        -class octoprint.plugin.WebcamProviderPlugin
                        +class octoprint.plugin.WebcamProviderPlugin

                        Bases: OctoPrintPlugin

                        The WebcamProviderPlugin can be used to provide one or more webcams visible on the frontend and used for snapshots/timelapses.

                        For an example of how to utilize this, see the bundled classicwebcam plugin, or the testpicture plugin available here.

                        -get_webcam_configurations()
                        +get_webcam_configurations()

                        Used to retrieve a list of available webcams

                        -
                        Returns
                        +
                        Returns:

                        The available webcams, can be empty if none available.

                        -
                        Return type
                        +
                        Return type:

                        A list of Webcam

                        @@ -2348,17 +2348,17 @@
                        -take_webcam_snapshot(webcamName)
                        +take_webcam_snapshot(webcamName)

                        Used to take a JPEG snapshot of the webcam. This method may raise an exception, you can expect failures to be handled.

                        -
                        param string webcamName
                        +
                        param string webcamName:

                        The name of the webcam to take a snapshot of as given by the configurations

                        -
                        Returns
                        +
                        Returns:

                        An iterator over bytes of the JPEG image

                        @@ -2368,10 +2368,10 @@
                        -

                        WizardPlugin

                        +

                        WizardPlugin

                        -class octoprint.plugin.WizardPlugin
                        +class octoprint.plugin.WizardPlugin

                        Bases: OctoPrintPlugin, ReloadNeedingPlugin

                        The WizardPlugin mixin allows plugins to report to OctoPrint whether the wizard templates they define via the TemplatePlugin @@ -2432,20 +2432,20 @@

                        WizardPlugin is a ReloadNeedingPlugin.

                        -get_wizard_details()
                        +get_wizard_details()

                        Called by OctoPrint when the wizard wrapper dialog is shown. Allows the plugin to return data that will then be made available to the view models via the view model callback onWizardDetails.

                        Use this if your plugin’s view model that handles your wizard dialog needs additional data to perform its task.

                        -
                        Returns
                        +
                        Returns:

                        a dictionary containing additional data to provide to the frontend. Whatever the plugin

                        returns here will be made available on the wizard API under the plugin’s identifier

                        -
                        Return type
                        +
                        Return type:

                        dict

                        @@ -2453,7 +2453,7 @@
                        -get_wizard_version()
                        +get_wizard_version()

                        The version of this plugin’s wizard. OctoPrint will only display a wizard of the same plugin and wizard version once to the user. After they finish the wizard, OctoPrint will remember that it already showed this @@ -2462,7 +2462,7 @@ of changes in the required settings), increasing this value is the way to notify OctoPrint of these changes.

                        -
                        Returns
                        +
                        Returns:

                        an int signifying the current wizard version, should be incremented by plugins whenever there

                        are changes to the plugin that might necessitate reshowing the wizard if it is required. None will also be accepted and lead to the wizard always be ignored unless it has never been finished @@ -2471,7 +2471,7 @@

                        -
                        Return type
                        +
                        Return type:

                        int or None

                        @@ -2479,7 +2479,7 @@
                        -classmethod is_wizard_ignored(seen_wizards, implementation)
                        +classmethod is_wizard_ignored(seen_wizards, implementation)

                        Determines whether the provided implementation is ignored based on the provided information about already seen wizards and their versions or not.

                        A wizard is ignored if

                        @@ -2502,7 +2502,7 @@
                        -
                        Parameters
                        +
                        Parameters:
                        • seen_wizards (dict) – A dictionary with information about already seen wizards and their versions. Mappings from the identifiers of @@ -2511,14 +2511,14 @@

                        • implementation (object) – The plugin implementation to check.

                        -
                        Returns
                        +
                        Returns:

                        False if the provided implementation is either not a WizardPlugin

                        or has not yet been seen (in this version), True otherwise

                        -
                        Return type
                        +
                        Return type:

                        bool

                        @@ -2526,7 +2526,7 @@
                        -is_wizard_required()
                        +is_wizard_required()

                        Allows the plugin to report whether it needs to display a wizard to the user or not.

                        Defaults to False.

                        @@ -2539,7 +2539,7 @@
                        -on_wizard_finish(handled)
                        +on_wizard_finish(handled)

                        Called by OctoPrint whenever the user finishes a wizard session.

                        The handled parameter will indicate whether that plugin’s wizard was included in the wizard dialog presented to the user (so the plugin providing @@ -2547,7 +2547,7 @@ ignored/had already been seen).

                        Use this to do any clean up tasks necessary after wizard completion.

                        -
                        Parameters
                        +
                        Parameters:

                        handled (bool) – True if the plugin’s wizard was previously reported as required, not ignored and thus presented to the user, False otherwise

                        diff --git a/master/plugins/python3_migration.html b/master/plugins/python3_migration.html index aeaac99d5..c0f5d9c97 100644 --- a/master/plugins/python3_migration.html +++ b/master/plugins/python3_migration.html @@ -1,26 +1,26 @@ - + - + Migrating to Python 3 — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -146,7 +146,7 @@
                        -

                        Migrating to Python 3

                        +

                        Migrating to Python 3

                        Python 2 is now EOL as of January 1st 2020. With the release of 1.4.0 OctoPrint will be compatible to both Python 2 and Python 3.

                        However, the same doesn’t automatically hold true for all of the third party plugins for OctoPrint out there - it will @@ -154,7 +154,7 @@

                        This guide is supposed to help plugin authors in making sure their plugins run under Python 2 as well as Python 3, which for now is the goal for OctoPrint’s ecosystem, as we’ll have to live with existing legacy Python 2 installations for a while to come (the plan is to stay Python 2 compatible until roughly a year after the release of 1.4.0).

                        - +
                        -

                        How to get a Python 3 virtual environment with OctoPrint

                        +

                        How to get a Python 3 virtual environment with OctoPrint

                        In order to test your plugins for Python 3 compatibility and also to allow for ongoing maintenance against both Python versions, you should create a Python 3 virtual environment next to your Python 2 one. You can then quickly switch between Python 2 and Python 3 simply by activate-ing whichever one you need.

                        @@ -224,7 +224,7 @@
                        -

                        Telling OctoPrint your plugin is Python 3 ready

                        +

                        Telling OctoPrint your plugin is Python 3 ready

                        In order for OctoPrint to even load your plugin when it’s running under Python 3, it first needs to know your plugin is compatible to a Python 3 environment. By default OctoPrint will assume your plugin isn’t and refuse to load it when running under Python 3 itself.

                        @@ -272,7 +272,7 @@
                        -

                        Common pitfalls during migration

                        +

                        Common pitfalls during migration

                        Some of the changes in Python 3 compared to Python 2 are sadly backwards incompatible and usually cause a number of common issues in code written for Python 2 when run under Python 3. By now they are pretty well documented and there exist a number of helpful and comprehensive migration guides, three of which I want to mention here.

                        @@ -294,7 +294,7 @@ imports, changes in integer division behaviour and the switch of map, filter and zip to return iterators instead of lists and causing issues in the following code due to that.

                        -

                        Bytes vs unicode

                        +

                        Bytes vs unicode

                        One of if not the most problematic change between Python 2 and 3 surely must be the change in string handling. Under Python 2 your basic string was a byte string, but it could also magically turn into a unicode string depending on what you wrote into it. That did cause some confusion, especially in APIs, and caused quite a mess, which is why the decision @@ -330,7 +330,7 @@ cheat sheet.

                        -

                        Absolute imports

                        +

                        Absolute imports

                        Python 3 now defaults to absolute imports, meaning that trying to import a sub package with a

                        import my_sub_package
                         
                        @@ -349,7 +349,7 @@ the book.

                        -

                        Version specific imports

                        +

                        Version specific imports

                        Sometimes it is necessary to use an import statement that is explicitly related to a specific Python version, e.g. due to a package change between Python 2 and 3. You can do this by first trying the Python 3 import and if that doesn’t work out trying the Python 2 import instead:

                        @@ -370,7 +370,7 @@
                        -

                        Integer division

                        +

                        Integer division

                        When you divide two integers in Python 2 you’ll get back an integer, rounded down. In Python 3 however you’ll now get a float. That means you might have to revisit some places where you do integer divisions and might rely on the result to be an integer as well (e.g. when using a calculation result as an index in an array or something like that).

                        @@ -383,7 +383,7 @@ and in the cheat sheet.

                        -

                        Iterators instead of list from map, filter, zip

                        +

                        Iterators instead of list from map, filter, zip

                        The built-in functions map, filter and zip return a list with their result in Python 2. In Python 3 they have been switched to returning iterators. That can cause trouble with code handling the result (e.g. if you try to return it as part of a JSON response on an API endpoint).

                        @@ -400,7 +400,7 @@
                        -

                        Checklist

                        +

                        Checklist

                        As a summary, follow this checklist to migrate your plugin to be compatible to both Python 2 and 3:

                          @@ -432,7 +432,7 @@
                        -

                        Further reading

                        +

                        Further reading

                        See also

                        diff --git a/master/plugins/viewmodels.html b/master/plugins/viewmodels.html index 497bc74ea..f35fde118 100644 --- a/master/plugins/viewmodels.html +++ b/master/plugins/viewmodels.html @@ -1,26 +1,26 @@ - + - + Viewmodels — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + @@ -142,8 +142,8 @@
                        -

                        Viewmodels

                        -
                        +

                        Viewmodels

                        +
                        +

                        When implementing frontend components, you’ll sooner or later want to define your own KnockoutJS view models in order to provide custom functionality.

                        -

                        Registering custom viewmodels

                        +

                        Registering custom viewmodels

                        Register your view model with OctoPrint’s web app by pushing a config object unto the global array OCTOPRINT_VIEWMODELS.

                        Possible properties in this config object are:

                        @@ -216,7 +216,7 @@ and optional dependencies cannot be specified with this format. It should be considered deprecated. Still, an example of how that would look in practice is provided here as well:

                        -
                        Listing 38 Old tuple-based configuration format, consider this deprecated
                        +
                        Listing 38 Old tuple-based configuration format, consider this deprecated
                        $(function() {
                             function MyCustomViewModel(parameters) {
                                 var self = this;
                        @@ -239,7 +239,7 @@
                         
                        -

                        Dependencies

                        +

                        Dependencies

                        OctoPrint will try to inject all view model dependencies requested by your view model. In order to do this it will perform multiple passes iterating over all registered view models and collecting the necessary dependencies prior to construction. Circular dependencies (A depends on B, B on C, C on A) naturally cannot be resolved and will cause an @@ -298,7 +298,7 @@ config object, plus any configured additionalNames.

                        -

                        Callbacks

                        +

                        Callbacks

                        OctoPrint’s web application will call several callbacks on all registered view models, provided they implement them. Those are listed below:

                        @@ -427,9 +427,9 @@
                        -

                        Lifecycle diagrams

                        +

                        Lifecycle diagrams

                        -

                        Web interface startup

                        +

                        Web interface startup

                        sequenceDiagram participant Main @@ -513,7 +513,7 @@ deactivate Main

                        -

                        Web interface reconnect

                        +

                        Web interface reconnect

                        sequenceDiagram participant onServerConnect diff --git a/master/py-modindex.html b/master/py-modindex.html index c4456eca0..38e7e54d4 100644 --- a/master/py-modindex.html +++ b/master/py-modindex.html @@ -1,25 +1,25 @@ - + Python Module Index — OctoPrint master documentation - - - + + + - - - - - - - + + + + + + + diff --git a/master/search.html b/master/search.html index c5242e23f..e7c03f6e6 100644 --- a/master/search.html +++ b/master/search.html @@ -1,12 +1,12 @@ - + Search — OctoPrint master documentation - - - + + + @@ -14,13 +14,13 @@ - - - - - - - + + + + + + + diff --git a/master/searchindex.js b/master/searchindex.js index cc961e543..339078acf 100644 --- a/master/searchindex.js +++ b/master/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "terms": {"avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "system": [0, 2, 3, 5, 10, 11, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "Will": [0, 4, 7, 9, 10, 13, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 80, 82, 86, 92, 95], "recent": [0, 23, 33, 83, 86, 95], "credenti": [0, 4, 23, 58, 83, 95], "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 83, 85, 88, 90, 92, 95, 96], "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "assign": [0, 2, 4, 33, 48, 57, 61, 92], "subgroup": [0, 2], "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "409": [0, 3, 6, 9, 10], "conflict": [0, 3, 6, 9, 10], "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 42, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "doe": [0, 2, 3, 6, 9, 10, 13, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "individu": [0, 16, 37, 39, 42, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "record": [0, 4, 16, 25, 37, 47, 82, 95], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "usernam": [0, 4, 23, 25, 33, 47, 58, 70, 76], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "activ": [0, 2, 3, 4, 6, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "fals": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "deactiv": [0, 4], "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 83, 84, 85, 86, 90, 92, 94, 95, 97], "properti": [0, 2, 3, 9, 10, 13, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 82, 83, 86, 90, 92, 95, 96], "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "presenc": [0, 4, 33, 37, 82, 95], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "t": [0, 3, 4, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "403": [0, 4, 13, 31, 83], "forbidden": [0, 4, 13, 31], "mismatch": [0, 4, 46], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 83, 84, 86, 92, 95], "person": [0, 2, 33, 94], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "apikei": [0, 2, 4, 11, 13, 57, 58, 62, 70, 76, 83, 92], "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "kei": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "dev": [1, 37, 41, 42, 56, 79, 84, 90], "ttyacm0": [1, 37, 84], "250000": [1, 84], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "_default": [1, 10, 37, 82], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "230400": 1, "115200": [1, 37, 92], "57600": 1, "38400": 1, "19200": 1, "9600": 1, "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "portprefer": [1, 81], "baudrateprefer": [1, 81], "printerprofileprefer": 1, "autoconnect": [1, 37, 59, 79, 81, 82], "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "reconnect": [1, 32, 62, 70, 93], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "prefer": [1, 37, 42, 62, 81, 82, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 88, 92, 97], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "new": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 16, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 39, 41, 42, 45, 47, 48, 49, 50, 52, 54, 55, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "automat": [1, 3, 9, 23, 24, 33, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "configur": [1, 2, 4, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "fake_ack": [1, 79, 81], "fake": [1, 59, 81, 95], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "got": [1, 4, 23, 37, 47, 90, 92, 95], "lost": [1, 46, 47, 81], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "stall": [1, 92], "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "emerg": [1, 9, 21, 47, 82], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "investig": [1, 47], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "symptom": 1, "solver": 1, "my_printer_profil": 1, "fakeack": [1, 59, 62], "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "autodetect": [1, 24, 37, 47, 82, 92], "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textual": [2, 6], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "few": [2, 41, 52, 90, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "sdreadi": [2, 9, 81], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "redund": [2, 90], "unrecover": [2, 47], "occur": [2, 9, 15, 17, 47, 90], "readi": [2, 4, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "closedorerror": [2, 9, 81], "possibli": [2, 92, 95], "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "null": [2, 9, 19, 37, 46, 97], "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "unix": [2, 31, 83], "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "enumer": [2, 9, 82], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "transmit": [2, 83, 97], "ratio": [2, 46, 82], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "estimatedprinttim": [2, 3, 6, 78, 81], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "estim": [2, 38, 78, 79, 81, 82, 93], "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "lastprinttim": [2, 81], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "mm": [2, 3, 9, 10, 66, 78, 81, 86], "volum": [2, 3, 6, 10, 51, 52, 78, 81], "cm\u00b3": [2, 78], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "filepo": [2, 6, 81], "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "printtim": [2, 6, 37, 79, 81, 82, 92], "spent": 2, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95], "linear": [2, 37, 82], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "approxim": [2, 48], "calcul": [2, 37, 82, 83, 86, 95, 96], "after": [2, 3, 6, 9, 11, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "stabil": 2, "averag": [2, 37, 82], "total": [2, 37, 57, 82, 90], "past": [2, 17, 23, 37, 47, 82, 96], "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "mix": [2, 37, 82, 95], "mixtur": [2, 37, 82], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96], "gco": [2, 3, 51, 61], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "anywher": 2, "fit": [2, 83, 95], "ascii": [2, 37, 82, 86], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "potenti": [2, 10, 41, 42, 70, 80], "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 86, 90, 95], "unicod": [2, 37, 78, 82, 93], "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "turtl": 2, "a_turtle_turtl": 2, "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "subfold": [2, 3, 61, 78, 90], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "machinecod": [2, 3, 47, 78, 81, 92], "Or": [2, 48], "children": [2, 3, 37, 51, 61, 78, 79, 82], "node": [2, 47, 49, 78, 90], "popul": [2, 57, 78, 83, 90, 95], "typepath": [2, 3, 78], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "tree": [2, 13, 42, 61, 92, 95], "stl": [2, 3, 11, 47, 78, 95], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "recurs": [2, 3, 61, 78, 86, 90], "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "md5": 2, "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "sdcard": [2, 3, 11, 47, 61, 81, 92], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 81, 83, 85, 90, 95, 96, 97], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "ref": [2, 3, 31], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "gcodeanalysi": [2, 3, 37, 79, 82], "previou": [2, 4, 11, 52, 90, 97], "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "dimens": [2, 78], "depth": [2, 10, 51, 61, 78, 81, 96], "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "width": [2, 10, 51, 78, 81, 90, 95], "printingarea": [2, 78], "area": [2, 10, 46, 78], "maxx": [2, 78], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "maxi": [2, 78], "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "maxz": [2, 78], "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "minx": [2, 78], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "mini": [2, 78], "minz": [2, 78], "travelarea": [2, 78], "bound": [2, 10, 78, 81, 90, 95, 97], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "traveldimens": [2, 78], "travel": [2, 9, 78], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 96], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "failur": [2, 3, 17, 37, 47, 80, 92, 95], "fail": [2, 3, 9, 17, 23, 24, 33, 42, 47, 74, 81, 83, 92, 96, 97], "averageprinttim": 2, "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 82, 83, 84, 86, 92, 97], "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "implicit": [2, 95, 97], "inherit": [2, 25, 95, 96], "danger": [2, 37, 51, 82, 92], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "high": [2, 14, 22, 37, 49, 78, 82], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 81, 82, 83, 85, 92, 95, 96, 97], "default_group": [2, 92], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "changeabl": 2, "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "toggleabl": 2, "role": [2, 48, 76, 84, 92, 95, 97], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "space": [3, 31, 33, 37, 40, 82], "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "overrid": [3, 14, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "refresh": [3, 9, 42, 66, 82, 89, 97], "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "bandwidth": [3, 83], "restrict": [3, 15, 23, 92, 95], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "files_list": 3, "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "whistle_v2": [3, 6], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "1468987": [3, 6], "1378847754": [3, 6], "1188": 3, "810": [3, 6], "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "36": [3, 6, 90], "23": [3, 40, 46, 48, 92, 95], "1387144346": 3, "whistle_": 3, "foldera": 3, "whistle_v2_copi": 3, "free": [3, 31, 33, 46, 56, 86, 95, 96], "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "2gb": 3, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "1234": [3, 25, 74], "test2": 3, "1334": 3, "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "nor": [3, 11, 83, 85, 88, 92], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "most": [3, 7, 33, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "multipart": [3, 4, 7, 57, 83, 92], "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "foldernam": 3, "creation": [3, 16, 17, 24, 49, 61, 83, 85], "201": [3, 14, 23], "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "files_upload": 3, "boundari": [3, 81], "webkitformboundarydec2e3iwbtv1pwmc": 3, "430": 3, "disposit": [3, 4, 83], "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "octet": [3, 57, 83], "m109": [3, 46], "t0": [3, 46, 52, 82, 92], "s220": [3, 46], "000000": 3, "g21": 3, "g90": [3, 37, 51, 52, 82, 92], "done": [3, 21, 23, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 83, 86, 90, 92, 95, 96, 97], "effectiveselect": 3, "effectiveprint": 3, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "rfc": [3, 4], "5987": [3, 4], "263": 3, "20mm": [3, 10], "c3": 3, "bcml": 3, "a4ut": 3, "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "umlaut": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "246": 3, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "basic": [3, 4, 11, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "parent": [3, 61, 78, 80, 83, 95], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 83, 86, 90, 92, 95, 96], "implicitli": [3, 33], "userdata": [3, 47, 61], "interpret": [3, 9, 36, 42, 81, 92], "along": [3, 78], "metadata": [3, 47, 77, 78, 80, 87, 88, 90, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "pars": [3, 17, 36, 47, 77, 80, 83, 92, 95], "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "busi": [3, 37, 46, 82], "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "415": 3, "unsupport": [3, 17], "media": [3, 90], "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "500": [3, 15, 17, 44, 83, 92], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "direct": [3, 4, 10, 23, 51, 82, 86], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "files_select": 3, "unselect": [3, 81], "isn": [3, 23, 48, 90, 96], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "background": [3, 11, 90, 96], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "engin": [3, 52, 80, 81, 95], "cura": [3, 13, 14], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "center": [3, 10, 79, 81, 85, 95], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 85, 86, 90, 92, 95], "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "strip": [3, 78, 86, 92], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "often": [3, 11, 34, 45, 95], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "diamet": [3, 10, 52, 78, 81], "infil": 3, "finish": [3, 5, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "suppos": [3, 15, 88, 92, 96], "anymor": [3, 9, 55, 90, 92], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "entir": [3, 48, 92], "202": [3, 23], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "abridg": [3, 14], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "destin": [3, 11, 56, 61, 79, 85, 95], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "some_fold": [3, 78], "some_model": 3, "first_tri": 3, "my_custom_reprap": 3, "high_qual": [3, 14], "75": [3, 9], "fill_dens": 3, "15": [3, 37, 82], "some_other_fold": 3, "and_a_subfold": 3, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 83, 92, 95, 97], "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "files_delet": 3, "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "lack": [3, 9, 11, 42, 52], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "fulfil": 3, "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "global": [4, 23, 57, 62, 77, 80, 81, 82, 83, 86, 88, 90, 91, 92, 97], "app": [4, 23, 33, 37, 42, 62, 79, 82, 83, 97], "workflow": [4, 30, 62, 95], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 51, 66, 70, 82, 84, 85, 90, 92, 95], "advis": [4, 37, 81, 82, 92], "fallback": [4, 47, 80, 83, 86, 95], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "rare": 4, "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "bearer": 4, "token": [4, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "purpos": [4, 37, 80, 90, 92, 95], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "variant": [4, 33, 40, 62, 89, 92], "treat": 4, "unauthent": 4, "anonym": [4, 30, 33, 48, 56, 83, 95], "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 96], "deni": [4, 23, 48], "outright": [4, 33, 54], "11": [4, 22, 26, 37, 42, 83, 86, 90, 92, 95], "up": [4, 11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "webinterfac": [4, 23], "work": [4, 6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "under": [4, 6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "circumst": [4, 24, 92], "inject": [4, 11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "html": [4, 37, 42, 44, 82, 90, 92, 95], "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 96, 97], "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "caus": [4, 26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "confus": [4, 40, 90, 96], "alarm": 4, "among": [4, 10, 37, 77, 81, 82, 86, 92, 94, 95], "didn": [4, 15, 44, 80], "contribut": [4, 43], "secur": [4, 26, 37, 48, 79, 82, 83], "platform": [4, 42, 48, 56, 77, 79, 80, 92, 95], "meaning": 4, "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "final": [4, 33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "abandon": 4, "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "password": [4, 25, 33, 37, 58, 70, 73, 82, 83, 91], "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "revok": [4, 23], "charset": [4, 83], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "decod": [4, 17, 78, 86, 92], "iso": [4, 47], "8859": 4, "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 84, 86, 90, 92, 95], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "websit": [4, 22, 56, 78, 80, 90], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "share": [4, 10, 46, 77, 81, 86, 94, 95], "cor": [4, 83, 92], "question": [4, 9, 23, 33, 83, 92], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "localhost": [4, 37, 82], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "allowcrossorigin": [4, 37, 79, 82], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "yml": [4, 90], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 83, 86, 92, 95, 96], "checkbox": 4, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "xmlhttprequest": [4, 57], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "8081": 4, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "imposs": [4, 9, 90], "authent": [4, 9, 11, 23, 33, 37, 47, 48, 57, 58, 82, 92, 95], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "reus": [4, 33, 90], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "therefor": [4, 90, 95, 97], "attack": 4, "affect": [4, 32, 83, 96], "doubl": [4, 25, 40, 83], "submit": [4, 89], "mitig": 4, "strategi": [4, 43, 56, 96], "recoveri": [4, 55, 82, 92], "csrf_token_p": 4, "_r": 4, "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "side": [4, 37, 46, 83, 95], "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "toward": [4, 81, 96], "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "reli": [4, 37, 57, 82, 95, 96], "rather": [4, 37, 82], "csrf_token": 4, "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 95], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "ajax": [4, 37, 57, 62, 82], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "sever": [4, 47, 96, 97], "framework": [4, 9], "owasp": 4, "cheatsheet": 4, "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "octoprintcli": [4, 23, 30, 56, 62], "getcooki": [4, 57, 62], "gethead": 4, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "construct": [4, 25, 78, 80, 84, 92, 95, 97], "creat": [4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "passiv": [4, 11, 58, 97], "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "401": 4, "unauthor": [4, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "wrong": [4, 23, 48, 52, 57, 92], "bug": [4, 9, 26, 41, 42, 45, 54, 55], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "rememb": [4, 37, 58, 82, 90, 95, 97], "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "sens": [4, 40, 47, 48, 86, 90, 92, 95], "currentus": 4, "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "_is_external_cli": 4, "extern": [4, 33, 37, 42, 45, 82, 95], "network": [4, 25, 37, 48, 82], "guest": [4, 48, 97], "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "protect": [5, 82, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "logout": [5, 11, 58, 62, 92], "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 85, 90, 92, 95, 97], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "pack": [5, 55, 62, 64, 90], "chamber": [5, 10, 46, 66, 81], "arbitrari": [5, 47, 60, 80, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "regener": [5, 11, 37, 82], "wide": [5, 42, 68], "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "execut": [5, 17, 33, 37, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "unrend": [5, 37, 57, 72, 82], "variou": [5, 25, 33, 34, 35, 37, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "common": [5, 40, 48, 52, 56, 80, 91, 93], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "toggl": 6, "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 85, 86, 93], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "stai": [6, 40, 51, 92, 96], "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "earlier": [6, 37, 42, 77, 82, 88, 90], "iter": [6, 52, 78, 83, 92, 93, 95, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 82, 90, 92, 95, 96], "dedic": [6, 23, 48], "seem": [6, 37, 42, 82, 90, 96], "clumsi": 6, "chosen": [6, 40], "prior": [6, 48, 57, 78, 81, 92, 95, 97], "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "precondit": 6, "8811": 6, "tool0": [6, 9, 66, 78, 81], "2298468264184775": 6, "337942": 6, "276": 6, "912": 6, "offlin": [6, 47, 51, 81, 82], "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "exhaust": [6, 48, 53], "language_pack": 7, "_core": 7, "some_plugin": [7, 33, 37], "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "de": [7, 87, 90], "locale_displai": 7, "deutsch": 7, "locale_english": 7, "german": [7, 90], "last_upd": 7, "1474574597": 7, "gina": [7, 90], "h\u00e4u\u00dfg": 7, "italiano": 7, "italian": 7, "1470859680": 7, "transifex": 7, "team": [7, 33], "zip": [7, 24, 32, 33, 54, 90, 93], "tar": [7, 32], "gz": [7, 32, 83], "tgz": [7, 32], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "translat": [7, 55, 79, 82, 90, 95], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "display": [7, 82, 85], "meta": [7, 41, 80, 85, 95], "english": [7, 90], "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "former": [8, 47, 65], "adapt": [8, 65, 78, 86], "soon": [8, 65, 90], "mostli": [9, 13, 83], "achiev": [9, 37, 48, 89, 90, 96, 97], "reflect": [9, 13, 17, 66, 90], "compon": [9, 13, 33, 37, 39, 42, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "know": [9, 40, 90, 95, 96, 97], "jog": [9, 62, 66, 79, 81, 92], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "ax": [9, 10, 51, 66, 81], "offset": [9, 10, 11, 66, 81], "hotend": [9, 46, 52, 66, 81, 82], "histori": [9, 66, 81, 97], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 42, 45, 48, 56, 66, 93, 96], "besid": [9, 89, 90], "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "wonder": 9, "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "webserv": [9, 92], "thread": [9, 37, 81, 82, 86, 92], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "program": [9, 42, 90], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "backend": [9, 83, 90, 92, 95], "sleep": [9, 46, 86, 92], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "flask": [9, 56, 79, 91, 92, 95], "wsgi": [9, 83], "synchron": 9, "natur": [9, 97], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "wasn": 9, "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "respond": [9, 15, 17, 46, 81, 83], "repli": [9, 17, 46], "idea": [9, 48, 90, 92], "thank": [9, 42, 43, 52], "larg": [9, 37, 82], "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "particular": [9, 81, 95, 97], "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "pretti": [9, 48, 89, 90, 96], "much": [9, 48, 89, 90, 92, 96], "hit": 9, "situat": [9, 81, 92, 96], "wors": 9, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "distinguish": [9, 37, 92], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "subscrib": [9, 11, 26, 82], "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "exclud": [9, 24, 37, 42, 66, 80, 82], "214": 9, "8821": 9, "220": [9, 46, 66, 92], "tool1": [9, 66, 78, 81], "25": [9, 10, 37, 82, 92], "50": [9, 66, 82, 92], "221": 9, "70": 9, "1395651928": 9, "1395651926": 9, "212": 9, "32": 9, "49": 9, "1123": 9, "comma": [9, 66], "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "ye": [9, 40, 96], "printhead": [9, 92], "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "axi": [9, 10, 11, 51, 66, 78, 81], "distanc": [9, 51, 81], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "append": [9, 36, 37, 57, 83, 90, 92, 95], "signifi": [9, 15, 80, 92, 95], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "feedrat": [9, 47, 52, 66], "factor": [9, 10, 11, 66, 81, 86], "movement": [9, 78], "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "10mm": [9, 51, 66], "5mm": [9, 66], "02mm": 9, "02": [9, 31, 92, 95], "feed": [9, 22, 32, 52, 81], "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "105": [9, 46], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "05": [9, 17, 82], "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "retract": [9, 16, 37, 52, 66, 81, 82], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 42, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "heater": [9, 37, 46, 48, 52, 81, 82], "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "neg": [9, 23, 86], "flowrat": [9, 66], "flow": [9, 81, 83], "extrus": [9, 10, 52, 81, 85], "125": 9, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "205": [9, 66], "3mm": 9, "95": 9, "outsid": [9, 40, 47, 80, 92, 96], "plu": [9, 37, 41, 85, 95, 97], "init": [9, 66, 80, 84], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "revers": [9, 37, 77, 78, 82], "won": [9, 32, 48, 87, 91, 95], "monitor_termin": 9, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "consequ": [9, 47], "mintemp": 9, "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "omg": 9, "kill": [9, 46], "faq": [9, 47, 56], "n2685": 9, "g1": [9, 47, 51, 52, 92], "x147": 9, "748": 9, "y108": 9, "411": 9, "e627": 9, "83763": 9, "85": 9, "recv": [9, 11, 37, 82], "n2686": 9, "x148": 9, "522": 9, "286": 9, "8963": 9, "98": 9, "n2687": 9, "866": 9, "174": 9, "92338": 9, "87": 9, "n2688": 9, "x149": 9, "494": 9, "y107": 9, "868": 9, "97566": 9, "91": 9, "n2689": 9, "731": 9, "779": 9, "9946": 9, "96": 9, "n2690": 9, "69": [9, 90], "032": 9, "e628": 9, "01378": 9, "101": [9, 90], "n2691": 9, "252": 9, "y112": 9, "3785": 9, "107": 9, "n2692": 9, "x145": 9, "082": 9, "253": 9, "54089": 9, "93": 9, "monitor": [9, 92], "interfer": [9, 49], "m106": [9, 37, 51, 52, 88, 92], "m18": [9, 52], "s0": [9, 21, 37, 52, 82, 92], "mutual": [9, 51, 82], "exclus": [9, 51, 79, 82], "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stat": [9, 11, 48], "histor": 9, "datapoint": 9, "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "pair": [9, 40, 52, 57, 60, 66, 86, 95], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "variabl": [9, 24, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "ad": [9, 10, 22, 33, 37, 47, 48, 49, 50, 51, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "org": [9, 17, 32, 33, 34, 37, 42, 54, 56, 74, 82, 90], "link": [9, 32, 33, 47, 78, 90, 92, 95], "physic": [10, 37, 48, 82], "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "reprap": [10, 49], "formfactor": [10, 81], "rectangular": [10, 79, 81], "lowerleft": [10, 79, 81], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "6000": 10, "invert": [10, 81], "300": [10, 17, 22, 37, 83, 92], "my_profil": 10, "my": [10, 23, 37, 57, 88, 96], "basedon": [10, 67], "some_profil": 10, "cool": [10, 47, 51], "some_other_profil": 10, "circular": [10, 79, 81, 97], "150": [10, 33], "21": [10, 46, 92, 95], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "partial": [10, 13, 73, 92], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "collect": [10, 40, 77, 90, 95, 96, 97], "overwritten": [10, 14, 70, 78, 85, 86, 90], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "titl": [10, 22, 37, 82, 95], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "red": [10, 22, 37, 51, 79, 82, 95], "orang": [10, 37, 79, 82], "yellow": [10, 22, 37, 79, 82], "green": [10, 37, 79, 82], "blue": [10, 37, 79, 82], "black": [10, 13, 42], "custom_box": [10, 81], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86], "exceed": 10, "min_x": 10, "smaller": [10, 92], "max_x": 10, "larger": [10, 39, 92], "min_i": 10, "max_i": 10, "min_z": 10, "max_z": 10, "nozzlediamet": [10, 81], "nozzl": [10, 29, 46, 52, 81], "sharednozzl": [10, 46, 52, 81, 82], "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "defaultextrusionlength": [10, 81], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "25mm": 10, "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "quo": [11, 14], "streamlin": [11, 14], "consumpt": [11, 14, 89], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "drop": [11, 13, 14, 46, 82], "email": [11, 13, 14, 33, 90], "real": [11, 46, 83, 86, 92], "exchang": [11, 23], "sockj": [11, 56, 62, 70, 79, 93], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "3rd": 11, "establish": [11, 17, 37, 81, 82, 92], "reauthrequir": 11, "reauthent": [11, 37, 82], "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "stale": [11, 23], "suffic": [11, 52, 92], "accumul": 11, "twice": [11, 90], "flood": [11, 96], "printfail": [11, 47], "movierenderdon": 11, "determin": [11, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "With": [11, 52, 55, 85, 96], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "cap": 11, "wish": [11, 37, 82, 87, 90, 92], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "subscript": [11, 37, 47, 79, 82], "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "kind": [11, 48, 92, 95, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "obtain": [11, 23, 33, 43, 51, 82, 90], "someus": [11, 33, 37, 90], "lgz0trf8by": 11, "roundtrip": 11, "throttl": [11, 33, 34, 46, 62, 81], "fast": [11, 70], "signal": [11, 21, 23, 49, 92, 95], "multipli": [11, 66], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "500m": [11, 70], "produc": [11, 21, 83, 86, 90, 95], "maxim": [11, 70], "branch": [11, 33, 43, 45, 54, 56, 89, 95], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "display_vers": [11, 95], "plugin_hash": 11, "config_hash": [11, 79, 84], "currentz": [11, 81], "temp": [11, 81], "plot": 11, "resend": [11, 37, 46, 47, 82, 92], "statist": [11, 37, 82], "additional_state_data": [11, 93], "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "source_loc": [11, 95], "moment": [11, 17, 57, 78, 92], "source_path": [11, 47, 85, 95], "dest_loc": 11, "dest_path": [11, 85], "safemod": [12, 55], "incomplete_startup": 12, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 90, 95], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "settings_read": 13, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "sort": [13, 37, 42, 80, 82, 92, 95], "changelog": [13, 82], "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "thirdparti": [13, 37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_id": 13, "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "plugin_nam": [13, 54, 90], "plugin_announc": [13, 37, 82], "announc": [13, 30, 56], "navbar": [13, 37, 79, 82, 90, 95], "systemmenu": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "section_print": [13, 37, 82], "terminalfilt": [13, 37, 79, 82], "gcodescript": [13, 37, 47, 52, 82, 92], "section_featur": [13, 37, 82], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "accesscontrol": [13, 37, 48, 79, 82, 93], "gcodevisu": [13, 37], "section_octoprint": [13, 37, 82], "plugin_log": [13, 37, 82], "plugin_softwareupd": [13, 37, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "section_plugin": [13, 37], "plugin_action_command_prompt": 13, "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "action_command_prompt": [13, 21], "plugin_curalegaci": 13, "legaci": [13, 14, 77, 90, 96], "curalegaci": [13, 14, 37], "sidebar": [13, 20, 37, 79, 82, 95, 97], "plugin_printer_safety_check": 13, "safeti": [13, 28, 34], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "printer_safety_check": [13, 34], "gcodeview": [13, 29, 37], "viewer": [13, 30, 38, 48, 56, 97], "userset": [13, 37, 79, 82], "beta": [13, 89], "sizethreshold": [13, 29, 37], "mobilesizethreshold": [13, 29, 37], "timelapsetmp": 13, "timelapse_tmp": [13, 37, 79, 82], "settingsplugin": [13, 90, 92, 93, 94], "subtre": [13, 78, 95], "portopt": 13, "baudrateopt": 13, "timeoutconnect": 13, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutdetect": 13, "timeoutcommun": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "temperaturetargetset": [13, 37, 79, 82], "timeoutsdstatu": 13, "sdstatu": [13, 37, 79, 82, 84], "maxtimeoutsidl": 13, "maxcommunicationtimeout": [13, 37, 79, 82], "idl": [13, 37, 79, 82], "maxtimeoutsprint": 13, "maxtimeoutslong": 13, "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "streamurl": 13, "snapshoturl": 13, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "ffmpegpath": 13, "ffmpeg": [13, 37, 47, 79, 82], "hand": [14, 32, 42, 48, 92, 95], "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "multi": [14, 52, 92], "displaynam": [14, 33, 79, 82], "qualiti": [14, 81], "medium_qu": 14, "medium": 14, "quick_test": 14, "bottom_layer_spe": 14, "bottom_thick": 14, "brim_line_count": 14, "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "layer": [14, 39, 40, 47, 48, 81, 85, 92], "skirt": 14, "layer_height": 14, "skirt_line_count": 14, "succe": [14, 70, 85], "anywai": 14, "incl": [14, 92], "samedevic": 14, "devic": [14, 25, 37, 48, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "strong": 15, "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "disrupt": [15, 54], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 96], "reboot": 15, "divid": [15, 37, 40, 81, 82, 96], "malform": 15, "zero": [15, 86], "expos": [15, 24, 33, 48, 91], "menu": [15, 37, 55, 82, 89, 90, 92], "programmat": [15, 95], "realli": [15, 33, 37, 48, 55, 82, 90], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "async": [15, 37, 83, 92], "timelapse_list": 16, "timelapse_delet": 16, "timelapse_manage_unrend": 16, "across": [16, 40, 46, 58, 97], "timelapse_admin": 16, "thumbnail": 16, "zchang": [16, 37, 47, 79, 82], "postrol": [16, 37, 79, 82], "roll": [16, 37, 82], "fp": [16, 37, 79, 82], "frame": [16, 17, 37, 47, 82, 92, 96], "video": [16, 17, 37, 82, 95], "retractionzhop": [16, 37, 79, 82], "hop": [16, 37, 82], "mindelai": 16, "interv": [16, 24, 34, 37, 46, 79, 82, 86], "vase": 16, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "shot": 16, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "check_typ": [17, 74], "dir": [17, 37], "check_access": [17, 74], "r": [17, 37, 74, 77, 80, 83, 92], "w": [17, 24, 46, 95], "allow_create_dir": 17, "check_writable_dir": 17, "writabl": [17, 78, 79], "small": [17, 42, 52, 92, 95, 96], "testballoon": 17, "txt": [17, 24, 25, 90, 95], "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "validssl": 17, "ssl": [17, 37, 82, 83], "199": 17, "299": 17, "redirect": [17, 30, 82, 83, 95], "399": 17, "client_error": 17, "499": 17, "server_error": 17, "599": 17, "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "base64": [17, 74], "content_type_whitelist": 17, "imag": [17, 37, 47, 74, 82, 95, 96], "plain": [17, 57, 83], "content_type_blacklist": 17, "togeth": [17, 51, 78, 82, 90], "broader": 17, "whitelist": [17, 86], "disallow": [17, 83], "png": [17, 47], "blacklist": [17, 37, 79, 80, 82, 86], "reach": [17, 51, 56, 92], "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "ip": [17, 25, 33, 37, 47, 48, 82, 83], "tcp": 17, "udp": [17, 74], "hostnam": [17, 37, 82, 91], "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "dn": [17, 25, 37, 82], "lookup": [17, 83], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "remot": [17, 33, 37, 47, 82, 90, 92], "lan": [17, 48], "subnet": [17, 37, 48, 82], "cidr": [17, 37, 82], "typeok": 17, "missing_fil": 17, "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "gif": [17, 74, 92], "r0lgodlhaqabaiaaaaaaap": 17, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "reachabl": [17, 25, 48, 74, 92, 95], "53": [17, 37, 74, 82, 90], "192": [17, 37, 48, 82], "168": [17, 37, 48, 82], "is_lan_address": 17, "16": [17, 33, 82, 92], "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "checktyp": 17, "overal": [17, 84], "inde": 18, "genuin": 18, "firstrun": [19, 37, 79, 82, 95], "were": [19, 47, 55, 78, 90, 92, 95, 96], "skip": [19, 29, 37, 82, 83, 95], "wizardplugin": [19, 93, 97], "on_wizard_finish": [19, 95], "seen": [19, 90, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "plugin_action_command_notification_show": 20, "These": [20, 37, 42, 51, 52, 82, 88, 95], "shown": [20, 37, 82, 95, 97], "popup": [20, 81], "panel": [20, 24, 37, 82, 95, 97], "clear": [20, 49, 90, 92], "plugin_action_command_notification_clear": 20, "enable_popup": 20, "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "hello": [20, 24, 37, 86, 92, 93, 95], "world": [20, 37, 86, 90, 92, 95], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "action_command_notif": 20, "choos": 21, "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "proceed": [21, 48, 90], "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "choic": [21, 39], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "enable_emergency_send": 21, "jump": 21, "queue": [21, 78, 86, 92, 94, 95, 96], "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "enable_sign": 21, "p1": 21, "m876": 21, "prompt_begin": 21, "prompt_choic": 21, "prompt_button": 21, "prompt_show": 21, "tell": [21, 42, 78, 88, 90, 92, 93], "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "prompt_end": 21, "unload": [21, 79, 80, 87, 88], "swap": 21, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 97], "complic": [21, 90], "runout": 21, "abort": [21, 23, 50, 78, 92, 95], "channel": [22, 26, 33, 41, 89], "rss": 22, "atom": 22, "notif": [22, 30, 33, 37, 55, 56, 82], "reader": 22, "preconfigur": [22, 83, 92], "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "uniqu": [22, 26, 29, 34, 81, 90, 95], "prioriti": [22, 37, 78, 82], "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "unus": [22, 23, 37, 82, 95], "act": [22, 33, 90, 92, 97], "enabled_channel": 22, "forced_channel": 22, "_import": 22, "sparingli": [22, 81, 88], "channel_ord": 22, "ttl": [22, 33, 37, 79, 82], "live": [22, 32, 33, 37, 82, 92, 96], "minut": [22, 33, 37, 82], "hour": [22, 89, 92], "display_limit": 22, "summary_limit": 22, "interact": [23, 37, 49, 66, 82, 90, 97], "behalf": [23, 92], "administr": [23, 42, 48, 90, 92, 95], "ask": [23, 82], "blown": [23, 51, 52, 82], "light": [23, 40], "weight": [23, 37, 82], "implementat": 23, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "auth_dialog": 23, "At": [23, 44, 57, 78], "appkei": [23, 82, 95], "fall": [23, 24, 92, 95, 96], "insensit": [23, 33, 83, 86], "grant": [23, 47, 48], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "app_token": 23, "user_token": 23, "plugin_appkeys_gr": 23, "plugin_appkeys_admin": [23, 92], "belong": [23, 33, 85, 90, 95], "fresh": [23, 37, 82, 83, 90], "awesom": [23, 90, 92, 95], "app_id": 23, "user_id": [23, 83], "api_kei": 23, "abcdef1234567890": 23, "revoc": 23, "owner": [23, 47], "who": [23, 47, 48, 83, 95], "getkei": 23, "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "getallkei": 23, "generatekei": 23, "revokekei": 23, "revokekeyforapp": 23, "requestforus": 23, "checkdecis": 23, "conveni": [23, 80, 84, 90], "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "goe": [23, 52, 92], "reject": [23, 37, 57, 82], "some_us": 23, "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "our": [23, 78, 83, 88, 90, 92, 95, 97], "u": [23, 25, 42, 90], "restor": [24, 48], "easi": [24, 33, 40, 90, 95, 96], "migrat": [24, 41, 56, 84, 93, 95], "newli": [24, 42, 48, 80, 89], "loss": 24, "As": [24, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "adher": [24, 41, 42, 45], "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "restore_unsupport": 24, "environ": [24, 33, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "octoprint_backup_restore_unsupport": 24, "touch": [24, 25, 32, 37, 48, 56, 82, 90], "best": [24, 81, 90, 92, 96], "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "subsystem": [24, 80, 88, 89, 94, 95], "exit": [24, 33, 36, 37, 92, 96], "combin": [24, 48, 83, 92, 95], "cronjob": 24, "cli": [24, 38, 56, 79, 93], "plugin_backup_backup_cr": 24, "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "additional_excludes_hook": 24, "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 83, 84, 85, 86, 88, 90, 92, 95], "kwarg": [24, 32, 33, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 95], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "react": [24, 54, 80, 87, 90, 92, 95], "foo": [24, 83, 86, 92, 95], "o": [24, 37, 43, 46, 82, 86, 92, 95], "io": [24, 26, 78, 83], "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "backupexcludetestplugin": 24, "octoprintplugin": [24, 79, 80, 92, 94, 95], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "join": [24, 78, 83, 95], "get_plugin_data_fold": [24, 79, 80, 94, 95], "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_hooks__": [24, 32, 33, 88, 92], "before_backup_hook": 24, "after_backup_hook": 24, "before_restore_hook": 24, "after_restore_hook": 24, "export": [24, 32, 91], "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "backupplugin": 24, "create_backup_help": 24, "get_help": [24, 79, 80, 91], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "claus": 24, "delete_backup_help": 24, "examplebackup": 24, "silent": [24, 37, 78, 82, 83, 84], "verifi": [24, 83, 89, 95], "unavail": 24, "offici": [24, 32, 54, 56, 90, 93, 96], "homepag": [24, 90], "reinstal": [24, 33, 90], "latest": [24, 33, 42, 49], "ssdp": [25, 91], "upnp": 25, "known": [25, 37, 47, 50, 52, 82, 92, 95], "bonjour": 25, "avahi": 25, "microsoft": 25, "icon": [25, 32, 33, 95, 97], "explor": 25, "frontend": [25, 51, 87, 92, 93, 95, 97], "safari": 25, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89], "brows": [25, 42, 91], "scan": 25, "discov": [25, 80, 90], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "publicport": 25, "public": [25, 33, 48, 56, 90], "pathprefix": 25, "usessl": 25, "httpusernam": 25, "httppassword": 25, "upnpuuid": 25, "uuid": 25, "autogener": 25, "vendor": [25, 32], "vendorurl": 25, "obligatori": [25, 95], "txt_record": 25, "publish": [25, 33, 89, 90, 91, 95], "eth0": [25, 48], "443": 25, "_someservic": 25, "field1": 25, "value1": [25, 40, 86], "field2": 25, "value2": [25, 86], "scheme": [25, 37, 41, 82, 83], "sentri": 26, "gather": 26, "especi": [26, 40, 90, 95, 96], "valuabl": [26, 34], "candid": [26, 29, 33, 34, 92], "rc": [26, 33, 41], "stabl": [26, 29, 33, 37, 41, 42, 82], "kindli": 26, "servic": [26, 30, 37, 48, 95, 96], "complianc": 26, "privaci": [26, 34, 37, 80, 88], "polici": [26, 34, 80, 88], "enabled_unreleas": 26, "unreleas": [26, 29], "unique_id": [26, 34], "errortrack": 26, "project": [27, 28, 42, 90, 96], "cycl": [27, 28, 47, 52], "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90], "formerli": [28, 31], "alex": 29, "ustyantsev": 29, "ever": [29, 35, 37, 48, 81, 82, 95], "2013": [29, 35, 48], "extract": [29, 35, 80, 92, 95], "skipuntilthi": 29, "search": 29, "prime": [29, 52], "preview": [29, 41], "backup": [30, 39, 48, 56, 79, 84, 93, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "discoveri": [30, 39, 56, 88, 91], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "1393158814": 31, "43712": 31, "1392628936": 31, "2014": 31, "17": [31, 90, 95, 96], "13205": 31, "1798419": 31, "12237201408": 31, "listlog": 31, "deletelog": 31, "downloadlog": 31, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "uninstal": [32, 34, 55, 80, 87], "whl": 32, "archiv": [32, 33, 54, 90], "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "jneilliii": 32, "bedlevelvisu": 32, "master": [32, 33, 41, 42, 54, 90, 95], "eyal0": 32, "printtimegeniu": 32, "logic": [32, 51, 80, 82, 83, 95], "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "littl": [32, 33, 90, 95], "wrench": [32, 33], "upper": [32, 33, 70, 92, 95], "corner": [32, 33, 81, 90], "repository_ttl": 32, "1440": [32, 33], "notic": [32, 90, 95], "notices_ttl": 32, "360": [32, 33], "shouldn": [32, 33, 48, 90], "pip_arg": 32, "pip_force_us": 32, "dependency_link": [32, 90], "hidden": [32, 42, 77, 79, 80, 84, 97], "plugin_pluginmanager_install_plugin": 32, "source_typ": [32, 47], "plugin_pluginmanager_uninstall_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_disabled_plugin": 32, "reconnect_hooks_hook": 32, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "exampleplugin": 32, "some_custom_hook": 32, "some_other_custom_hook": 32, "notifi": [33, 57, 92, 95], "themselv": [33, 39, 88, 92, 95, 97], "switch": [33, 42, 51, 81, 90, 92, 96, 97], "git": [33, 42, 45, 54, 90, 95], "commit": [33, 41, 42, 45], "fire": [33, 47, 92, 95, 97], "navig": [33, 37, 82, 90, 95, 97], "therein": [33, 42, 92, 96], "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "target_vers": 33, "checkout": [33, 42, 90], "pi": [33, 48, 90, 96], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "raspberri": [33, 48, 90], "guid": [33, 42, 82, 96], "bleed": [33, 41], "edg": [33, 41, 46], "temporarili": [33, 95, 96], "internet": [33, 47, 48], "24h": 33, "pend": [33, 80, 86, 92], "leav": [33, 37, 82, 86, 90, 95], "reserv": [33, 41], "github_releas": 33, "foosel": 33, "repo": 33, "pip_command": 33, "cache_ttl": 33, "notify_us": 33, "pisupport": 33, "ignore_throttl": 33, "mb": [33, 39], "minimum_free_storag": 33, "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "check_overlay_url": 33, "update_check_overlai": 33, "6h": 33, "check_overlay_ttl": 33, "github_commit": 33, "regularli": [33, 54], "doc": [33, 37, 42, 48, 52, 82, 95], "en": [33, 82, 90], "pro": 33, "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_us": 33, "bitbucket_password": 33, "prereleas": 33, "prerelease_branch": [33, 89], "commitish": 33, "target_commitish": 33, "stable_branch": [33, 89], "prerelease_channel": 33, "stable_channel": 33, "versionad": 33, "release_compar": 33, "compar": [33, 83, 86, 92, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "comparison": 33, "pkg_resourc": 33, "parse_vers": 33, "newer": [33, 42, 92], "semant": [33, 45, 52, 90], "semantic_vers": 33, "packag": [33, 54, 87, 88, 90, 93, 94, 96], "unequ": 33, "api_us": 33, "privat": 33, "api_password": 33, "hint": [33, 90, 95, 96], "ssh": [33, 48], "accord": [33, 37, 47, 85, 90], "my_us": 33, "my_repo": 33, "git_commit": 33, "checkout_fold": 33, "pypi_releas": 33, "pypi": [33, 54], "httpheader": 33, "etag": [33, 83, 95], "header_url": 33, "avoid": [33, 42, 48, 92, 96], "duplic": [33, 95], "single_file_plugin": 33, "header_nam": 33, "header_method": 33, "header_prefix": 33, "jsondata": 33, "command_lin": 33, "stdout": [33, 39, 86], "python_check": 33, "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "always_curr": 33, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "current_vers": 33, "never_curr": 33, "local_vers": 33, "remote_vers": 33, "ing": [33, 96], "impli": 33, "pip_cwd": 33, "force_reinstal": 33, "guarante": [33, 61, 81, 90, 95], "re": [33, 81, 82, 92, 95], "update_script": 33, "update_fold": 33, "python_updat": 33, "sleep_a_bit": 33, "durat": [33, 37, 82], "countdown": 33, "meantim": 33, "correctli": [33, 37, 48, 52, 55, 82], "devel": [33, 37, 41, 42, 79, 82, 90], "someplugin": 33, "declar": [33, 77, 80, 87, 91, 92, 95, 97], "mainten": [33, 41, 45, 96], "tag": [33, 45, 81, 90, 92], "And": [33, 46, 48, 92], "gist": 33, "somegist": 33, "whenev": [33, 48, 55, 95], "alongsid": 33, "githubusercont": [33, 42], "gistid": 33, "my_plugin": 33, "bit": [33, 37, 40, 48, 90, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "pick": [33, 90, 92], "around": [33, 37, 51, 81, 82, 90, 95], "lot": [33, 37, 40, 57, 82, 92], "higher": [33, 70, 95], "pure": [33, 95], "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "plugin_softwareupdate_update_succeed": 33, "succeed": 33, "from_vers": 33, "to_vers": 33, "plugin_softwareupdate_update_fail": 33, "update_config_hook": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "signatur": [33, 57, 85, 86, 92], "get_latest": 33, "checker": [33, 94], "perform_upd": 33, "fiction": 33, "updateplugindemo": 33, "get_update_inform": [33, 88, 89], "_plugin_nam": [33, 79, 80, 94], "displayvers": 33, "_plugin_vers": [33, 79, 80, 94], "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "insight": [34, 90], "mani": [34, 37, 46, 66, 81, 82, 92], "metric": 34, "earli": 34, "better": [34, 37, 40, 90], "tailor": 34, "ping": 34, "15min": 34, "granular": [34, 48, 92, 95], "printjob": 34, "commerror": 34, "simul": [35, 37, 46], "quirk": 35, "heavili": 35, "virtual_print": [35, 46, 92], "manipul": [36, 49, 92], "append_valu": 36, "behind": [36, 37, 82, 90, 92], "insert_valu": 36, "insert": [36, 80], "remove_valu": 36, "appdata": [37, 39, 51, 52, 54, 55, 84, 89], "deviat": 37, "filebas": [37, 82], "usermanag": [37, 79, 80, 82, 83, 92, 94], "filebasedusermanag": [37, 82, 92], "userfil": [37, 79, 82], "localnetwork": [37, 48, 79, 82], "autologina": [37, 48, 79, 82], "autologinloc": [37, 48, 79, 82], "logon": [37, 82], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "googl": [37, 82], "haproxi": [37, 82], "wiki": [37, 49, 54, 90], "forwardfor": 37, "127": [37, 48, 74, 82, 88, 92], "24": [37, 82, 89, 92], "trust": [37, 48, 82, 83], "front": [37, 82, 96], "lock": [37, 81, 82], "down": [37, 47, 48, 78, 82, 84, 95, 96], "trustbasicauthent": [37, 79, 82], "caution": [37, 48, 82], "checkbasicauthenticationpassword": [37, 79, 82], "proxi": [37, 82, 83, 92], "trustremoteus": [37, 79, 82], "convei": [37, 82], "remoteuserhead": [37, 79, 82], "remote_us": [37, 82], "addremoteus": [37, 79, 82], "impact": [37, 82], "defaultreauthenticationtimeout": [37, 79, 82], "some_vers": 37, "pubkei": 37, "rsa": 37, "tweak": 37, "violet": [37, 79, 82], "transpar": [37, 82, 97], "acryl": [37, 82], "colortranspar": [37, 79, 82], "showinternalfilenam": [37, 79, 82], "prepend": [37, 57, 92], "plugin_pi_support": [37, 82], "plugin_firmware_check": 37, "plugin_gcodeview": [37, 82], "plugin_appkei": [37, 82], "plugin_backup": [37, 82], "plugin_track": [37, 82], "plugin_errortrack": [37, 82], "plugin_corewizard_acl": [37, 82], "critic": [37, 47, 79, 82], "defaultlanguag": [37, 79, 82], "reorder": 37, "plugin_": [37, 80, 90, 92, 95], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "redefin": [37, 39], "plugin_helloworld": 37, "fan": [37, 51, 52, 82, 88, 92], "layout": [37, 51, 79, 82], "horizont": [37, 51, 79, 82, 90], "parametric_command": 37, "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "255": [37, 48, 51, 82], "m107": [37, 51, 52, 88, 92], "rerend": [37, 82], "preemptiv": [37, 79, 82, 95], "stylesheet": [37, 79, 82, 90, 95], "product": [37, 80, 82, 92], "compil": [37, 81, 82, 90], "css": [37, 42, 79, 82, 92, 93, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "asset": [37, 62, 82, 90, 94, 95], "minifi": [37, 79, 82], "webasset": [37, 62, 79, 82, 90], "reduc": [37, 82, 90], "minif": [37, 82], "regardless": [37, 62, 82, 87, 92, 95, 96], "minify_plugin": [37, 79, 82], "clean_on_startup": [37, 79, 82], "anim": [37, 82], "showloadinganim": [37, 79, 82], "compens": [37, 82], "fact": [37, 40, 81, 82, 92], "accuraci": [37, 82], "statsweighinguntil": [37, 79, 82], "elaps": [37, 47, 81, 82, 92], "far": [37, 48, 52, 53, 82, 83, 90, 95], "validityrang": [37, 79, 82], "dumb": [37, 82], "forcedumbfromperc": [37, 79, 82], "forcedumbaftermin": [37, 79, 82], "30": [37, 82, 86, 90], "fluctuat": [37, 82], "stablethreshold": [37, 79, 82], "60": [37, 82, 86, 92], "shell": [37, 42], "consum": [37, 56, 92], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "lcd": [37, 82], "m115": [37, 46, 47, 92], "m117": [37, 46, 47, 51, 82, 92], "g28": [37, 47, 51, 82], "logfil": [37, 80, 97], "graph": [37, 82], "temperaturegraph": [37, 79, 82], "sdsupport": [37, 79, 82], "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "poll": [37, 82, 92], "watch": [37, 42, 79, 82, 95], "pollwatch": [37, 79, 82], "modelsizedetect": [37, 79, 82], "printcancelconfirm": [37, 79, 82], "uppercas": [37, 82, 92], "autouppercaseblacklist": [37, 79, 82], "m118": [37, 82], "g91": [37, 51, 52, 82, 92], "influenc": [37, 82, 92, 95], "g90influencesextrud": [37, 79, 82], "univers": [37, 82], "filesystem": [37, 82, 83], "fine": [37, 46, 57, 81, 82, 90, 96], "revert": [37, 47, 82], "older": [37, 41, 82, 95], "enforcereallyuniversalfilenam": [37, 79, 82], "temporari": [37, 82, 83, 85], "tmp": [37, 82, 83], "virtualsd": [37, 79, 82], "mount": 37, "quickli": [37, 55, 90, 96], "resid": [37, 80, 87, 92], "slicingprofil": [37, 79, 82, 85, 95], "pertain": 37, "saniti": [37, 82, 92], "maxextrud": [37, 79, 82], "throttle_normalprio": [37, 79, 82], "01": [37, 46, 82, 90], "throttle_highprio": [37, 79, 82], "mobil": [37, 90, 95], "2mb": 37, "2097152": [37, 39], "20mb": 37, "20971520": 37, "_disabl": [37, 82], "_forcedcompat": [37, 82, 96], "tier": [37, 82], "_sortingord": [37, 82], "some_hook": 37, "some_other_hook": 37, "some_set": [37, 40, 95], "some_other_set": 37, "defaultprofil": [37, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "beforeprintstart": [37, 52, 79, 82, 92], "afterprintcancel": [37, 52, 79, 82], "motor": [37, 48, 52, 82], "nm84": [37, 82], "disable_hotend": [37, 52, 82], "nm140": 37, "nm106": [37, 82], "afterprintdon": [37, 52, 79, 82], "afterprintpaus": [37, 52, 92], "beforeprintresum": [37, 52], "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "m104": [37, 52, 82], "endfor": [37, 51, 52, 82, 92], "decreas": [37, 70, 82], "experienc": [37, 39, 82], "sec": 37, "communicationbusi": [37, 79, 82], "dead": [37, 82], "max": [37, 51, 79, 80, 82, 83], "written": [37, 80, 82, 83, 96], "maxwritepass": [37, 79, 82], "glob": [37, 82, 92], "additionalport": [37, 79, 82], "myprintersymlink": 37, "baud": [37, 47, 82], "additionalbaudr": [37, 79, 82], "123456": 37, "becaus": [37, 40, 62, 82, 83, 95], "m0": [37, 47, 82], "m1": [37, 47, 82], "blockedcommand": [37, 79, 82], "m600": [37, 47, 82], "ignoredcommand": [37, 79, 82], "pausingcommand": [37, 79, 82], "m25": [37, 82], "dwell": [37, 47, 82], "longrunningcommand": [37, 79, 82], "g4": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "m400": [37, 82], "m226": [37, 47, 82], "checksum": [37, 46, 82], "m110": [37, 82, 92], "checksumrequiringcommand": [37, 79, 82], "handshak": [37, 82, 83], "n0": [37, 82], "simpli": [37, 42, 48, 52, 95, 96], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "hellocommand": [37, 79, 82], "disconnectonerror": [37, 79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "invalu": [37, 82], "logresend": [37, 79, 82], "waitforstartonconnect": [37, 79, 82], "capabl": [37, 46, 79, 82, 93], "waittoloadsdfilelist": [37, 79, 82], "linenumb": [37, 46, 82], "repeti": [37, 46, 82], "alwayssendchecksum": [37, 79, 82], "express": [37, 39, 51, 81, 82, 86, 92], "gm": [37, 82], "sendchecksumwithunknowncommand": [37, 79, 82], "unknowncommandsneedack": [37, 79, 82], "swallowokafterresend": [37, 79, 82], "sdrelativepath": [37, 79, 82], "sdalwaysavail": [37, 79, 82], "style": [37, 42, 46, 48, 51, 82, 93, 95], "targetextr0": [37, 46, 82], "m105": [37, 46, 82, 92], "repetiertargettemp": [37, 79, 82], "heatup": [37, 82], "externalheatupdetect": [37, 79, 82], "ident": [37, 82, 95], "ignoreidenticalresend": [37, 79, 82], "ignoredidenticalresend": 37, "identicalresendscount": 37, "supportfascommand": [37, 79, 82], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "firmwaredetect": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "supportresendswithoutok": [37, 79, 82], "talk": [37, 62, 82], "latin_1": [37, 82], "codec": [37, 82], "shut": [37, 47, 82, 95], "enableshutdownactioncommand": [37, 79, 82], "m29": [37, 46, 82], "buggi": [37, 82], "triggerokform29": [37, 79, 82], "resendratiothreshold": [37, 79, 82], "autoreport": [37, 82], "autoreport_temp": [37, 46, 79, 82], "shorten": [37, 82], "busy_protocol": [37, 79, 82], "bind": [37, 82, 90, 95, 97], "5000": [37, 82, 84], "startonceinsafemod": [37, 55, 79, 82], "incomplet": [37, 82, 97], "ignoreincompletestartup": [37, 79, 82], "secret": [37, 82], "encrypt": [37, 82], "randomli": [37, 82], "secretkei": [37, 79, 82], "somesecretkei": 37, "nginx": [37, 82, 83], "apach": [37, 82], "reverseproxi": [37, 79, 82], "prefixhead": [37, 79, 82], "schemehead": [37, 79, 82], "hosthead": [37, 79, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "said": [37, 47, 48, 82], "prefixfallback": [37, 79, 82], "schemefallback": [37, 79, 82], "hostfallback": [37, 79, 82], "trusteddownstream": [37, 79, 82], "embed": [37, 82, 90, 95], "samesit": [37, 79, 82, 83], "allowfram": [37, 79, 82], "lax": [37, 79, 82], "strict": [37, 40, 79, 82, 86], "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "www": [37, 82, 83, 86], "chromestatu": [37, 82], "5088147346030592": [37, 82], "5633521622188032": [37, 82], "3482": [37, 82], "suffix": [37, 57, 82, 83, 84, 92, 95], "nifti": [37, 82], "memori": [37, 82, 83], "rewrit": [37, 82, 83, 92], "incom": [37, 70, 82, 83, 95], "1gb": [37, 82], "maxsiz": [37, 79, 82, 86], "1073741824": [37, 82], "namesuffix": [37, 79, 82], "pathsuffix": [37, 79, 82], "100kb": [37, 82, 92], "102400": [37, 82], "serverrestartcommand": [37, 79, 82], "sudo": [37, 42, 48, 96], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "h": 37, "localpipcommand": [37, 79, 82], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "concern": [37, 45], "aka": [37, 40], "pluginblacklist": [37, 79, 82], "diskspac": [37, 79, 82], "threshold": [37, 82, 83], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "spars": [37, 82], "500mb": [37, 82], "63488000": 37, "200mb": [37, 82], "209715200": [37, 82], "preemptivecach": [37, 79, 82, 92], "dai": [37, 82], "ipcheck": [37, 79, 82], "notat": [37, 82], "trustedsubnet": [37, 79, 82], "baseurl": [37, 57, 58, 62, 70], "mention": [37, 49, 52, 88, 90, 96], "coupl": [37, 41, 70, 90], "emb": [37, 48, 62, 95], "build": [37, 43, 52, 78, 90, 97], "domain": [37, 57, 82, 83], "refus": [37, 78, 96], "insecur": [37, 48, 82], "ticket": 37, "twitter": 37, "solv": [37, 81, 96], "ship": [37, 54, 55, 82], "scari": [37, 48], "defaultslic": [37, 79, 82], "dropdown": 37, "desir": [37, 42, 49, 92], "ab": [37, 82], "210": [37, 82, 92], "pla": [37, 82], "180": [37, 82], "suppress": [37, 47, 81, 82, 92, 95], "pbn": [37, 82], "bclpr": [37, 82], "m27": [37, 82, 92], "echo": [37, 46, 82, 92, 95], "mjpg": [37, 82], "streamer": [37, 82], "binari": [37, 42, 57, 82, 90, 95, 96], "rpi1": 37, "ffmpegthread": [37, 79, 82], "videocodec": [37, 82], "mpeg2video": 37, "ffmpegvideocodec": [37, 79, 82], "bitrat": [37, 79, 82], "5000k": 37, "watermark": [37, 79, 82], "movi": [37, 47, 48, 82], "flip": [37, 82], "fliph": [37, 79, 82], "vertic": [37, 51, 79, 82], "flipv": [37, 79, 82], "rotat": [37, 82], "90": [37, 66, 82], "counter": [37, 82, 86], "clockwis": [37, 82], "rotate90": [37, 79, 82], "framer": [37, 82], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "pictur": [37, 82], "captur": [37, 47, 82, 93], "capturepostrol": [37, 79, 82], "cleantmpafterdai": [37, 79, 82], "primer": [38, 48, 51, 55, 56], "rule": [38, 42, 92, 95, 96], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "formatt": [38, 42], "rollov": 39, "editor": [39, 40, 42, 48, 51, 55], "loglevel": 39, "increas": [39, 41, 45, 70, 86, 92, 95], "highest": 39, "filemanag": [39, 56, 79, 80, 93, 94, 95], "expand": [39, 92], "deem": 39, "find": [39, 41, 42, 48, 52, 53, 80, 87, 89, 90, 95, 96], "serialfil": 39, "streamhandl": 39, "ext": [39, 84], "sy": [39, 86, 96], "timedrotatingfilehandl": 39, "backupcount": 39, "rotatingfilehandl": 39, "maxbyt": 39, "1024": [39, 92], "no_color": 39, "referenc": [39, 92], "asctim": 39, "levelnam": 39, "log_color": 39, "statement": [39, 90, 92, 96], "pathnam": 39, "lineno": 39, "logrecord": 39, "hood": 40, "shed": 40, "excel": 40, "veri": [40, 41, 48, 54, 62, 70, 81, 83, 90, 95, 97], "quot": [40, 49], "indent": [40, 48], "illeg": 40, "whitespac": 40, "matter": [40, 93, 96], "plai": [40, 84], "comment": [40, 49, 92], "piec": [40, 88], "mistaken": 40, "syntax": [40, 51, 52, 80, 82, 90], "thumb": [40, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "liter": [40, 96], "escap": [40, 83, 90], "backslash": 40, "span": [40, 83], "break": [40, 41, 45, 48, 95], "spread": 40, "42": [40, 48, 90], "colon": 40, "bracket": 40, "phew": 40, "yai": 40, "multilin": 40, "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "four": [40, 92, 95], "paragraph": 40, "But": [40, 90], "57": 40, "organ": [40, 54], "anotherkei": 40, "explain": 40, "quit": [40, 90, 92, 96], "complex": [40, 51, 90], "visibl": [40, 95, 97], "some_valu": [40, 95], "a_list": 40, "some_flag": [40, 95], "quoted_str": 40, "setting1": 40, "setting2": 40, "subsetting21": 40, "value11": 40, "subsetting22": 40, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "the_end": 40, "guess": [40, 48, 83, 90], "unquot": 40, "saw": 40, "mind": [40, 78, 90, 92], "trick": [40, 92], "dash": 40, "clearer": 40, "ideal": [40, 47, 48], "highlight": 40, "white": 40, "tremend": [40, 41, 90], "sensit": [40, 51, 82, 95], "ci": 41, "improv": [41, 83], "spot": 41, "rock": 41, "solid": [41, 90], "good": [41, 48, 90, 92, 96, 97], "dev114": 41, "big": [41, 95], "major": [41, 45], "kept": [41, 77], "sometim": [41, 42, 96], "stuff": [41, 51, 90], "encount": [41, 47, 80, 81, 96], "dev123": 41, "stage": [41, 42], "bugfix": 41, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "graduat": 41, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "0rc1": [41, 96], "0rc2": 41, "dev3": 41, "0rc": 41, "dev12": 41, "pop": 41, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "slowli": [41, 70], "agnost": 42, "prerequisit": 42, "setuptool": [42, 89, 90], "virtualenv": [42, 90, 96], "clone": [42, 90], "cd": [42, 90], "python3": [42, 96], "venv": [42, 90, 96], "bin": [42, 54, 55, 89, 90, 96], "bash": 42, "upgrad": 42, "revis": 42, "blame": 42, "ignorerevsfil": 42, "rev": 42, "suit": 42, "pytest": 42, "rebuild": 42, "sphinx": 42, "_build": 42, "scan_dep": 42, "substitut": 42, "apt": 42, "distribut": [42, 48, 56, 93], "debian": 42, "ubuntu": 42, "libyaml": 42, "essenti": 42, "Then": [42, 48, 90, 92, 96], "pull": [42, 96], "2019": 42, "ensur": [42, 48, 54, 55, 77, 78, 80, 81, 83, 86, 90, 92, 95, 96], "msvcv142": 42, "x64": 42, "x86": 42, "sdk": 42, "ex": [42, 96], "m": [42, 81, 86, 90, 92], "easili": [42, 48, 92], "3df4550c": 42, "eebd": 42, "496c": 42, "a189": 42, "e55f2f8b01c": 42, "commandlin": [42, 56, 79], "startingdirectori": 42, "tabtitl": 42, "suppressapplicationtitl": 42, "forum": [42, 56, 96], "myself": 42, "privileg": 42, "xcode": 42, "suitabl": 42, "el": 42, "capitan": 42, "xcodebuild": 42, "homebrew": 42, "rubi": 42, "curl": 42, "fssl": 42, "brew": 42, "ensurepip": 42, "repeat": [42, 61], "artifact": 42, "clean": [42, 86, 88, 95], "launch": [42, 44, 95], "modulesdkpath": 42, "projectfiledir": 42, "sadli": [42, 53, 90, 95, 96, 97], "hiccup": 42, "pyinterpreterdirectori": 42, "cmd": [42, 88, 92], "watcher": 42, "scope": [42, 83], "filepath": [42, 78], "footer": 42, "2016": [42, 92], "debugg": 42, "visualstudio": 42, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "defaultinterpreterpath": 42, "formatonsav": 42, "sortimport": 42, "codeactionsonsav": 42, "organizeimport": 42, "lint": 42, "pylinten": 42, "flake8en": 42, "task": [42, 54, 57, 80, 95], "label": [42, 47, 51, 57, 82, 90], "cwd": 42, "workspacefold": 42, "prelaunchtask": 42, "linter": 42, "flake8": 42, "bugbear": 42, "summari": [42, 96], "press": [42, 51, 82, 86], "f5": 42, "ctrl": 42, "shift": [42, 90], "mac": [43, 51, 54, 89], "pycharm": 43, "studio": 43, "vscode": 43, "guidelin": 43, "perfprofil": 44, "modulenotfounderror": 44, "pyinstrument": 44, "pep440": 45, "minor": 45, "contract": [45, 92], "hotfix": 45, "maintain": [45, 95], "nearest": 45, "dev68": 45, "g46c7a9c": 45, "uncommit": 45, "dirti": 45, "footnot": [45, 51, 54, 89, 90], "segment": [45, 46], "concept": [45, 56, 84, 93], "mandat": 45, "henceforth": 45, "furthermor": 46, "condit": [46, 86], "hard": [46, 54], "reproduc": [46, 55], "pane": [46, 95], "tune": 46, "behavior": 46, "okafterresend": 46, "throw": [46, 57], "forcechecksum": 46, "okwithlinenumb": 46, "numextrud": 46, "pin": 46, "pinnedextrud": 46, "34": [46, 90], "t1": [46, 92], "43": [46, 90], "includecurrenttoolintemp": 46, "m23": 46, "27": 46, "includefilenameinopen": 46, "hasb": 46, "haschamb": 46, "repetierstyletargettemperatur": 46, "repetierstyleresend": 46, "inlin": [46, 51], "m20": [46, 82], "okbeforecommandoutput": 46, "smoothietemperaturereport": 46, "sdfile": 46, "files": 46, "hex": 46, "longnam": 46, "outgo": 46, "buffer": [46, 83], "waitinterv": 46, "rx": 46, "sendwait": 46, "rxbuffer": 46, "64": 46, "slot": [46, 86], "commandbuff": 46, "m112": [46, 47, 82], "supportm112": 46, "echoonm117": 46, "broken": 46, "brokenm29": 46, "supportf": 46, "firmwarenam": 46, "marlin": 46, "sendbusi": 46, "simulatereset": 46, "resetlin": 46, "mi": 46, "fill": [46, 80, 95], "runtim": [46, 87, 95, 96], "prepare_ok": 46, "preparedok": 46, "lastn": 46, "okformatstr": 46, "firmare_nam": 46, "m115formatstr": 46, "firmware_nam": [46, 92], "protocol_vers": [46, 92], "m115reportcap": 46, "autoreport_sd_statu": 46, "autoreport_po": [46, 79, 82], "emergency_pars": [46, 79, 82], "extended_m20": [46, 79, 82], "lfn_write": [46, 79, 82], "m115_geometry_report": 46, "m115reportarea": 46, "ambient": 46, "ambienttemperatur": 46, "eg": [46, 95], "m105targetformatstr": 46, "2f": 46, "m105notargetformatstr": 46, "eeprom": [46, 51, 82], "m500": 46, "enable_eeprom": 46, "m503": 46, "support_m503": 46, "nois": 46, "resend_ratio": 46, "simulated_error": 46, "resend_with_timeout": 46, "110": 46, "missing_lineno": 46, "115": 46, "checksum_mismatch": 46, "plugin_virtual_printer_seri": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "action_custom": 46, "dont_answ": 46, "go_awol": 46, "trigger_resend_lineno": 46, "trigger_resend_checksum": 46, "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "drop_connect": 46, "enqueu": [46, 66, 78, 79, 92], "sleep_aft": 46, "sleep_after_next": 46, "start_sd": 46, "select_sd": 46, "cancel_sd": 46, "misc": 46, "carri": 47, "growl": [47, 54, 90, 91], "mygrowlserv": 47, "raspi": 47, "octoprint_logo": 47, "printstart": [47, 52], "printdon": [47, 52], "printcancel": [47, 52], "__eventnam": 47, "__currentz": 47, "__filenam": 47, "NO": 47, "__filepath": 47, "__fileorigin": 47, "__progress": 47, "percent": [47, 81], "__data": 47, "__now": 47, "8601": 47, "register_custom_ev": [47, 93], "clientopen": 47, "remoteaddress": 47, "clientauth": 47, "clientclos": 47, "userloggedin": 47, "userloggedout": 47, "connectivitychang": 47, "old": [47, 48, 52, 57, 90, 95, 97], "life": [47, 90], "thermal": 47, "runawai": 47, "recov": 47, "resend_loop": 47, "start_print": [47, 79, 81], "printerstatechang": 47, "state_id": 47, "get_state_id": [47, 79, 81], "state_str": 47, "effective_select": 47, "effective_print": 47, "filead": 47, "hierarchi": [47, 57, 80], "fileremov": 47, "filemov": 47, "source_nam": 47, "destination_path": [47, 95], "destination_nam": 47, "destination_typ": 47, "updatedfil": 47, "folderad": 47, "folderremov": 47, "foldermov": 47, "printabl": [47, 92], "modif": [47, 78, 81, 84, 85, 95], "supersed": 47, "metadataanalysisstart": 47, "metadataanalysisfinish": 47, "fileselect": 47, "filedeselect": 47, "transferstart": 47, "transfer": [47, 92], "transferdon": 47, "took": [47, 90], "firmwareerror": 47, "m114": [47, 51, 52, 82], "accur": 47, "fileposit": 47, "printpaus": [47, 52], "printresum": [47, 52], "scriptnam": [47, 92], "chartmark": 47, "chart": 47, "pluginname_eventtyp": 47, "styliz": 47, "short": [47, 83, 95], "word": [47, 84], "epoch": 47, "poweron": 47, "m80": [47, 92], "poweroff": 47, "m81": 47, "g0": [47, 92], "m245": 47, "alert": [47, 95], "m300": 47, "conveyor": 47, "m240": 47, "eject": 47, "m40": 47, "estop": 47, "filamentchang": 47, "m701": 47, "m702": 47, "positionupd": 47, "toolchang": 47, "commandsuppress": 47, "explan": [47, 66], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "misconfigur": 47, "invalidtoolreport": 47, "suppressedcommand": 47, "capturestart": 47, "capturedon": 47, "capturefail": 47, "caught": [47, 80], "movierend": 47, "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "returncod": [47, 86], "no_fram": 47, "slicingstart": 47, "stl_locat": 47, "gcode_loc": 47, "progressavail": 47, "slicingprogress": 47, "slicingdon": 47, "slicingcancel": [47, 79, 85, 95], "slicingfail": 47, "slicingprofilead": 47, "12": [47, 95], "slicingprofilemodifi": 47, "slicingprofiledelet": 47, "settingsupd": [47, 80], "pluginset": [47, 79, 80, 92, 94], "trigger_ev": [47, 80, 84], "printerprofilemodifi": 47, "mere": [48, 92], "customis": 48, "predefin": [48, 53, 92, 95], "aspect": [48, 82], "involv": [48, 81, 92], "plan": [48, 54, 57, 96], "measur": [48, 70], "everyon": [48, 90], "stepper": [48, 52], "publicli": [48, 95], "bypass": 48, "inconvi": 48, "isol": 48, "benefit": 48, "huge": 48, "underestim": 48, "risk": [48, 49], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "unsecur": 48, "happili": 48, "harder": 48, "listen": [48, 83, 95], "someon": [48, 92], "malwar": 48, "endless": 48, "benchi": 48, "permit": 48, "improperli": 48, "compromis": 48, "extrem": 48, "sound": 48, "figur": [48, 95], "pc": 48, "mask": 48, "rout": [48, 93, 95], "grep": 48, "wlan0": 48, "awk": 48, "ipv6": 48, "sai": [48, 55, 88, 93], "youraddressrang": 48, "easiest": [48, 96], "screen": [48, 90, 95], "understand": [48, 90], "roughli": [48, 92, 96], "learn": [48, 90], "dont": 48, "central": [48, 80], "let": [48, 51, 89, 90, 92, 95], "outlin": [48, 95], "nano": 48, "salt": [48, 79, 82], "aabbccddee1234523452345": 48, "yourusernam": 48, "128": [48, 82], "everyth": [48, 52, 57, 77, 90, 96], "cp": 48, "went": [48, 57], "think": 48, "almost": 48, "certainli": [48, 90], "ipv4": [48, 82], "highli": [48, 89], "discourag": [48, 80], "regret": 48, "alon": [48, 95], "Such": 49, "preced": [49, 92], "pronterfac": 49, "he": 49, "had": [49, 50, 90, 95], "sd_insert": 49, "sd_eject": 49, "sd_updat": 49, "abus": [49, 81], "malici": 49, "comm": [49, 50, 88, 93], "elsewher": [50, 80], "contrari": [50, 57], "custom_command": 50, "atcommand": [50, 93], "jinja2": [51, 52, 62, 90, 92, 95], "hierarch": [51, 95], "hesit": 51, "slider": [51, 79, 82], "element": [51, 57, 61, 78, 90, 95, 97], "feedback": [51, 81, 97], "3000mm": 51, "x10": [51, 92], "f3000": 51, "parametr": 51, "3000": 51, "fun": [51, 93, 96], "danc": 51, "repetit": 51, "yield": [51, 78, 86, 90], "fig": [51, 55], "latter": [51, 92, 95, 97], "closer": 51, "lai": [51, 82], "bottom": [51, 82, 86], "met": [51, 82, 83, 95], "sophist": [51, 52, 82, 95], "eval": [51, 82], "controlviewmodel": [51, 82, 97], "additionalclass": [51, 79, 82], "btn": [51, 82, 90], "tick": [51, 82], "rendit": [51, 82, 95], "hi": [51, 82, 92], "accident": [51, 82], "aren": [51, 52], "getadditionalcontrol": [51, 97], "view": [51, 83, 84, 86, 90, 92, 95, 97], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "center_x": 51, "center_i": 51, "speed_x": 51, "speed_i": 51, "speed_z": 51, "p500": 51, "z10": 51, "z1": 51, "endif": [51, 52, 82], "x2": 51, "y2": 51, "x0": [51, 52], "y0": [51, 52], "occas": 52, "jinja": [52, 90, 92, 95], "beforeprinterdisconnect": [52, 79, 82], "unexpect": [52, 90], "cut": [52, 82, 83], "beforetoolchang": [52, 79, 82], "tn": 52, "aftertoolchang": [52, 79, 82], "emit": [52, 93], "capit": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptafterprintdonefinish": 52, "reusabl": 52, "spectrum": 52, "last_posit": 52, "last_temperatur": 52, "degre": 52, "celsiu": [52, 81], "necessarili": [52, 81, 92], "last_fanspe": 52, "myplugin": [52, 57, 88, 92, 95, 96], "myvari": [52, 92], "pause_posit": 52, "advanc": [52, 89, 90], "pause_temperatur": 52, "pause_fanspe": 52, "cancel_posit": 52, "cancel_temperatur": 52, "cancel_fanspe": 52, "multitud": 52, "peopl": [52, 90], "m84": 52, "disable_b": [52, 82], "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "m140": [52, 82], "inact": 52, "uncom": 52, "xyze": 52, "m83": 52, "slightli": [52, 57, 83], "upward": 52, "f4500": 52, "m82": 52, "e5": 52, "xyz": 52, "g92": 52, "design": [52, 90], "autologin": [53, 82], "diagnos": 54, "observ": [54, 55, 90, 92], "unpack": 54, "oprint": [54, 55, 89, 90, 96], "13": [55, 70, 90], "advent": 55, "becam": [55, 86], "appar": 55, "tracker": 55, "easier": [55, 90], "identif": 55, "introduc": [55, 81], "culprit": 55, "yamlpatch": 55, "forget": [55, 62, 78, 89, 90, 96], "wherev": 55, "remind": 55, "snappi": 56, "3d": 56, "gnu": 56, "affero": 56, "v3": 56, "Its": 56, "wouldn": 56, "financi": 56, "enjoi": 56, "focus": 56, "primarili": [56, 96], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "viewmodel": [56, 93], "tutori": [56, 89, 93, 95], "schema": [56, 79], "tornado": [56, 79, 92], "instanti": [57, 62, 88, 90, 92, 97], "registr": [57, 78, 89, 92, 96], "registerplugincompon": [57, 62], "unsolv": 57, "concurr": [57, 86], "architectur": 57, "intact": 57, "factori": [57, 80, 84, 93], "typeof": 57, "amd": 57, "var": [57, 58, 61, 62, 70, 74, 90, 97], "myplugincli": 57, "prototyp": 57, "somefunct": 57, "getbaseurl": [57, 62], "canon": [57, 86], "trail": [57, 78], "getrequesthead": [57, 62], "entail": 57, "datatyp": 57, "ajaxwithdata": [57, 62], "getwithqueri": [57, 62], "OR": 57, "getblueprinturl": [57, 62], "contenttyp": 57, "postjson": [57, 62], "somekei": 57, "somevalu": 57, "putjson": [57, 62], "patchjson": [57, 62], "usabl": [57, 78, 80], "selector": [57, 90], "tri": [57, 58, 70, 80], "replic": [57, 92], "textstatu": 57, "formdata": 57, "blueprint": [57, 83, 92, 95], "fileinput": 57, "progressoutput": 57, "myfilenam": 57, "dat": 57, "math": 57, "round": [57, 70, 86, 92, 96], "issuecommand": [57, 62], "trivial": 57, "myendpoint": 57, "mycommand": 57, "someparamet": 57, "someotherparamet": 57, "someothervalu": 57, "getsimpleapiurl": [57, 62], "proper": [57, 90, 93, 95], "simpleapiplugin": [57, 93], "simpleapiget": [57, 62], "simpleapicommand": [57, 62], "otherparamet": 57, "othervalu": 57, "blueprintplugin": [57, 92, 93], "createrejecteddef": [57, 62], "shortcut": [57, 74, 83, 90], "defer": 57, "createcustomexcept": [57, 62], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "stack": [57, 83, 86], "subclass": [57, 78, 83, 86, 90, 92, 95], "mycustomexcept": 57, "horribli": 57, "clientclass": 57, "registri": 57, "dosometh": 57, "invalidargumenterror": [57, 62], "myusernam": [58, 70], "mypassword": [58, 70], "passivelogin": [58, 62, 70], "getset": [59, 62, 73], "getcustomcontrol": [60, 62], "sendgcod": [60, 62], "sendgcodewithparamet": [60, 62], "sendgcodescript": [60, 62], "enhanc": 60, "sendgcodescriptwithparamet": [60, 62], "preprocess": [61, 92, 95], "undefin": [61, 97], "recursivelyprintnam": 61, "isfold": 61, "_": [61, 62, 80, 90, 91, 92, 95], "child": [61, 78, 86], "listforloc": [61, 62], "truthi": 61, "createfold": [61, 62], "somefil": 61, "pathforentri": [61, 62], "entryforpath": [61, 62], "funni": 61, "somepathstofind": 61, "packed_cli": 62, "js_client": 62, "asset_url": 62, "endasset": 62, "url_for": [62, 92, 95], "lodash": 62, "lib": [62, 90], "moreov": 62, "assembl": 62, "singular": 62, "client1": 62, "octoprint1": 62, "apikey1": 62, "client2": 62, "octoprint2": 62, "apikey2": 62, "togglepaus": [62, 63], "getfullst": [62, 66], "gettoolst": [62, 66], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "selecttool": [62, 66], "setflowr": [62, 66], "getbedst": [62, 66], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "getchamberst": [62, 66], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "getsdstat": [62, 66], "initsd": [62, 66], "refreshsd": [62, 66], "releasesd": [62, 66], "getpluginset": [62, 68], "savepluginset": [62, 68], "generateapikei": [62, 68, 73, 79, 84], "listallslicersandprofil": [62, 69], "listprofilesforslic": [62, 69], "getprofileforslic": [62, 69], "addprofileforslic": [62, 69], "updateprofileforslic": [62, 69], "deleteprofileforslic": [62, 69], "onmessag": [62, 70], "removemessag": [62, 70], "sendmessag": [62, 70], "sendauth": [62, 70], "onratetoolow": [62, 70], "onratetoohigh": [62, 70], "increaser": [62, 70], "decreaser": [62, 70], "sampl": 62, "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "executecommand": [62, 71], "listrend": [62, 72], "listunrend": [62, 72], "deleteunrend": [62, 72], "renderunrend": [62, 72], "getconfig": [62, 72], "saveconfig": [62, 72], "changepassword": [62, 73], "resetapikei": [62, 73], "saveset": [62, 73], "testpath": [62, 74], "testexecut": [62, 74], "testurl": [62, 74], "testserv": [62, 74], "testresolut": [62, 74], "shorthand": 63, "2mm": 66, "cover": 66, "profileid": 69, "40": [70, 95], "rateslidingwindows": 70, "eventobj": 70, "const": 70, "userid": [70, 92], "trip": 70, "lower": [70, 81, 86, 90, 92, 95, 97], "slide": 70, "faster": 70, "slower": 70, "half": [70, 95], "unto": [73, 97], "criteria": [74, 92], "mimetyp": [74, 83], "jpeg": [74, 95], "split": [74, 78, 92], "someimag": 74, "idonotexist": 74, "anonymousus": [76, 79], "apius": [76, 79], "corruptuserstorag": [76, 79], "invalidusernam": [76, 79], "unknownrol": [76, 79], "unknownus": [76, 79], "passwordhash": 76, "asdict": [76, 79, 80], "as_dict": 76, "useralreadyexist": [76, 79], "hiddenopt": [77, 79], "param_decl": 77, "sequenc": [77, 92], "show_default": 77, "union": [77, 82, 83, 86], "confirmation_prompt": 77, "prompt_requir": 77, "hide_input": 77, "is_flag": 77, "flag_valu": 77, "allow_from_autoenv": 77, "paramtyp": 77, "show_choic": 77, "show_envvar": 77, "attr": [77, 90], "octoprintcontext": [77, 79], "configfil": [77, 84], "basedir": [77, 84], "verbos": 77, "safe_mod": 77, "bulk_opt": [77, 79], "decor": [77, 83, 86, 95], "invers": 77, "intuit": 77, "hidden_opt": [77, 79], "keyword": [77, 80, 83, 85, 86, 92, 95], "unchang": [77, 83], "param": [77, 78, 81, 83, 86, 92, 95], "init_platform_for_cli": [77, 79], "ctx": [77, 83, 92], "subset": 77, "_identifi": [77, 79, 80, 94], "_logger": [77, 79, 80, 90, 92, 94, 95], "_connectivity_check": [77, 79, 80, 94], "_environment_detector": 77, "_event_bu": [77, 79, 80, 94], "_set": [77, 90, 91, 92, 94, 95], "init_platform": 77, "legacy_opt": [77, 79], "pass_octoprint_ctx": [77, 79, 92], "te": 77, "concaten": [77, 78, 80, 97], "set_ctx_obj_opt": [77, 79], "eager": [77, 95], "standard_opt": [77, 79], "octoprintdevelcommand": [77, 79], "multicommand": [77, 92], "get_command": [77, 79], "cmd_name": 77, "list_command": [77, 79], "subcommand": 77, "octoprintplugincommand": [77, 79, 92], "plugin_manag": [77, 79, 80, 92], "daemon_opt": [77, 79], "daemon": [77, 86, 92], "pid": 77, "run_serv": [77, 79], "v6_onli": 77, "allow_root": 77, "logging_config": 77, "ignore_blacklist": 77, "octoprint_daemon": 77, "disable_color": 77, "server_opt": [77, 79], "iknowwhatimdo": 77, "contenttypedetector": [78, 79], "detector": [78, 79], "alia": 78, "contenttypemap": [78, 79], "content_typ": [78, 79, 83, 92], "nosuchstorag": [78, 79], "abstractanalysisqueu": [78, 79, 92], "finished_callback": 78, "gcodeanalysisqueu": [78, 79, 92, 95], "analyz": [78, 94], "_do_analysi": [78, 79], "high_prior": 78, "_current": 78, "_do_abort": [78, 79], "reenqueu": 78, "priorit": 78, "queueentri": [78, 79], "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "queue_factori": 78, "invok": [78, 80, 86, 92, 95], "register_finish_callback": 78, "oneself": 78, "unregister_finish_callback": 78, "substructur": 78, "toolx": 78, "absolute_path": 78, "localfilestorag": [78, 79], "basefold": [78, 80, 95], "really_univers": 78, "sanit": [78, 79, 86, 92], "lru": 78, "minim": [78, 83, 86, 95], "overhead": [78, 92], "path_on_disk": [78, 79], "add_fil": [78, 79], "file_object": [78, 92], "allow_overwrit": [78, 85, 92, 95], "rais": [78, 80, 81, 83, 84, 85, 86, 95], "add_fold": [78, 79], "ignore_exist": 78, "add_link": [78, 79], "href": [78, 90], "analysis_backlog": [78, 79], "analys": [78, 92], "un": 78, "canonic": [78, 79], "copy_fil": [78, 79], "copy_fold": [78, 79], "file_exist": [78, 79], "file_in_path": [78, 79], "folder_exist": [78, 79], "get_additional_metadata": [78, 79], "get_lastmodifi": [78, 79], "get_metadata": [78, 79], "get_siz": [78, 79], "has_analysi": [78, 79], "join_path": [78, 79, 83], "qualifi": [78, 86], "last_modifi": [78, 79, 84], "defatul": 78, "list_fil": [78, 79], "force_refresh": 78, "dive": [78, 90], "some_sub_fold": 78, "some_fil": [78, 95], "sha1": 78, "move_fil": [78, 79], "move_fold": [78, 79], "path_in_storag": [78, 79], "opposit": 78, "unsupportedoper": 78, "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "apart": [78, 90], "remove_link": [78, 79], "deriv": [78, 83, 85, 86, 97], "slash": 78, "sanitize_nam": [78, 79], "valueerror": [78, 80, 83, 84, 85, 86], "sanitize_filenam": 78, "sanitize_path": [78, 79], "set_additional_metadata": [78, 79], "overwrit": [78, 81, 83, 90, 92, 95], "split_path": [78, 79], "storageinterfac": [78, 79], "abstractfilewrapp": [78, 79, 92], "wrapper": [78, 83, 85, 95], "iobas": 78, "diskfilewrapp": [78, 79], "preserv": 78, "lineprocessorstream": [78, 79, 92, 96], "input_stream": 78, "process_lin": [78, 79, 92, 96], "rawiobas": 78, "fly": [78, 90, 95], "flush": 78, "oserror": 78, "seekabl": [78, 79], "random": [78, 82, 92], "seek": 78, "truncat": 78, "multistream": [78, 79], "streamwrapp": [78, 79, 92], "dump": [78, 79, 83, 86], "plugin_set": [79, 80, 92], "call_plugin": [79, 80], "get_int": [79, 80, 95], "get_float": [79, 80], "get_boolean": [79, 80, 95], "set_int": [79, 80], "set_float": [79, 80], "set_boolean": [79, 80], "add_overlai": [79, 80, 84], "remove_overlai": [79, 80, 84], "get_plugin_logfile_path": [79, 80, 92], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "disable_plugin": [79, 80], "enable_plugin": [79, 80], "get_filtered_implement": [79, 80], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_plugin": [79, 80], "get_plugin_info": [79, 80], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_obsolete_hook": [79, 80], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hook_matches_hook": [79, 80], "is_obsolete_hook": [79, 80], "is_plugin_mark": [79, 80], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "mark_plugin": [79, 80], "plugin_hook": [79, 80], "register_message_receiv": [79, 80], "reload_plugin": [79, 80], "send_plugin_messag": [79, 80], "unregister_message_receiv": [79, 80], "plugininfo": [79, 80, 94], "disabling_discourag": [79, 80], "forced_dis": [79, 80], "invalid_syntax": [79, 80], "long_str": [79, 80], "looks_like_plugin": [79, 80], "needs_restart": [79, 80], "parsed_metadata": [79, 80], "privacypolici": [79, 80], "pythoncompat": [79, 80], "_basefold": [79, 80, 94], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "restartneedingplugin": [79, 80, 87, 93], "sortableplugin": [79, 80, 95], "get_sorting_kei": [79, 80, 92, 95], "_printer_profile_manag": [79, 80, 94], "_analysis_queu": [79, 80, 94], "_slicing_manag": [79, 80, 94], "_file_manag": [79, 80, 94], "_printer": [79, 80, 94], "_app_session_manag": [79, 80], "_plugin_lifecycle_manag": [79, 80], "_user_manag": [79, 80, 94], "_data_fold": [79, 80], "on_plugin_pending_uninstal": [79, 80, 87], "reloadneedingplugin": [79, 80, 87, 93], "get_connection_opt": [79, 81], "printerinterfac": [79, 80, 81, 92, 94], "can_modify_fil": [79, 81], "cancel_print": [79, 81], "change_tool": [79, 81], "feed_rat": [79, 81], "flow_rat": [79, 81], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_transport": [79, 81], "is_cancel": [79, 81], "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_oper": [79, 81], "is_paus": [79, 81], "is_print": [79, 81], "is_readi": [79, 81], "job_on_hold": [79, 81], "log_lin": [79, 81], "pause_print": [79, 81], "register_callback": [79, 81], "resume_print": [79, 81], "select_fil": [79, 81], "send_initial_callback": [79, 81], "set_job_on_hold": [79, 81], "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "toggle_pause_print": [79, 81], "unregister_callback": [79, 81], "unselect_fil": [79, 81], "valid_ax": [79, 81], "valid_heater_regex": [79, 81], "valid_tool_regex": [79, 81], "printercallback": [79, 81, 92], "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "bedformfactor": [79, 81], "bedorigin": [79, 81], "saveerror": [79, 81], "couldnotoverwriteerror": [79, 81], "invalidprofileerror": [79, 81], "basemodel": [79, 82], "printerparamet": [79, 82], "accesscontrolconfig": [79, 82], "autologinheadsupacknowledg": [79, 82], "groupmanag": [79, 82], "groupfil": [79, 82], "permissionmanag": [79, 82], "apiconfig": [79, 82], "appearanceconfig": [79, 82], "closemodalswithclick": [79, 82], "coloricon": [79, 82], "fuzzytim": [79, 82], "showfahrenheitalso": [79, 82], "colorenum": [79, 82], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "containerconfig": [79, 82], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "layoutenum": [79, 82], "develcacheconfig": [79, 82], "develconfig": [79, 82], "enablecsrfprotect": [79, 82], "enableratelimit": [79, 82], "plugintim": [79, 82], "sockjsconnecttimeout": [79, 82], "usefrozendictforprinterst": [79, 82], "develwebassetsconfig": [79, 82], "stylesheetenum": [79, 82], "estimationconfig": [79, 82], "printtimeestimationconfig": [79, 82], "eventsubscript": [79, 82], "eventsconfig": [79, 82], "subscriptiontypeenum": [79, 82], "featureconfig": [79, 82], "enabledragdropupload": [79, 82], "printstartconfirm": [79, 82], "rememberfilefold": [79, 82], "uploadoverwriteconfirm": [79, 82], "folderconfig": [79, 82], "gcodeanalysisconfig": [79, 82], "bedz": [79, 82], "runat": [79, 82], "throttle_lin": [79, 82], "runatenum": [79, 82], "pluginsconfig": [79, 82], "forced_compat": [79, 82], "sorting_ord": [79, 82], "printerparametersconfig": [79, 82], "pausetrigg": [79, 82], "printerprofilesconfig": [79, 82], "gcodescriptsconfig": [79, 82], "afterprintresum": [79, 82], "beforeprintpaus": [79, 82], "scriptsconfig": [79, 82], "alwaysdetectneverenum": [79, 82], "infowarnneverenum": [79, 82], "serialcap": [79, 82], "autoreport_sdstatu": [79, 82], "serialconfig": [79, 82], "abortheatuponcancel": [79, 82], "ackmax": [79, 82], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "disablesdprintingdetect": [79, 82], "emergencycommand": [79, 82], "identicalresendscountdown": [79, 82], "ignoreemptyport": [79, 82], "lastlinebuffers": [79, 82], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "lowlat": [79, 82], "maxconsecutiveresend": [79, 82], "maxnotsdprint": [79, 82], "neversendchecksum": [79, 82], "notifysuppressedcommand": [79, 82], "resendratiostart": [79, 82], "sanitychecktool": [79, 82], "sdcancelcommand": [79, 82], "sdlowercas": [79, 82], "sendm112onerror": [79, 82], "supportwait": [79, 82], "terminallogs": [79, 82], "useparityworkaround": [79, 82], "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "baudratedetectionpaus": [79, 82], "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "posautoreport": [79, 82], "positionlogwait": [79, 82], "resendok": [79, 82], "sdstatusautoreport": [79, 82], "temperatureautoreport": [79, 82], "commandsconfig": [79, 82], "cookiesconfig": [79, 82], "diskspaceconfig": [79, 82], "ipcheckconfig": [79, 82], "onlinecheckconfig": [79, 82], "pluginblacklistconfig": [79, 82], "preemptivecacheconfig": [79, 82], "reverseproxyconfig": [79, 82], "portfallback": [79, 82], "porthead": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "samesiteenum": [79, 82], "serverconfig": [79, 82], "allowedloginredirectpath": [79, 82], "heartbeat": [79, 82, 83], "seenwizard": [79, 82], "uploadsconfig": [79, 82], "slicingconfig": [79, 82], "actionconfig": [79, 82], "async_": [79, 82], "systemconfig": [79, 82], "temperatureconfig": [79, 82], "cutoff": [79, 82], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "temperatureprofil": [79, 82], "terminalfilterentri": [79, 82], "timelapseconfig": [79, 82], "timelapseopt": [79, 82], "timelapsetypeenum": [79, 82], "webcamconfig": [79, 82], "defaultwebcam": [79, 82], "ffmpegcommandlin": [79, 82], "ffmpegthumbnailcommandlin": [79, 82], "snapshotwebcam": [79, 82], "timelapseen": [79, 82], "webcamen": [79, 82], "ratioenum": [79, 82], "four_thre": [79, 82], "sixteen_nin": [79, 82], "cansnapshot": [79, 82], "extra": [79, 82, 83, 89, 90], "snapshotdisplai": [79, 82], "webcamcompat": [79, 82], "cachebust": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamwebrtciceserv": [79, 82], "cannotstartserverexcept": [79, 83], "octoprintanonymousident": [79, 83], "invalidapikeyexcept": [79, 83], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "has_permiss": [79, 83], "loginfromapikeyrequesthandl": [79, 83], "loginfromauthorizationheaderrequesthandl": [79, 83], "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "optionsalloworigin": [79, 83], "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "validate_local_redirect": [79, 83], "lesssimplecach": [79, 83], "octoprintflaskrequest": [79, 83], "server_nam": [79, 83], "server_port": [79, 83], "octoprintflaskrespons": [79, 83], "delete_cooki": [79, 83], "set_cooki": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintsessioninterfac": [79, 83], "save_sess": [79, 83], "should_set_cooki": [79, 83], "pluginassetresolv": [79, 83], "resolve_output_to_path": [79, 83], "split_prefix": [79, 83], "prefixawarejinjaenviron": [79, 83], "settingscheckupdat": [79, 83], "build_don": [79, 83], "needs_rebuild": [79, 83], "check_lastmodifi": [79, 83], "firstrun_only_access": [79, 83], "get_cookie_suffix": [79, 83], "get_flask_user_from_request": [79, 83], "make_api_error": [79, 83], "make_text_respons": [79, 83], "no_firstrun_access": [79, 83], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "redirect_to_tornado": [79, 83], "require_credentials_checked_rec": [79, 83], "restricted_access": [79, 83], "threadsafesess": [79, 83], "remove_handl": [79, 83], "set_handl": [79, 83], "corssupportmixin": [79, 83, 92], "set_default_head": [79, 83], "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "handle_stream": [79, 83], "deprecatedendpointhandl": [79, 83, 92], "dynamiczipbundlehandl": [79, 83], "generatingdatahandl": [79, 83], "globalheadertransform": [79, 83], "largeresponsehandl": [79, 83, 92], "compute_etag": [79, 83], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "original_absolute_path": [79, 83], "set_extra_head": [79, 83], "streamed_get": [79, 83], "requestlessexceptionloggingmixin": [79, 83], "log_except": [79, 83], "staticdatahandl": [79, 83, 92], "staticzipbundlehandl": [79, 83], "systeminfobundlehandl": [79, 83], "uploadstoragefallbackhandl": [79, 83], "body_method": [79, 83], "data_receiv": [79, 83], "is_multipart": [79, 83], "on_finish": [79, 83, 86], "urlproxyhandl": [79, 83, 92], "webcamsnapshothandl": [79, 83], "wsgiinputcontain": [79, 83], "handle_request": [79, 83], "access_validation_factori": [79, 83], "enable_per_message_deflate_extens": [79, 83], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "path_validation_factori": [79, 83, 92], "default_set": [79, 84], "valid_boolean_tru": [79, 84], "overlay_kei": [79, 84], "add_path_update_callback": [79, 84], "checkbasefold": [79, 84], "config_yaml": [79, 84], "deleteapikei": [79, 84], "effective_hash": [79, 84], "effective_yaml": [79, 84], "getbasefold": [79, 80, 84], "getboolean": [79, 80, 84], "getfloat": [79, 80, 84], "getint": [79, 80, 84, 91], "last_modified_or_made_dirti": [79, 84], "listscript": [79, 84], "loadscript": [79, 84], "load_overlai": [79, 84], "remove_path_update_callback": [79, 84], "sanity_check_fold": [79, 84], "savescript": [79, 84], "setbasefold": [79, 84], "setboolean": [79, 80, 84], "setfloat": [79, 80, 84], "setint": [79, 80, 84], "warn_about_risky_set": [79, 84], "temporaryprofil": [79, 85], "slicingmanag": [79, 80, 85, 92, 94], "all_profil": [79, 85], "cancel_sl": [79, 85, 95], "configured_slic": [79, 85], "default_slic": [79, 85], "delete_profil": [79, 85], "get_profile_path": [79, 85], "get_slic": [79, 85], "get_slicer_profile_path": [79, 85], "load_profil": [79, 85], "profiles_last_modifi": [79, 85], "registered_slic": [79, 85], "reload_slic": [79, 85], "save_profil": [79, 85], "set_default_profil": [79, 85], "slicing_en": [79, 85], "slicingexcept": [79, 85], "slicerexcept": [79, 85], "unknownslic": [79, 85], "slicernotconfigur": [79, 85], "profileexcept": [79, 85], "unknownprofil": [79, 85], "profilealreadyexist": [79, 85], "caseinsensitiveset": [79, 84, 86], "defaultordereddict": [79, 86], "prependablequeu": [79, 86], "repeatedtim": [79, 86], "resettabletim": [79, 86], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "chunk": [79, 83, 86], "deseri": [79, 86], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "fallback_dict": [79, 86], "filter_non_ascii": [79, 86], "get_bom": [79, 86], "get_class": [79, 86], "get_exception_str": [79, 86], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "is_allowed_fil": [79, 86], "pending_deprec": [79, 86], "pp": [79, 86], "to_byt": [79, 86, 96], "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "commandlinecal": [79, 86], "checked_cal": [79, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "commandlineerror": [79, 86], "delimitercaptur": [79, 86], "clean_ansi": [79, 86], "close_fd": [79, 86], "get_o": [79, 86], "is_os_compat": [79, 86], "set_close_exec": [79, 86], "plugin_fold": 80, "plugin_bas": 80, "plugin_entry_point": 80, "plugin_disabled_list": 80, "plugin_sorting_ord": 80, "plugin_blacklist": 80, "plugin_restart_needing_hook": 80, "plugin_obsolete_hook": 80, "plugin_considered_bundl": 80, "plugin_valid": 80, "compatibility_ignored_list": 80, "singleton": [80, 84], "namespac": [80, 90], "startswith": [80, 86, 92, 95], "obsolet": 80, "although": 80, "plugin_kei": 80, "get_preprocessor": 80, "set_preprocessor": 80, "get_settings_default": [80, 90, 95], "getter": [80, 84, 95], "preprocessor": [80, 84, 93, 95], "setter": [80, 81, 84, 95], "error_callback": 80, "sorting_context": [80, 92], "my_success_callback": 80, "my_error_callback": 80, "exc": 80, "startupplugin": [80, 90, 92, 93], "on_startup": [80, 90, 92, 95], "my_host": 80, "my_port": 80, "invoc": [80, 92], "likewis": [80, 85, 87], "greater": 80, "convers": [80, 84, 96], "equal": [80, 95], "at_end": [80, 84], "postfix": [80, 92], "slicingplugin": [80, 95], "folder_typ": 80, "orward": 80, "logging_prefix": 80, "customiz": 80, "initialize_implement": 80, "require_en": 80, "required_en": 80, "fnmatch": 80, "force_reload": 80, "reload": [80, 87, 90, 95, 97], "unregist": [80, 81], "attr_author": 80, "attr_check": 80, "lambda": [80, 86, 92, 95, 96], "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "show_bundl": 80, "bundled_str": 80, "show_loc": 80, "location_str": 80, "show_en": 80, "enabled_str": 80, "fourth": [80, 92], "entrypointorigin": 80, "folderorigin": 80, "moduleorigin": 80, "ast": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "phase": [80, 88, 93, 96], "additional_valid": 80, "before_import": 80, "before_load": 80, "after_load": 80, "attr_vers": 80, "sortabl": 80, "irrelev": [80, 92], "ascend": 80, "eventmanag": [80, 92, 94], "sessionmanag": 80, "lifecyclemanag": [80, 92], "connectivitycheck": [80, 94], "deeper": [81, 90], "ly": 81, "abstract": 81, "decid": [81, 89, 90, 95], "vanish": 81, "throughout": [81, 90, 92], "lifecycl": [81, 92, 93], "awai": [81, 84, 87], "queu": [81, 92], "anew": 81, "millimet": 81, "materi": 81, "stuck": 81, "classmethod": [81, 83, 95], "connection_str": 81, "open_seri": 81, "detect_seri": 81, "detect_baudr": 81, "closed_with_error": 81, "transfering_fil": 81, "transport": [81, 93], "contextmanag": 81, "park_printhead": 81, "take_snapshot": 81, "send_printhead_back": 81, "park": 81, "somewher": [81, 90], "WILL": 81, "held": [81, 84], "acquir": 81, "catch": 81, "runtimeexcept": 81, "thrown": [81, 84, 85], "unknownscriptexcept": 81, "printafterselect": 81, "po": 81, "invalidfiletyp": 81, "invalidfileloc": 81, "finer": 81, "forev": 81, "enclosur": 81, "unconfigur": [81, 85], "degc": 81, "ccm": 81, "x_min": 81, "y_min": 81, "z_min": 81, "x_max": 81, "y_max": 81, "z_max": 81, "use_enum_valu": 82, "access_control": 82, "filebasedgroupmanag": 82, "plugin_logging_seriallog": 82, "plugin_logging_plugintimingslog": 82, "plugin_firmware_check_warn": 82, "plugin_firmware_check_info": 82, "plugin_eventmanag": 82, "plugin_softwareupdate_upd": 82, "plugin_corewizard_onlinecheck": 82, "plugin_achiev": 82, "plugin_achievements_2": 82, "systeminfo": [82, 93], "gcode_analysi": 82, "printer_paramet": 82, "m108": 82, "m410": 82, "900": 82, "524288000": 82, "libx264": 82, "10000k": 82, "vcodec": 82, "containerformat": 82, "sseof": 82, "q": 82, "classic": 82, "formatstr": 82, "drag": 82, "timelas": 82, "batch": 82, "band": 82, "parser": 82, "low": 82, "latenc": 82, "Be": [82, 92], "implic": 82, "decis": [82, 95, 96], "cloudflar": 82, "resolut": 82, "downstream": [82, 83], "v6": 82, "1107": 82, "extra_data": 82, "quick": [82, 90], "mozilla": 82, "regular_express": 82, "unstructur": 82, "stun": 82, "l": [82, 86], "19302": 82, "bust": 82, "certif": [82, 83], "mjpeg": 82, "nativ": 82, "webrtc": 82, "before_request": [83, 93], "resp": 83, "after_request": [83, 93], "crf": 83, "todo": [83, 90], "load_user_from_request": 83, "shall": 83, "pragma": 83, "expir": 83, "allowed_path": 83, "netloc": 83, "default_timeout": 83, "simplecach": 83, "pickl": 83, "pickleerror": 83, "httpstatu": 83, "direct_passthrough": 83, "httponli": 83, "site": [83, 90], "ineffici": 83, "exce": 83, "max_cookie_s": 83, "max_ag": 83, "datetim": [83, 86, 95], "object_": 83, "obj": 83, "ensure_ascii": 83, "sort_kei": 83, "is_null_sess": 83, "perman": 83, "session_refresh_each_request": 83, "unresolv": 83, "rel_path": 83, "loader": 83, "rebuilt": 83, "lastmodifi": [83, 95], "timezon": 83, "awar": [83, 87, 92], "utc": 83, "func": [83, 95], "_not_": 83, "albeit": 83, "databas": 83, "302": 83, "login_requir": 83, "conn": 83, "session_id": 83, "expiri": 83, "detach": 83, "start_heartbeat": 83, "httpserverrequest": 83, "requesthandl": [83, 92], "similarli": 83, "is_client": 83, "http1connect": 83, "max_body_s": 83, "default_max_body_s": 83, "http1connectionparamet": 83, "iostream": 83, "http1serverconnect": 83, "_server_request_loop": 83, "httpserver": 83, "max_default_body_s": 83, "coroutin": 83, "tcpserver": 83, "ssliostream": 83, "wait_for_handshak": 83, "npn": 83, "alpn": 83, "path_valid": [83, 92], "path_processor": 83, "as_attach": [83, 92], "attachment_nam": 83, "access_valid": [83, 93], "compress": [83, 86], "httperror": 83, "staticfilehandl": [83, 92], "deliveri": [83, 92], "default_filenam": 83, "subdirectori": 83, "allow_client_cach": 83, "etag_gener": 83, "name_gener": 83, "mime_type_guess": 83, "mime": 83, "is_pre_compress": 83, "gzip": 83, "comput": [83, 97], "abspath": 83, "sha": 83, "512": 83, "stream_bodi": 83, "uncompress": 83, "include_bodi": 83, "typ": 83, "tb": 83, "uncaught": 83, "trace": [83, 90], "fallbackhandl": 83, "rewritten": [83, 92], "webkitformboundarypyisux63abamht5c": 83, "my_funny_apikei": 83, "tmpzupkro": 83, "349182": 83, "_process_multipart_data": 83, "file_prefix": 83, "file_suffix": 83, "cleanup": 83, "counterpart": 83, "httpclient": 83, "asynchttpcli": 83, "basenam": [83, 92], "wsgi_appl": 83, "executor": 83, "forced_head": 83, "removed_head": 83, "wsgi_app": 83, "octoprint_app": 83, "wsgicontain": 83, "__call__": 83, "httputil": 83, "bytesio": 83, "websocket": 83, "websockethandl": 83, "get_compression_opt": 83, "permessag": 83, "deflat": 83, "json_encod": 83, "jsonencod": 83, "frozendict": 83, "_httprequestcontext": 83, "_apply_xhead": 83, "remote_ip": 83, "blindli": [83, 95, 96], "proto": 83, "check_origin": 83, "rfc6454": 83, "path_filt": 83, "status_cod": [83, 92], "vice": 84, "versa": 84, "__overlay__": 84, "allow_fallback": 84, "check_writ": 84, "deep_check_writ": 84, "script_typ": [84, 92], "error_on_path": 84, "encapsul": 85, "display_nam": 85, "my_slic": 85, "save_slicer_profil": [85, 95], "my_default_profil": 85, "my_overrid": 85, "profile_path": [85, 95], "do_slic": [85, 95], "printer_profile_manag": [85, 92], "importantli": 85, "require_configur": 85, "slicer_nam": 85, "couldnotdeleteprofil": 85, "must_exist": 85, "slicerplugin": [85, 93], "ioerror": [85, 95], "stamp": 85, "require_exist": 85, "profile_nam": 85, "callback_arg": 85, "callback_kwarg": 85, "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "printer_profile_id": 85, "_analysi": 85, "_error": 85, "_cancel": 85, "calle": 85, "_progress": [85, 95], "commonli": 86, "default_factori": 86, "kw": 86, "shallow": 86, "od": 86, "run_first": 86, "on_condition_fals": 86, "on_cancel": 86, "repeatedli": 86, "timer": 86, "loop": [86, 92, 95], "exactli": [86, 95], "dynam": [86, 90, 95], "period": [86, 95], "sequenti": 86, "on_reset": 86, "ran": 86, "item_typ": 86, "stackoverflow": [86, 90], "312464": 86, "2028598": [86, 90], "gen": 86, "len": [86, 92], "stacklevel": 86, "includedoc": 86, "extenddoc": 86, "mod": 86, "offend": 86, "docstr": 86, "__doc__": 86, "caller": [86, 92], "shadow": 86, "getattr": 86, "zlib": 86, "decompress": 86, "deep": 86, "fnord": 86, "some_other_bar": 86, "whose": [86, 88, 92, 95], "filter_funct": 86, "key1": 86, "key2": 86, "other_kei": 86, "other_valu": 86, "k": [86, 92], "traceback": 86, "assertionerror": 86, "flatten": 86, "a1": 86, "a2": 86, "leaf_merg": 86, "in_plac": 86, "xormedia": 86, "isinst": [86, 92, 96], "l1": 86, "l2": 86, "diff": 86, "predic": 86, "bom": 86, "importerror": [86, 88, 96], "fmt": 86, "yyyi": 86, "dd": 86, "hh": 86, "num": 86, "unit": 86, "yte": 86, "ilo": 86, "ega": 86, "iga": 86, "era": 86, "decim": 86, "1094933": 86, "timedelta": 86, "ss": 86, "2020083": 86, "fqcn": 86, "comprehensive_json": 86, "s_or_u": 86, "renam": [86, 90], "stderr": 86, "do_something_with_the_passed_lin": 86, "sarg": 86, "underneath": [86, 90], "log_stdout": 86, "log_stderr": 86, "log_cal": 86, "err": 86, "delimit": 86, "buffer_s": 86, "output_timeout": 86, "_async": 86, "ansi": 86, "popen": 86, "win32": 86, "darwin": 86, "freebsd": 86, "compatibility_entri": 86, "current_o": 86, "close_exec": 86, "bunch": [87, 90, 94, 95], "plug": 87, "correspondingli": 87, "circumv": 87, "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_load__": [88, 91, 92], "whatev": [88, 92, 95], "__plugin_version__": [88, 90, 92, 94], "__plugin_description__": [88, 90, 92], "__plugin_author__": [88, 90], "__plugin_url__": [88, 90], "webpag": 88, "__plugin_license__": [88, 90], "__plugin_privacypolicy__": 88, "precaut": 88, "handle_gcode_s": 88, "comm_inst": [88, 92], "cmd_type": [88, 92], "getlogg": [88, 91, 92], "__name__": [88, 91, 92], "__plugin_check__": 88, "some_depend": 88, "check_config": [88, 93], "__plugin_unload__": 88, "__plugin_enable__": 88, "__plugin_disable__": 88, "__plugin_settings_overlay__": 88, "necessit": [88, 95], "5001": 88, "__init": 89, "py__": 89, "helloworld": [89, 90, 95], "cookiecutt": [89, 90], "md": [89, 90], "eleg": 89, "writeup": 89, "cours": [90, 92, 95], "fledg": [90, 95, 97], "pain": 90, "favor": [90, 97], "resembl": 90, "2023": 90, "14": 90, "35": 90, "122": 90, "124": 90, "135": 90, "19": 90, "loadabl": 90, "modern": 90, "helloworldplugin": 90, "on_after_startup": [90, 91, 92, 95], "792": 90, "neat": 90, "greet": [90, 92], "convent": 90, "skeleton": 90, "delta": 90, "kib": 90, "plugin_packag": 90, "octoprint_helloworld": 90, "repo_nam": 90, "full_nam": 90, "net": 90, "github_usernam": 90, "yourgithubnam": 90, "plugin_vers": 90, "plugin_descript": 90, "plugin_licens": 90, "agplv3": 90, "plugin_homepag": 90, "plugin_sourc": 90, "plugin_installurl": 90, "bug_report": 90, "feature_request": 90, "readm": 90, "__init__": [90, 92, 95, 96], "editorconfig": 90, "gitignor": 90, "babel": 90, "cfg": 90, "manifest": 90, "curios": 90, "prefil": 90, "plugin_identifi": 90, "octoprint_": 90, "plugin_author": 90, "mail": 90, "plugin_author_email": 90, "plugin_url": 90, "plugin_requir": 90, "sdist": 90, "14159430": 90, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_ignored_packag": 90, "octoprint_setuptool": 90, "create_plugin_setup_paramet": 90, "somedepend": 90, "additional_setup_paramet": 90, "somerepo": 90, "egg": 90, "python_requir": 90, "remain": 90, "pyc": 90, "discover": 90, "pyenv": 90, "env": 90, "py311": 90, "132": 90, "134": 90, "818": 90, "38": [90, 92], "997": 90, "ugli": 90, "nice": 90, "46": 90, "33": 90, "786": 90, "squash": 90, "48": 90, "54": 90, "templateplugin": [90, 92, 93], "wikipedia": 90, "helloworld_navbar": 90, "hello_world": [90, 95], "ve": [90, 96], "2015": [90, 95], "41": 90, "06": 90, "058": 90, "knockout": [90, 95], "get_template_var": [90, 95], "plugin_helloworld_url": 90, "hallo": 90, "welt": 90, "programm": 90, "47": 90, "18": [90, 92], "634": 90, "friendli": 90, "helloworld_set": 90, "div": [90, 92, 95], "settingsviewmodel": [90, 97], "void": 90, "navigationviewmodel": [90, 97], "unbind": 90, "get_template_config": [90, 92, 95], "custom_bind": [90, 95], "congratul": 90, "nav": 90, "ifram": 90, "helloworld_tab": 90, "xxlarg": 90, "newurl": 90, "primari": 90, "gotourl": 90, "currenturl": 90, "600px": 90, "border": 90, "1px": 90, "808080": 90, "assetplugin": [90, 93], "get_asset": [90, 95], "helloworldviewmodel": 90, "ko": 90, "dom": 90, "_after_": 90, "onbeforebind": [90, 97], "octoprint_viewmodel": [90, 97], "tab_plugin_helloworld": 90, "31": [90, 92], "shini": 90, "desktop": [90, 95], "articl": 90, "squish": 90, "great": 90, "hardcod": 90, "nicer": 90, "Of": [90, 95], "lessj": 90, "bigger": 90, "forgot": 90, "85a134": 90, "compact": 90, "cleaner": 90, "invit": 90, "haven": 90, "curaengin": 90, "navbartemp": 90, "gh": 90, "newplugin": 90, "winless": 90, "__plugin_helpers__": 91, "zeroconf": 91, "excerpt": 91, "pybonjour": 91, "discoveryplugin": 91, "ssdp_brows": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "hopefulli": 91, "_register_growl": 91, "on_api_get": [91, 95], "jsonifi": [91, 92, 95], "browsing_en": 91, "browse_result": 91, "_gntp": 91, "_tcp": 91, "growl_inst": 91, "sibl": 92, "_gcode_hook": 92, "_pluginmanag": 92, "_gcodescript_hook": 92, "retval": 92, "to_list": 92, "scriptlin": 92, "custom_action_command": 92, "customactioncommandplugin": 92, "custom_action_handl": 92, "ordertest": 92, "ordertestplugin": 92, "oneorderedhook": 92, "anotherorderedhook": 92, "yetanotherhook": 92, "orderedhook": 92, "03": 92, "09": 92, "29": 92, "342": 92, "355": 92, "357": 92, "358": 92, "861": 92, "additional_permissions_hook": 92, "my_permiss": 92, "plugin_example_my_permiss": 92, "accessviewmodel": 92, "admin_group": 92, "user_group": 92, "readonly_group": 92, "guest_group": 92, "get_additional_permiss": 92, "gettext": 92, "user_manager_factory_hook": 92, "event_bu": 92, "analysis_queu": 92, "slicing_manag": 92, "file_manag": 92, "plugin_lifecycle_manag": 92, "preemptive_cach": 92, "stock": [92, 95], "settingsmanag": 92, "acl_keyvalidator_hook": 92, "obviou": 92, "educ": 92, "custom_keyvalid": 92, "findus": 92, "cli_commands_hook": 92, "cli_group": 92, "annot": 92, "custom_cli_command": 92, "clitest_command": 92, "greet_command": 92, "pass_context": 92, "random_greet_command": 92, "buon": 92, "giorno": 92, "hola": 92, "konnichiwa": 92, "oh": 92, "hai": 92, "hei": 92, "salv": 92, "randrang": 92, "morn": 92, "stranger": 92, "plugin_settings_from_settings_plugin": 92, "get_cli_command": 92, "plugin_settings_for_settings_plugin": 92, "bu": [92, 94, 95], "firmware_info_hook": 92, "firmware_data": 92, "firmware_vers": 92, "computation": 92, "expens": 92, "machinecom": 92, "firmware_capability_hook": 92, "already_defin": 92, "firmware_capability_report_hook": 92, "firmware_cap": 92, "protocol_action_hook": 92, "some_command": 92, "protocol_atcommandphase_hook": 92, "li": [92, 95], "mirror": 92, "custom_atcommand_handl": 92, "infinit": 92, "setpaus": 92, "protocol_gcodephase_hook": 92, "subcod": 92, "postprocess": 92, "expans": 92, "afterward": 92, "command_phas": 92, "traffic": 92, "2018": 92, "213": 92, "216": 92, "multi_gcode_test": 92, "217": 92, "219": 92, "230": 92, "00m": 92, "232": 92, "234": 92, "242": 92, "243": 92, "552": 92, "553": 92, "f6000": 92, "555": 92, "556": 92, "558": 92, "temperature_pol": 92, "sd_status_pol": 92, "categori": 92, "difficult": 92, "intent": 92, "my_custom_tag": 92, "honest": 92, "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "sent_m106": 92, "gcode_received_hook": 92, "machine_typ": 92, "read_m115_respons": 92, "detect_machine_typ": 92, "parse_firmware_lin": 92, "printer_data": 92, "gcode_error_hook": 92, "error_messag": 92, "recover": 92, "worst": 92, "comm_error_handler_test": 92, "_handled_error": 92, "handle_error": 92, "lower_error": 92, "error_handler_test": 92, "protocol_scripts_hook": 92, "script_nam": 92, "newlin": 92, "message_on_connect": 92, "gcode_script_vari": 92, "protocol_temperatures_received_hook": 92, "parsed_temperatur": 92, "thereof": 92, "45": 92, "178": 92, "prone": 92, "garbag": 92, "sane": [92, 95], "sanitize_temperatur": 92, "parsed_temp": 92, "is_san": 92, "additional_port_names_hook": 92, "serial_factory_hook": 92, "read_timeout": 92, "analogu": 92, "pyseri": 92, "readlin": 92, "eol": [92, 96], "connection_timeout": 92, "_changest": 92, "state_detect_seri": 92, "serial_obj": 92, "_detectport": 92, "_log": 92, "_errorvalu": 92, "state_error": 92, "geterrorstr": 92, "writetimeout": 92, "10000": 92, "pariti": 92, "parity_odd": 92, "parity_non": 92, "register_custom_events_hook": 92, "Their": [92, 97], "transform": [92, 95], "camel_cas": 92, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "my_custom_ev": 92, "my_other_custom_ev": 92, "analysis_queue_factory_hook": 92, "leaf": 92, "mycustomgcodeanalysisqueu": 92, "custom_gcode_analysis_queu": 92, "file_extension_hook": 92, "x3g": 92, "s3g": 92, "support_x3g_machinecod": 92, "file_preprocessor_hook": 92, "untouch": 92, "_strip": 92, "strip_all_com": 92, "strip_com": 92, "commentstripp": 92, "decoded_lin": 92, "valid_file_typ": [92, 95], "splitext": 92, "endswith": 92, "some_file_strip": 92, "additional_state_data_hook": 92, "beneath": [92, 95], "printer_factory_hook": 92, "printerinst": 92, "user_manag": 92, "power": [92, 95], "print_time_estimator_factori": 92, "printtimeestim": 92, "job_typ": 92, "denot": 92, "nonsens": 92, "customprinttimeestim": 92, "cleanedprinttim": 92, "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "2h": 92, "create_estimator_factori": 92, "sd_card_upload_hook": 92, "start_callback": 92, "success_callback": 92, "failure_callback": 92, "local_filenam": 92, "remote_filenam": 92, "success_or_failure_callback": 92, "dummi": [92, 95], "ten": 92, "nop_upload_to_sd": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_fail": 92, "remote_nam": 92, "_get_free_remote_nam": 92, "op": 92, "sd_upload_success": 92, "sd_upload_failur": 92, "after_request_handlers_hook": 92, "before_request_handlers_hook": 92, "access_validator_hook": 92, "router": 92, "server_bodysize_hook": 92, "current_max_body_s": 92, "1024kb": 92, "increase_bodys": 92, "bodysizeplugin": 92, "_size": 92, "api_endpoint": 92, "make_respons": [92, 95], "input_nam": 92, "found_fil": 92, "bodysize_hook": 92, "server_route_hook": 92, "server_rout": 92, "deliv": [92, 95], "add_tornado_rout": 92, "camera": [92, 95], "tornadorouteplugin": 92, "route_hook": 92, "is_hidden_path": 92, "demonstr": [92, 95], "urlforwardhandl": 92, "socket_authed_hook": 92, "deauthent": 92, "socket_registration_hook": 92, "socket_emit_hook": 92, "additional_commands_hook": 92, "z0": 92, "get_additional_command": 92, "additional_bundle_files_hook": 92, "get_additional_bundle_fil": 92, "console_log": 92, "timelapse_extension_hook": 92, "get_timelapse_extens": 92, "templatetype_hook": 92, "template_sort": 92, "template_rul": 92, "sake": 92, "custom_append": 92, "custom_prepend": 92, "custom_add_entri": 92, "custom_add_ord": 92, "_plugin_": [92, 95], "to_entri": 92, "custom_template_provid": 92, "customtemplatetypeprovid": 92, "add_templatetyp": 92, "current_ord": 92, "current_rul": 92, "awesometempl": 92, "_awesometempl": 92, "custom_template_provider_set": 92, "h3": 92, "plugin_custom_template_provider_awesometempl": 92, "_div": 92, "h4": 92, "custom_template_consum": 92, "customtemplatetypeconsum": 92, "enabled_plugin": 92, "custom_template_consumer_awesometempl": 92, "ourselv": 92, "spec": 92, "ui_theming_hook": 92, "loginui_them": 92, "capture_pre_hook": 92, "capture_post_hook": 92, "eventhandlerplugin": 93, "progressplugin": 93, "shutdownplugin": 93, "uiplugin": 93, "webcamproviderplugin": 93, "keyvalid": 93, "capability_report": 93, "additional_port_nam": 93, "extension_tre": [93, 95], "additional_exclud": 93, "before_backup": 93, "after_backup": 93, "before_restor": 93, "after_restor": 93, "reconnect_hook": 93, "handle_connect": 93, "sdcardupload": 93, "bodys": 93, "additional_command": 93, "additional_bundle_fil": 93, "templatetyp": [93, 95], "theme": 93, "diagram": 93, "grow": 93, "galor": 93, "pitfal": 93, "divis": 93, "checklist": 93, "overview": [94, 95], "_plugin_info": 94, "_datafold": 94, "heart": 95, "asset_plugin": 95, "all_asset": 95, "plugin_asset": 95, "preferred_stylesheet": 95, "supported_stylesheet": 95, "plugin_a": 95, "plugin_b": 95, "plugin_c": 95, "plugin_d": 95, "plugina": 95, "pluginb": 95, "pluginc": 95, "plugind": 95, "typic": 95, "get_asset_fold": 95, "appropri": 95, "jsclient": 95, "my_fil": 95, "my_other_fil": 95, "clientj": 95, "my_styl": 95, "behav": [95, 96], "myblueprintplugin": 95, "myecho": 95, "method_nam": 95, "grace": 95, "is_blueprint_csrf_protect": 95, "exempt": 95, "csrf_exempt": 95, "subject": 95, "hello_y": 95, "hello_m": 95, "errorhandl": 95, "code_or_except": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "static_fold": 95, "template_fold": 95, "get_template_fold": 95, "term": 95, "enforc": 95, "forthcom": 95, "is_blueprint_protect": 95, "on_ev": 95, "on_print_progress": 95, "increment": [95, 96], "on_slicing_progress": 95, "destination_loc": 95, "pluginsettingsmanag": 95, "unrel": 95, "experi": [95, 96], "data_fold": 95, "on_settings_sav": 95, "mysettingsplugin": 95, "old_flag": 95, "new_flag": 95, "on_settings_load": 95, "get_settings_restricted_path": 95, "config_version_kei": 95, "_config_vers": 95, "get_settings_preprocessor": 95, "some_kei": 95, "some_other_kei": 95, "some_method": 95, "assert": [95, 96], "some_other_valu": 95, "octoprintpermiss": 95, "admin_onli": 95, "user_onli": 95, "get_settings_vers": 95, "outdat": [95, 96], "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_migr": 95, "overload": 95, "_config": 95, "conjunct": 95, "cleanli": 95, "on_shutdown": 95, "immin": 95, "boil": 95, "flat": 95, "preliminari": 95, "mysimpleapiplugin": 95, "get_api_command": 95, "command1": 95, "command2": 95, "some_paramet": 95, "on_api_command": 95, "elif": 95, "some_optional_paramet": 95, "2342": 95, "140": 95, "is_api_adminonli": 95, "machinecode_path": 95, "model_path": 95, "your_plugins_slicing_progress": 95, "depict": 95, "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "same_devic": 95, "cpu": 95, "progress_report": 95, "source_file_typ": 95, "destination_extens": 95, "is_slicer_configur": 95, "cloud": 95, "enrich": 95, "_navbar": 95, "myplugin_navbar": 95, "_sidebar": 95, "myplugin_sidebar": 95, "_tab": 95, "myplugin_tab": 95, "alphabet": 95, "myplugin_set": 95, "_webcam": 95, "myplugin_webcam": 95, "is_wizard_requir": 95, "_wizard": 95, "myplugin_wizard": 95, "onwizardtabchang": 95, "hasn": 95, "_about": 95, "myplugin_about": 95, "myplugin_first_tab": 95, "myplugin_second_tab": 95, "plugin_myplugin": 95, "plugin_myplugin_2": 95, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_2": 95, "plugin_myplugin_1": 95, "myplugin_first_tab_jinja2": 95, "_1st": 95, "myplugin_second_tab_jinja2": 95, "_2nd": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2nd": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2nd": 95, "data_bind": 95, "myclass": 95, "myotherclass": 95, "font": 95, "fa": 95, "fab": 95, "template_head": 95, "classes_wrapp": 95, "classes_cont": 95, "styles_wrapp": 95, "styles_cont": 95, "classes_link": 95, "styles_link": 95, "bold": 95, "myplugin_othertab": 95, "tempt": 95, "will_handle_ui": 95, "on_ui_rend": 95, "explicit": [95, 96], "_refresh": 95, "altogeth": 95, "exemplari": 95, "userag": 95, "dummy_mobile_ui": 95, "__future__": [95, 96], "absolute_import": [95, 96], "dummymobileuiplugin": 95, "agent": 95, "android": 95, "ipad": 95, "iphon": 95, "user_ag": 95, "render_kwarg": 95, "render_templ": 95, "dummy_mobile_ui_index": 95, "viewport": 95, "scale": 95, "scalabl": 95, "h1": 95, "hope": 95, "disappoint": 95, "ul": 95, "pluginnam": 95, "demand": [95, 97], "lazili": 95, "get_ui_additional_etag": 95, "default_addit": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "werkzeug": 95, "environbuild": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "default_template_filt": 95, "template_typ": 95, "template_kei": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "uiapikei": 95, "freshli": 95, "supportedextens": 95, "classicwebcam": 95, "testpictur": 95, "get_webcam_configur": 95, "take_webcam_snapshot": 95, "webcamnam": 95, "get_wizard_vers": 95, "get_default_set": 95, "reshow": 95, "some_key_unset": 95, "some_other_key_unset": 95, "get_wizard_detail": [95, 97], "onwizarddetail": [95, 97], "is_wizard_ignor": 95, "seen_wizard": 95, "previous": 95, "januari": 96, "1st": 96, "2020": 96, "goal": 96, "ecosystem": 96, "year": 96, "whichev": 96, "python3execut": 96, "usr": 96, "venv3": 96, "btw": 96, "python2": 96, "venv2": 96, "python37": 96, "venv37": 96, "bat": 96, "suggest": 96, "mv": 96, "py2": 96, "anotherplugin": 96, "markdown": 96, "dilig": 96, "comprehens": 96, "sum": 96, "cheat": 96, "sheet": 96, "idiom": 96, "six": 96, "strongli": 96, "book": 96, "chapter": 96, "troublesom": 96, "overcom": 96, "aim": 96, "upcom": 96, "stick": 96, "scenario": 96, "troubl": 96, "problemat": 96, "magic": 96, "wrote": 96, "mess": 96, "distinct": 96, "obvious": 96, "unicode_liter": 96, "annoyingli": 96, "ain": 96, "outskirt": 96, "anyhow": 96, "weird": 96, "my_sub_packag": 96, "revisit": 96, "penalti": 96, "result1": 96, "my_collect": 96, "result2": 96, "__plugin_pycompat__": 96, "print_funct": 96, "thoroughli": 96, "pai": 96, "attent": 96, "proven": 96, "biggest": 96, "topic": 96, "discuss": 96, "roadmap": 96, "sooner": 97, "knockoutj": 97, "letter": 97, "additionalnam": 97, "mycustomviewmodel": 97, "loginst": 97, "someotherviewmodel": 97, "yourcustomviewmodel": 97, "loginstateviewmodel": 97, "some_div": 97, "some_other_div": 97, "practic": 97, "appearanceviewmodel": 97, "connectionviewmodel": 97, "filesviewmodel": 97, "gcodefilesviewmodel": 97, "firstrunviewmodel": 97, "gcodeviewmodel": 97, "logsviewmodel": 97, "printerprofilesviewmodel": 97, "printerstateviewmodel": 97, "slicingviewmodel": 97, "temperatureviewmodel": 97, "terminalviewmodel": 97, "timelapseviewmodel": 97, "usersviewmodel": 97, "usersettingsviewmodel": 97, "wizardviewmodel": 97, "onstartup": 97, "onafterbind": 97, "onallbound": 97, "allviewmodel": 97, "onstartupcomplet": 97, "onserverdisconnect": 97, "ondataupdaterreconnect": 97, "reestablish": 97, "fromhistorydata": 97, "fromcurrentdata": 97, "onslicingprogress": 97, "modelpath": 97, "machinecodepath": 97, "onev": 97, "eventnam": 97, "oneventprintdon": 97, "fromtimelapsedata": 97, "ondataupdaterpluginmessag": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onbeforeprintstart": 97, "ontabchang": 97, "onaftertabchang": 97, "inclus": 97, "onsettingsshown": 97, "onsettingshidden": 97, "onsettingsbeforesav": 97, "onusersettingsshown": 97, "onusersettingshidden": 97, "onusersettingsbeforesav": 97, "onbeforewizardtabchang": 97, "acl": 97, "onafterwizardtabchang": 97, "onbeforewizardfinish": 97, "onwizardfinish": 97, "onwebcamvisibilitychang": 97, "onwebcamrefresh": 97, "heavi": 97}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings-apikey", "/api/settings/apikey"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 10, 1, "", "ApiUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 14, 1, "", "detector"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 14, 1, "", "content_type"], [78, 14, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 10, 1, "", "Config"]], "octoprint.schema.BaseModel.Config": [[82, 13, 1, "", "use_enum_values"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "apps"], [82, 13, 1, "", "key"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustedDownstream"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 11, 1, "", "InvalidApiKeyException"], [83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "loginFromApiKeyRequestHandler"], [83, 8, 1, "", "loginFromAuthorizationHeaderRequestHandler"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 13, 1, "", "response"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 12, 1, "", "deleteApiKey"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "generateApiKey"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "titleterms": {"access": [0, 2, 37, 48, 76, 92], "control": [0, 2, 9, 37, 48, 51, 60, 88], "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "permiss": [0, 2, 48, 92], "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "all": [0, 3, 10, 14, 15], "group": [0, 2], "get": [0, 1, 96], "add": [0, 10, 14, 90], "new": [0, 10], "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "updat": [0, 10, 11, 14, 33], "delet": [0, 3, 7, 14, 16, 31], "user": [0, 2, 4, 73, 76, 90, 92], "chang": [0, 16, 39], "": [0, 3, 41, 45, 56, 90], "password": 0, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "regener": [0, 13], "api": [0, 5, 13, 23, 31, 37, 92], "kei": [0, 13, 23], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "registr": 0, "request": [0, 4, 9, 10, 14, 23, 44], "connect": [1, 11, 59], "handl": [1, 47], "issu": [1, 3, 6, 9, 16, 23], "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "common": [2, 33, 96], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "relat": 2, "state": [2, 9], "temperatur": [2, 9, 37, 92], "histor": 2, "point": 2, "offset": 2, "resend": 2, "stat": 2, "job": [2, 6, 63], "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "progress": 2, "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "folder": [2, 3, 37], "abridg": 2, "gcode": [2, 29, 37, 47, 51, 52, 92], "analysi": [2, 37, 78, 92], "refer": [2, 31], "print": [2, 9, 47], "histori": [2, 11], "statist": 2, "record": 2, "need": 2, "oper": [3, 6, 9, 10, 55], "from": [3, 90, 96], "specif": [3, 14, 31, 48, 96], "locat": 3, "upload": [3, 7], "creat": 3, "gener": [4, 87, 92, 95], "author": [4, 23], "type": [4, 40, 51, 80], "encod": 4, "cross": 4, "origin": 4, "csrf": 4, "protect": 4, "login": [4, 48], "logout": 4, "current": [4, 6, 9, 11, 13, 16], "rest": 5, "about": [6, 9, 19], "languag": [7, 64], "instal": [7, 54, 89], "pack": 7, "compon": [7, 90], "metadata": 7, "log": [8, 31, 39, 46, 65], "manag": [8, 32, 89], "head": 9, "tool": [9, 42], "bed": 9, "chamber": 9, "an": [9, 10, 16, 23, 70], "sd": 9, "last": 9, "error": [9, 26, 44, 92], "send": 9, "arbitrari": 9, "custom": [9, 51, 90, 97], "full": 9, "profil": [10, 14, 37, 44, 47, 81], "singl": 10, "exist": [10, 23], "remov": 10, "push": 11, "payload": 11, "event": [11, 24, 32, 33, 37, 47, 52, 92], "slicingprogress": 11, "server": [12, 17, 37, 47, 77, 83, 92], "save": 13, "system": [13, 15, 37, 71, 92], "wide": 13, "fetch": [13, 23], "templat": 13, "slice": [14, 37, 47, 69, 85], "slicer": 14, "regist": [15, 19, 89, 92, 97], "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "execut": [15, 92, 95], "client": [15, 23, 31, 62], "definit": 15, "timelaps": [16, 47, 72, 92], "config": [16, 37, 48, 82], "unrend": 16, "render": 16, "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "z": 16, "trigger": 16, "time": 16, "util": [17, 33, 74, 78, 83, 86], "variou": 17, "test": 17, "path": 17, "result": 17, "url": 17, "resolut": 17, "address": 17, "version": [18, 33, 45, 89, 96], "wizard": [19, 75], "addit": 19, "finish": 19, "entri": [19, 23], "action": [20, 21, 49, 92], "notif": 20, "support": [20, 21, 23], "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "exampl": [20, 21, 25, 40, 47, 51, 52], "commun": [20, 21, 47, 70], "firmwar": [20, 21, 28, 92], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "prompt": 21, "announc": [22, 25], "applic": 23, "workflow": 23, "redirect": 23, "auth": [23, 70, 92], "dialog": [23, 92], "probe": 23, "start": [23, 55], "process": [23, 47], "poll": 23, "decis": 23, "decid": 23, "pend": 23, "javascript": [23, 62, 90], "librari": [23, 31, 62], "backup": [24, 92], "line": [24, 33], "usag": [24, 33, 34], "hook": [24, 32, 33, 48, 92], "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "additional_exclud": [24, 92], "before_backup": [24, 92], "after_backup": [24, 92], "before_restor": [24, 92], "after_restor": [24, 92], "helper": [24, 33, 91], "create_backup": 24, "delete_backup": 24, "discoveri": 25, "further": [25, 96], "zeroconf": 25, "servic": 25, "_http": 25, "_tcp": 25, "_octoprint": 25, "track": [26, 34], "check": [27, 28, 33], "viewer": [29, 37], "bundl": [30, 52], "avail": [31, 47, 48, 92, 95], "logfil": 31, "j": 31, "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "pluginmanag": [32, 92], "reconnect_hook": [32, 92], "softwar": 33, "first": 33, "step": [33, 48], "method": 33, "pattern": 33, "global": 33, "credenti": 33, "softwareupd": [33, 92], "check_config": [33, 92], "version_check": 33, "except": [33, 85], "anonym": 34, "virtual": [35, 46, 96], "cli": [36, 77, 92], "yaml": [37, 39, 40, 48], "appear": 37, "develop": [37, 42, 43, 54, 93], "estim": [37, 92], "featur": [37, 53], "script": [37, 51, 52, 92], "serial": [37, 92], "termin": 37, "filter": [37, 96], "webcam": [37, 82], "level": 39, "handler": 39, "formatt": 39, "A": 40, "primer": 40, "basic": 40, "rule": 40, "interest": 40, "scalar": 40, "int": 40, "float": 40, "boolean": 40, "string": 40, "dictionari": 40, "branch": 41, "up": [42, 46, 90], "environ": [42, 96], "obtain": 42, "build": 42, "run": 42, "linux": 42, "todo": 42, "window": 42, "option": [42, 46], "recommend": 42, "mac": 42, "o": 42, "x": 42, "id": 42, "setup": [42, 48, 70], "pycharm": 42, "visual": 42, "studio": 42, "vscode": 42, "strategi": 45, "debug": 46, "enabl": 46, "placehold": 47, "autologin": 48, "gather": 48, "The": 48, "easi": 48, "wai": 48, "us": 48, "autologinconfig": 48, "hard": 48, "manual": [48, 54, 89], "edit": 48, "prepar": 48, "octopi": 48, "If": 48, "you": 48, "ar": 48, "vpn": 48, "your": [48, 89, 90, 96], "absolut": [48, 96], "requir": 48, "disabl": 48, "intern": [48, 79], "extens": [48, 92], "theme": [48, 92], "contain": 51, "parameter": 51, "predefin": 52, "snippet": 52, "context": 52, "more": [52, 90], "nifti": 52, "paus": 52, "resum": 52, "find": 54, "safe": 55, "mode": 55, "how": [55, 90, 96], "differ": 55, "v": [55, 96], "normal": 55, "welcom": 56, "document": 56, "browser": 58, "printerprofil": 67, "socket": 70, "sampl": 70, "throttl": 70, "dev": 77, "filemanag": [78, 92], "destin": 78, "storag": 78, "modul": 79, "core": 80, "schema": 82, "flask": 83, "sockj": [83, 92], "tornado": 83, "commandlin": 86, "platform": 86, "concept": [87, 92, 95], "lifecycl": [87, 97], "properti": [88, 94, 95], "distribut": [89, 90], "proper": 89, "packag": 89, "via": 89, "pip": 89, "offici": 89, "repositori": 89, "after": 89, "releas": 89, "tutori": 90, "sai": 90, "hello": 90, "make": 90, "actual": 90, "do": 90, "someth": 90, "grow": 90, "frontend": 90, "fun": 90, "function": 90, "web": [90, 92, 97], "interfac": [90, 97], "galor": 90, "part": 90, "adjust": 90, "ad": 90, "style": 90, "matter": 90, "inject": [90, 94, 95], "css": 90, "page": 90, "where": 90, "we": 90, "go": 90, "here": 90, "order": [92, 95], "factori": 92, "accesscontrol": 92, "keyvalid": 92, "comm": 92, "protocol": 92, "info": 92, "capabl": 92, "capability_report": 92, "atcommand": 92, "phase": 92, "receiv": 92, "transport": 92, "additional_port_nam": 92, "register_custom_ev": 92, "extension_tre": 92, "preprocessor": 92, "additional_state_data": 92, "handle_connect": 92, "sdcardupload": 92, "after_request": 92, "before_request": 92, "http": 92, "access_valid": 92, "bodys": 92, "rout": 92, "emit": 92, "additional_command": 92, "systeminfo": 92, "additional_bundle_fil": 92, "ui": 92, "templatetyp": 92, "captur": 92, "pre": 92, "post": 92, "mixin": 95, "assetplugin": 95, "blueprintplugin": 95, "eventhandlerplugin": 95, "progressplugin": 95, "reloadneedingplugin": 95, "restartneedingplugin": 95, "settingsplugin": 95, "shutdownplugin": 95, "simpleapiplugin": 95, "slicerplugin": 95, "startupplugin": 95, "templateplugin": 95, "uiplugin": 95, "webcamproviderplugin": 95, "wizardplugin": 95, "migrat": 96, "python": 96, "3": 96, "tell": 96, "i": 96, "readi": 96, "pitfal": 96, "dure": 96, "byte": 96, "unicod": 96, "import": 96, "integ": 96, "divis": 96, "iter": 96, "instead": 96, "map": 96, "zip": 96, "checklist": 96, "read": 96, "viewmodel": 97, "depend": 97, "callback": 97, "diagram": 97, "startup": 97, "reconnect": 97}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Access control": [[0, "access-control"], [2, "access-control"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "List all permissions": [[0, "list-all-permissions"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Get group list": [[0, "get-group-list"]], "Add a new group": [[0, "add-a-new-group"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Update a group": [[0, "update-a-group"]], "Delete a group": [[0, "delete-a-group"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Add a new user": [[0, "add-a-new-user"]], "Update a user": [[0, "update-a-user"]], "Delete a user": [[0, "delete-a-user"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Permission list response": [[0, "permission-list-response"]], "Group list response": [[0, "group-list-response"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "User list response": [[0, "user-list-response"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Connection handling": [[1, "connection-handling"]], "Get connection settings": [[1, "get-connection-settings"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Common data model": [[2, "common-data-model"]], "Printer related": [[2, "printer-related"]], "Printer State": [[2, "printer-state"]], "Temperature Data": [[2, "temperature-data"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Temperature offset": [[2, "temperature-offset"]], "Resend stats": [[2, "resend-stats"]], "Job related": [[2, "job-related"]], "Job information": [[2, "job-information"]], "Progress information": [[2, "progress-information"]], "File related": [[2, "file-related"]], "File information": [[2, "file-information"], [31, "file-information"]], "Folders": [[2, "folders"]], "Files": [[2, "files"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "References": [[2, "references"], [31, "references"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "User record": [[2, "user-record"]], "Permission record": [[2, "permission-record"]], "Group record": [[2, "group-record"]], "Needs": [[2, "needs"]], "File operations": [[3, "file-operations"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Issue a file command": [[3, "issue-a-file-command"]], "Delete file": [[3, "delete-file"]], "Retrieve response": [[3, "retrieve-response"]], "Upload response": [[3, "upload-response"]], "General information": [[4, "general-information"]], "Authorization": [[4, "authorization"]], "Content Type": [[4, "content-type"]], "Encoding": [[4, "encoding"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "CSRF Protection": [[4, "csrf-protection"]], "Login": [[4, "login"]], "Logout": [[4, "logout"]], "Current User": [[4, "current-user"]], "Login response": [[4, "login-response"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "REST API": [[5, "rest-api"]], "Job operations": [[6, "job-operations"]], "Issue a job command": [[6, "issue-a-job-command"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Job information response": [[6, "job-information-response"]], "Languages": [[7, "languages"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "List response": [[7, "list-response"], [23, "list-response"]], "Component list": [[7, "component-list"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Log file management": [[8, "log-file-management"]], "Printer operations": [[9, "printer-operations"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Full State Response": [[9, "full-state-response"]], "Temperature State": [[9, "temperature-state"]], "SD State": [[9, "sd-state"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Error Information": [[9, "error-information"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Add or update request": [[10, "add-or-update-request"]], "Profile": [[10, "profile"], [14, "profile"]], "Push updates": [[11, "push-updates"]], "connected payload": [[11, "connected-payload"]], "current and history payload": [[11, "current-and-history-payload"]], "event payload": [[11, "event-payload"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "Server information": [[12, "server-information"]], "Settings": [[13, "settings"], [47, "settings"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Save settings": [[13, "save-settings"]], "Regenerate the system wide API key": [[13, "regenerate-the-system-wide-api-key"]], "Fetch template data": [[13, "fetch-template-data"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Slicer list": [[14, "slicer-list"]], "Slicer": [[14, "slicer"]], "Profile Update Request": [[14, "profile-update-request"]], "System": [[15, "system"], [37, "system"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "List all response": [[15, "list-all-response"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Timelapse": [[16, "timelapse"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Timelapse list": [[16, "timelapse-list"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Path test result": [[17, "path-test-result"]], "URL test result": [[17, "url-test-result"]], "Server test result": [[17, "server-test-result"]], "Resolution test result": [[17, "resolution-test-result"]], "Address test result": [[17, "address-test-result"]], "Version information": [[18, "version-information"]], "Wizard": [[19, "wizard"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Finish wizards": [[19, "finish-wizards"]], "Wizard data entry": [[19, "wizard-data-entry"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Start authorization process": [[23, "start-authorization-process"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Key response": [[23, "key-response"]], "Decision request": [[23, "decision-request"]], "Key list entry": [[23, "key-list-entry"]], "Pending list entry": [[23, "pending-list-entry"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Backup Plugin": [[24, "backup-plugin"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "create_backup": [[24, "create-backup"]], "delete_backup": [[24, "delete-backup"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Example": [[25, "example"], [47, "example"]], "Announced Services": [[25, "announced-services"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "File Check": [[27, "file-check"]], "Firmware Check": [[28, "firmware-check"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Logging": [[31, "logging"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "JS Client Library": [[31, "js-client-library"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "Plugin Manager": [[32, "plugin-manager"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "Software Update Plugin": [[33, "software-update-plugin"]], "First Steps": [[33, "first-steps"]], "Version checks": [[33, "version-checks"]], "Update methods": [[33, "update-methods"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Global credentials": [[33, "global-credentials"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]], "updaters": [[33, "updaters"]], "exceptions": [[33, "exceptions"]], "util": [[33, "util"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Virtual Printer": [[35, "virtual-printer"]], "CLI": [[36, "cli"]], "config.yaml": [[37, "config-yaml"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Appearance": [[37, "appearance"]], "Controls": [[37, "controls"], [51, "controls"]], "Development settings": [[37, "development-settings"]], "Estimation": [[37, "estimation"]], "Feature": [[37, "feature"]], "Folder": [[37, "folder"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Viewer": [[37, "gcode-viewer"]], "Plugin settings": [[37, "plugin-settings"]], "Printer Profiles": [[37, "printer-profiles"]], "Scripts": [[37, "scripts"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Temperature": [[37, "temperature"]], "Terminal Filters": [[37, "terminal-filters"]], "Webcam": [[37, "webcam"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "logging.yaml": [[39, "logging-yaml"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "A YAML Primer": [[40, "a-yaml-primer"]], "Basic Rules": [[40, "basic-rules"]], "Interesting data types": [[40, "interesting-data-types"]], "Scalars": [[40, "scalars"]], "int": [[40, "int"]], "float": [[40, "float"]], "boolean": [[40, "boolean"]], "string": [[40, "string"]], "Lists": [[40, "lists"]], "Dictionaries": [[40, "dictionaries"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "Linux": [[42, "linux"]], "Todo": [[42, "id1"], [42, "id3"]], "Windows": [[42, "windows"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Mac OS X": [[42, "mac-os-x"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "PyCharm": [[42, "pycharm"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "Development": [[43, "development"]], "Profiling requests": [[44, "profiling-requests"]], "Errors": [[44, "errors"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Log file": [[46, "log-file"]], "Debug commands": [[46, "debug-commands"]], "Placeholders": [[47, "placeholders"]], "Available Events": [[47, "available-events"]], "Printer communication": [[47, "printer-communication"]], "File handling": [[47, "file-handling"]], "Printing": [[47, "printing"]], "GCODE processing": [[47, "gcode-processing"]], "Timelapses": [[47, "timelapses"]], "Printer Profile": [[47, "printer-profile"]], "Autologin": [[48, "autologin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Preparation": [[48, "preparation"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "Action Commands": [[49, "action-commands"]], "@ Commands": [[50, "commands"]], "Custom Controls": [[51, "custom-controls"]], "Types": [[51, "types"]], "Containers": [[51, "containers"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "GCODE Scripts": [[52, "gcode-scripts"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Snippets": [[52, "snippets"]], "Context": [[52, "context"]], "Bundled Scripts": [[52, "bundled-scripts"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Features": [[53, "features"]], "Plugins": [[54, "plugins"]], "Finding Plugins": [[54, "finding-plugins"]], "Installing Plugins": [[54, "installing-plugins"]], "Manual Installation": [[54, "manual-installation"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Safe mode": [[55, "safe-mode"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Communication Throttling": [[70, "communication-throttling"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "Internal Modules": [[79, "internal-modules"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "Lifecycle": [[87, "lifecycle"]], "Control Properties": [[88, "control-properties"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Manual file distribution": [[89, "manual-file-distribution"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.theming.

                        ": [[92, "octoprint-theming-dialog"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Mixins": [[95, "mixins"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "AssetPlugin": [[95, "assetplugin"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "ProgressPlugin": [[95, "progressplugin"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "SlicerPlugin": [[95, "slicerplugin"]], "StartupPlugin": [[95, "startupplugin"]], "TemplatePlugin": [[95, "templateplugin"]], "UiPlugin": [[95, "uiplugin"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "WizardPlugin": [[95, "wizardplugin"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "Absolute imports": [[96, "absolute-imports"]], "Version specific imports": [[96, "version-specific-imports"]], "Integer division": [[96, "integer-division"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "Checklist": [[96, "checklist"]], "Further reading": [[96, "further-reading"]], "Viewmodels": [[97, "viewmodels"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Dependencies": [[97, "dependencies"]], "Callbacks": [[97, "callbacks"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Web interface startup": [[97, "web-interface-startup"]], "Web interface reconnect": [[97, "web-interface-reconnect"]]}, "indexentries": {"octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate"]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision"]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide"]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey"]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys"]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey"]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys"]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe"]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request"]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser"]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey"]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp"]], "additional_excludes_hook()": [[24, "additional_excludes_hook"]], "after_backup_hook()": [[24, "after_backup_hook"]], "after_restore_hook()": [[24, "after_restore_hook"]], "before_backup_hook()": [[24, "before_backup_hook"]], "before_restore_hook()": [[24, "before_restore_hook"]], "built-in function": [[24, "additional_excludes_hook"], [24, "after_backup_hook"], [24, "after_restore_hook"], [24, "before_backup_hook"], [24, "before_restore_hook"], [32, "reconnect_hooks_hook"], [33, "update_config_hook"], [92, "access_validator_hook"], [92, "acl_keyvalidator_hook"], [92, "additional_bundle_files_hook"], [92, "additional_commands_hook"], [92, "additional_permissions_hook"], [92, "additional_port_names_hook"], [92, "additional_state_data_hook"], [92, "after_request_handlers_hook"], [92, "analysis_queue_factory_hook"], [92, "before_request_handlers_hook"], [92, "capture_post_hook"], [92, "capture_pre_hook"], [92, "cli_commands_hook"], [92, "file_extension_hook"], [92, "file_preprocessor_hook"], [92, "firmware_capability_hook"], [92, "firmware_capability_report_hook"], [92, "firmware_info_hook"], [92, "gcode_error_hook"], [92, "gcode_received_hook"], [92, "print_time_estimator_factory"], [92, "printer_factory_hook"], [92, "protocol_action_hook"], [92, "protocol_atcommandphase_hook"], [92, "protocol_gcodephase_hook"], [92, "protocol_scripts_hook"], [92, "protocol_temperatures_received_hook"], [92, "register_custom_events_hook"], [92, "sd_card_upload_hook"], [92, "serial_factory_hook"], [92, "server_bodysize_hook"], [92, "server_route_hook"], [92, "templatetype_hook"], [92, "timelapse_extension_hook"], [92, "ui_theming_hook"], [92, "user_manager_factory_hook"]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper"]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper"]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog"]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog"]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs"]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook"]], "update_config_hook()": [[33, "update_config_hook"]], "octoprintclient() (class)": [[57, "OctoPrintClient"]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError"]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax"]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData"]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException"]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred"]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete"]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download"]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get"]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl"]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl"]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie"]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders"]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl"]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery"]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand"]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options"]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch"]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson"]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins"]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post"]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson"]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put"]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson"]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent"]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand"]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet"]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload"]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login"]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout"]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin"]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect"]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect"]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck"]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings"]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls"]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode"]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript"]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters"]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters"]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy"]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder"]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete"]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download"]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath"]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get"]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list"]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation"]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move"]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry"]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select"]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice"]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload"]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel"]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get"]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause"]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart"]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume"]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start"]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause"]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete"]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list"]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload"]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude"]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState"]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState"]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState"]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState"]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState"]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home"]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd"]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog"]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd"]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd"]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool"]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature"]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset"]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature"]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset"]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate"]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate"]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures"]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets"]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add"]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete"]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get"]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list"]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update"]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey"]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get"]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings"]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save"]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings"]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer"]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer"]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer"]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles"]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer"]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer"]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect"]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate"]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect"]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate"]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage"]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh"]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow"]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options"]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect"]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage"]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth"]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage"]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand"]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands"]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource"]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete"]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered"]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download"]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get"]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig"]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list"]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered"]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered"]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered"]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig"]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add"]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword"]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete"]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey"]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get"]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings"]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list"]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey"]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings"]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update"]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test"]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable"]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath"]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution"]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer"]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl"]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish"]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get"]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser"]], "apiuser (class in octoprint.access.users)": [[76, "octoprint.access.users.ApiUser"]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage"]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername"]], "unknownrole": [[76, "octoprint.access.users.UnknownRole"]], "unknownuser": [[76, "octoprint.access.users.UnknownUser"]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User"]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists"]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict"]], "module": [[76, "module-octoprint.access.users"], [77, "module-octoprint.cli"], [77, "module-octoprint.cli.dev"], [77, "module-octoprint.cli.plugins"], [77, "module-octoprint.cli.server"], [78, "module-octoprint.filemanager"], [78, "module-octoprint.filemanager.analysis"], [78, "module-octoprint.filemanager.destinations"], [78, "module-octoprint.filemanager.storage"], [78, "module-octoprint.filemanager.util"], [80, "module-octoprint.plugin"], [80, "module-octoprint.plugin.core"], [80, "module-octoprint.plugin.types"], [81, "module-octoprint.printer"], [81, "module-octoprint.printer.profile"], [82, "module-octoprint.schema"], [82, "module-octoprint.schema.config"], [82, "module-octoprint.schema.config.access_control"], [82, "module-octoprint.schema.config.api"], [82, "module-octoprint.schema.config.appearance"], [82, "module-octoprint.schema.config.controls"], [82, "module-octoprint.schema.config.devel"], [82, "module-octoprint.schema.config.estimation"], [82, "module-octoprint.schema.config.events"], [82, "module-octoprint.schema.config.feature"], [82, "module-octoprint.schema.config.folder"], [82, "module-octoprint.schema.config.gcode_analysis"], [82, "module-octoprint.schema.config.plugins"], [82, "module-octoprint.schema.config.printer_parameters"], [82, "module-octoprint.schema.config.printer_profiles"], [82, "module-octoprint.schema.config.scripts"], [82, "module-octoprint.schema.config.serial"], [82, "module-octoprint.schema.config.server"], [82, "module-octoprint.schema.config.slicing"], [82, "module-octoprint.schema.config.system"], [82, "module-octoprint.schema.config.temperature"], [82, "module-octoprint.schema.config.terminalfilters"], [82, "module-octoprint.schema.config.webcam"], [82, "module-octoprint.schema.webcam"], [83, "module-octoprint.server"], [83, "module-octoprint.server.util"], [83, "module-octoprint.server.util.flask"], [83, "module-octoprint.server.util.sockjs"], [83, "module-octoprint.server.util.tornado"], [84, "module-octoprint.settings"], [85, "module-octoprint.slicing"], [85, "module-octoprint.slicing.exceptions"], [86, "module-octoprint.util"], [86, "module-octoprint.util.commandline"], [86, "module-octoprint.util.platform"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption"]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext"]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands"]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands"]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options"]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options"]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command"]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command"]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option"]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli"]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options"]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands"]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx"]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager"]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server"]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options"]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option"]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings"]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options"]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue"]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper"]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted"]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue"]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector"]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping"]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper"]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue"]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream"]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage"]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream"]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage"]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry"]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface"]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper"]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort"]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis"]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file"]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file"]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder"]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder"]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link"]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link"]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog"]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog"]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize"]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize"]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close"]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close"]], "content_type (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type"]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file"]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file"]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder"]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder"]], "detector (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.detector"]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue"]], "extensions (octoprint.filemanager.contenttypedetector property)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions"]], "extensions (octoprint.filemanager.contenttypemapping property)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions"]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists"]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists"]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path"]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path"]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists"]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists"]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata"]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata"]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified"]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified"]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata"]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata"]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size"]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size"]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis"]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis"]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path"]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path"]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified"]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified"]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files"]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files"]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file"]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file"]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder"]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage"]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage"]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk"]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk"]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause"]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line"]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable"]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable"]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata"]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata"]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file"]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file"]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder"]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder"]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link"]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link"]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume"]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize"]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize"]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name"]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name"]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path"]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path"]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save"]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save"]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save"]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable"]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable"]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata"]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata"]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path"]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path"]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream"]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream"]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream"]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable"]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable"]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin"]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin"]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo"]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager"]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings"]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin"]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin"]], "_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue"]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager"]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder"]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker"]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder"]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus"]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager"]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier"]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger"]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager"]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager"]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name"]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version"]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer"]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager"]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager"]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager"]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay"]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author"]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted"]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled"]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin"]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check"]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description"]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable"]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin"]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged"]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable"]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin"]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled"]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled"]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get"]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean"]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations"]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float"]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers"]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook"]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks"]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation"]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations"]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int"]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin"]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder"]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder"]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info"]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path"]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key"]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get"]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder"]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean"]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float"]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int"]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set"]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean"]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float"]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int"]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks"]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins"]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks"]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks"]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation"]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers"]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden"]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks"]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks"]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation"]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible"]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize"]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax"]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook"]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked"]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook"]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin"]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license"]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load"]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded"]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str"]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin"]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable"]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin"]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name"]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled"]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled"]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall"]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin"]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata"]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks"]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager"]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings"]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins"]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy"]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat"]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver"]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins"]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay"]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save"]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message"]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set"]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean"]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float"]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int"]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload"]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver"]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url"]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate"]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version"]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor"]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin"]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER"]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR"]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError"]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError"]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT"]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback"]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface"]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager"]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR"]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError"]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file"]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print"]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool"]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands"]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect"]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect"]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude"]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack"]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate"]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate"]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options"]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options"]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection"]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data"]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job"]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures"]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id"]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string"]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history"]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport"]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home"]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling"]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error"]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file"]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error"]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational"]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused"]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing"]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing"]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready"]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold"]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog"]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log"]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message"]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature"]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message"]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data"]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data"]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print"]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback"]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print"]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script"]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file"]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback"]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold"]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature"]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset"]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print"]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print"]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback"]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file"]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes"]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex"]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex"]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig"]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig"]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum"]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig"]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig"]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel"]], "basemodel.config (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel.Config"]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum"]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig"]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig"]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig"]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig"]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config"]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig"]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig"]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig"]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig"]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig"]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig"]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig"]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig"]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig"]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig"]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription"]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig"]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig"]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig"]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig"]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig"]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum"]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig"]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum"]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig"]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig"]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig"]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig"]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig"]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig"]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig"]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum"]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig"]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum"]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum"]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig"]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities"]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig"]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts"]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig"]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig"]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig"]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum"]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum"]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig"]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig"]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile"]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry"]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig"]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions"]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum"]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig"]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam"]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility"]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig"]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel"]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about"]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about"]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl"]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax"]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action"]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions"]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers"]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates"]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses"]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts"]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled"]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone"]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed"]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected"]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange"]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin"]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming"]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths"]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always"]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always"]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum"]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api"]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance"]], "apps (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.apps"]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_"]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist"]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect"]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs"]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged"]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal"]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh"]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval"]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos"]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus"]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp"]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate"]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause"]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed"]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ"]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused"]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted"]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected"]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange"]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate"]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates"]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts"]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling"]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands"]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue"]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle"]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol"]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache"]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster"]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot"]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities"]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll"]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword"]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands"]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children"]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays"]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup"]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick"]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color"]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon"]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent"]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command"]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command"]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command"]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands"]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands"]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication"]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy"]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat"]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components"]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm"]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm"]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection"]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls"]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies"]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical"]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css"]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff"]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data"]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug"]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default"]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default"]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default"]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage"]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles"]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout"]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer"]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam"]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect"]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive"]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst"]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel"]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection"]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled"]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled"]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors"]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace"]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName"]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands"]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser"]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection"]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload"]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter"]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand"]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled"]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled"]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled"]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled"]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled"]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled"]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled"]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding"]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames"]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation"]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event"]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events"]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions"]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive"]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20"]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection"]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras"]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder"]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature"]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg"]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline"]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads"]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline"]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec"]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection"]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun"]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH"]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV"]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder"]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin"]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent"]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible"]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three"]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps"]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes"]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder"]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode"]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode"]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis"]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated"]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic"]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic"]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green"]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager"]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile"]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat"]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand"]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal"]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host"]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host"]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback"]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader"]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown"]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle"]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle"]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts"]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware"]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends"]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup"]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands"]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info"]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input"]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval"]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval"]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck"]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript"]], "key (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.key"]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl"]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize"]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax"]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout"]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less"]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write"]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks"]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand"]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log"]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel"]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause"]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends"]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs"]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long"]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands"]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency"]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max"]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts"]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends"]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders"]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting"]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize"]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize"]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses"]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min"]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify"]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins"]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection"]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name"]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name"]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name"]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name"]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name"]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name"]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name"]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name"]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name"]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name"]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix"]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar"]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar"]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never"]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never"]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never"]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum"]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none"]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control"]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api"]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance"]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls"]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel"]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation"]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events"]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature"]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder"]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis"]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins"]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters"]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles"]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts"]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial"]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server"]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing"]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system"]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature"]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters"]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off"]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck"]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options"]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange"]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order"]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter"]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix"]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers"]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands"]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager"]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist"]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings"]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins"]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins"]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched"]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port"]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port"]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port"]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback"]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader"]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport"]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait"]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll"]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive"]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache"]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback"]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader"]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation"]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation"]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime"]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters"]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles"]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles"]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing"]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles"]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red"]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex"]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex"]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder"]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader"]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp"]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk"]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart"]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold"]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop"]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy"]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90"]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt"]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt"]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite"]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools"]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback"]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader"]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script"]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts"]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts"]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable"]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand"]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase"]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath"]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus"]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport"]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport"]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey"]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure"]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards"]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically"]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter"]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands"]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError"]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial"]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server"]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback"]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader"]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand"]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings"]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings"]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso"]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename"]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation"]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar"]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar"]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine"]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing"]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles"]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider"]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot"]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay"]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation"]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout"]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam"]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets"]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout"]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order"]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold"]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode"]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil"]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step"]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream"]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio"]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout"]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers"]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict"]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet"]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions"]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand"]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk"]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait"]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend"]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system"]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system"]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand"]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand"]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab"]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab"]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature"]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature"]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport"]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph"]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet"]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template"]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters"]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize"]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio"]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines"]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio"]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed"]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse"]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse"]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled"]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp"]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout"]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout"]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations"]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29"]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication"]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser"]], "trusteddownstream (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedDownstream"]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets"]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl"]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type"]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type"]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck"]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until"]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation"]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads"]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads"]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url"]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState"]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround"]], "use_enum_values (octoprint.schema.basemodel.config attribute)": [[82, "octoprint.schema.BaseModel.Config.use_enum_values"]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager"]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile"]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings"]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings"]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange"]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical"]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet"]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd"]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect"]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList"]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn"]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning"]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched"]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark"]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets"]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam"]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled"]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard"]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard"]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow"]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange"]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS"]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException"]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin"]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection"]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters"]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection"]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer"]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler"]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler"]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler"]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform"]], "invalidapikeyexception": [[83, "octoprint.server.util.InvalidApiKeyException"]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler"]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache"]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity"]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest"]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse"]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider"]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface"]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver"]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment"]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin"]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater"]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler"]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler"]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler"]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession"]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler"]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler"]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler"]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer"]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory"]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add"]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done"]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified"]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag"]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies"]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler"]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler"]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler"]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler"]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received"]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default"]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete"]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete"]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie"]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps"]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension"]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ"]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access"]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode"]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling"]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin"]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get"]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get"]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type"]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version"]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix"]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request"]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request"]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream"]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions"]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head"]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize"]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize"]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize"]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize"]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize"]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize"]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize"]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart"]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path"]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception"]], "loginfromapikeyrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromApiKeyRequestHandler"]], "loginfromauthorizationheaderrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromAuthorizationHeaderRequestHandler"]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error"]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response"]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild"]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler"]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler"]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish"]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options"]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin"]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path"]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch"]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory"]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator"]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator"]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post"]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare"]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put"]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado"]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler"]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently"]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with"]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login"]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with"]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path"]], "response (octoprint.server.util.flask.octoprintflaskresponse attribute)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.response"]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access"]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session"]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name"]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port"]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set"]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie"]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers"]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers"]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler"]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie"]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix"]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get"]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect"]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY"]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings"]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay"]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback"]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup"]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder"]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config"]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash"]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml"]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings"]], "deleteapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.deleteApiKey"]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective"]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash"]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml"]], "generateapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.generateApiKey"]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get"]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder"]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean"]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat"]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt"]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has"]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified"]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty"]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts"]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load"]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript"]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay"]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove"]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay"]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback"]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders"]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save"]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript"]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set"]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder"]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean"]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat"]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt"]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings"]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues"]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings"]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists"]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException"]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException"]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured"]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled"]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException"]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager"]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile"]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile"]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile"]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer"]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles"]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing"]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers"]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer"]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile"]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path"]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer"]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path"]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize"]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile"]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified"]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers"]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers"]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile"]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile"]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice"]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer"]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer"]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled"]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS"]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet"]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller"]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError"]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict"]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture"]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue"]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer"]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer"]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue"]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue"]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call"]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call"]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks"]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi"]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy"]], "count() (in module octoprint.util)": [[86, "octoprint.util.count"]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated"]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize"]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean"]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys"]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter"]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten"]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge"]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff"]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize"]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict"]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii"]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get"]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom"]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class"]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string"]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime"]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size"]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta"]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname"]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os"]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file"]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible"]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items"]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call"]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr"]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout"]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation"]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp"]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put"]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run"]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run"]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize"]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec"]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes"]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str"]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str"]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode"]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values"]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated"]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation"]], "access_validator_hook()": [[92, "access_validator_hook"]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook"]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook"]], "additional_commands_hook()": [[92, "additional_commands_hook"]], "additional_permissions_hook()": [[92, "additional_permissions_hook"]], "additional_port_names_hook()": [[92, "additional_port_names_hook"]], "additional_state_data_hook()": [[92, "additional_state_data_hook"]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook"]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook"]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook"]], "capture_post_hook()": [[92, "capture_post_hook"]], "capture_pre_hook()": [[92, "capture_pre_hook"]], "cli_commands_hook()": [[92, "cli_commands_hook"]], "file_extension_hook()": [[92, "file_extension_hook"]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook"]], "firmware_capability_hook()": [[92, "firmware_capability_hook"]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook"]], "firmware_info_hook()": [[92, "firmware_info_hook"]], "gcode_error_hook()": [[92, "gcode_error_hook"]], "gcode_received_hook()": [[92, "gcode_received_hook"]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory"]], "printer_factory_hook()": [[92, "printer_factory_hook"]], "protocol_action_hook()": [[92, "protocol_action_hook"]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook"]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook"]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook"]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook"]], "register_custom_events_hook()": [[92, "register_custom_events_hook"]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook"]], "serial_factory_hook()": [[92, "serial_factory_hook"]], "server_bodysize_hook()": [[92, "server_bodysize_hook"]], "server_route_hook()": [[92, "server_route_hook"]], "templatetype_hook()": [[92, "templatetype_hook"]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook"]], "ui_theming_hook()": [[92, "ui_theming_hook"]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook"]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin"]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin"]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin"]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin"]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin"]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin"]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin"]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin"]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin"]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin"]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin"]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin"]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin"]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin"]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin"]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing"]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key"]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt"]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice"]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler"]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands"]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder"]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets"]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint"]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes"]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs"]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults"]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors"]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths"]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version"]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile"]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree"]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile"]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles"]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified"]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties"]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs"]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder"]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars"]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag"]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache"]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching"]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files"]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag"]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified"]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter"]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files"]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching"]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions"]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless"]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled"]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations"]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details"]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version"]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly"]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected"]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected"]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured"]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored"]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required"]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup"]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command"]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get"]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event"]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress"]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup"]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized"]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load"]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate"]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save"]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown"]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress"]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup"]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render"]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish"]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route"]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile"]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot"]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui"]]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"@ Commands": [[50, "commands"]], "A YAML Primer": [[40, "a-yaml-primer"]], "API": [[23, "api"], [31, "api"], [37, "api"]], "Abridged file or folder information": [[2, "abridged-file-or-folder-information"]], "Absolute imports": [[96, "absolute-imports"]], "Access Control": [[37, "access-control"], [48, "access-control"]], "Access control": [[0, "access-control"], [2, "access-control"]], "Action Command Notification support": [[20, "action-command-notification-support"]], "Action Command Prompt support": [[21, "action-command-prompt-support"]], "Action Commands": [[49, "action-commands"]], "Add Slicing Profile": [[14, "add-slicing-profile"]], "Add a new group": [[0, "add-a-new-group"]], "Add a new printer profile": [[10, "add-a-new-printer-profile"]], "Add a new user": [[0, "add-a-new-user"]], "Add or update request": [[10, "add-or-update-request"]], "Address test result": [[17, "address-test-result"]], "Announced Services": [[25, "announced-services"]], "Announcement Plugin": [[22, "announcement-plugin"]], "Anonymous Usage Tracking Plugin": [[34, "anonymous-usage-tracking-plugin"]], "Appearance": [[37, "appearance"]], "Application Keys Plugin": [[23, "application-keys-plugin"]], "Arbitrary Command Request": [[9, "arbitrary-command-request"]], "AssetPlugin": [[95, "assetplugin"]], "Authorization": [[4, "authorization"]], "Authorization request": [[23, "authorization-request"]], "Authorization response": [[23, "authorization-response"]], "Autologin": [[48, "autologin"]], "Available Events": [[47, "available-events"]], "Available Extension Hooks": [[48, "available-extension-hooks"]], "Available plugin hooks": [[92, "available-plugin-hooks"]], "Available plugin mixins": [[95, "available-plugin-mixins"]], "Backup Plugin": [[24, "backup-plugin"]], "Basic Rules": [[40, "basic-rules"]], "BlueprintPlugin": [[95, "blueprintplugin"]], "Bundled Plugins": [[30, "bundled-plugins"]], "Bundled Scripts": [[52, "bundled-scripts"]], "Bytes vs unicode": [[96, "bytes-vs-unicode"]], "CLI": [[36, "cli"]], "CSRF Protection": [[4, "csrf-protection"]], "Callbacks": [[97, "callbacks"]], "Change a user\u2019s password": [[0, "change-a-user-s-password"]], "Change current timelapse config": [[16, "change-current-timelapse-config"]], "Changing log levels": [[39, "changing-log-levels"]], "Changing logging formatters": [[39, "changing-logging-formatters"]], "Changing logging handlers": [[39, "changing-logging-handlers"]], "Checklist": [[96, "checklist"]], "Client command definitions": [[15, "client-command-definitions"]], "Command definition": [[15, "command-definition"]], "Command line usage": [[24, "command-line-usage"], [33, "command-line-usage"]], "Common configuration patterns": [[33, "common-configuration-patterns"]], "Common data model": [[2, "common-data-model"]], "Common pitfalls during migration": [[96, "common-pitfalls-during-migration"]], "Communication Throttling": [[70, "communication-throttling"]], "Component list": [[7, "component-list"]], "Configuration": [[38, "configuration"], [47, "configuration"], [48, "configuration"]], "Configuring the Plugin": [[32, "configuring-the-plugin"], [33, "configuring-the-plugin"]], "Configuring the plugin": [[20, "configuring-the-plugin"], [21, "configuring-the-plugin"], [22, "configuring-the-plugin"], [24, "configuring-the-plugin"], [25, "configuring-the-plugin"], [26, "configuring-the-plugin"], [29, "configuring-the-plugin"], [34, "configuring-the-plugin"], [35, "configuring-the-plugin"]], "Connection handling": [[1, "connection-handling"]], "Containers": [[51, "containers"]], "Content Type": [[4, "content-type"]], "Contents": [[0, "contents"], [1, "contents"], [2, "contents"], [3, "contents"], [4, "contents"], [6, "contents"], [7, "contents"], [9, "contents"], [10, "contents"], [11, "contents"], [13, "contents"], [14, "contents"], [16, "contents"], [19, "contents"], [37, "contents"], [47, "contents"], [51, "contents"], [52, "contents"], [56, "contents"]], "Context": [[52, "context"]], "Control Properties": [[88, "control-properties"]], "Controls": [[37, "controls"], [51, "controls"]], "Cross-origin requests": [[4, "cross-origin-requests"]], "Current User": [[4, "current-user"]], "Current user": [[4, "sec-api-general-datamodel-currentuser"]], "Custom Controls": [[51, "custom-controls"]], "Custom Controls Response": [[9, "custom-controls-response"]], "Data model": [[0, "data-model"], [3, "data-model"], [4, "data-model"], [6, "data-model"], [7, "data-model"], [9, "data-model"], [10, "data-model"], [11, "data-model"], [13, "data-model"], [14, "data-model"], [15, "data-model"], [16, "data-model"], [17, "data-model"], [19, "data-model"], [23, "data-model"], [31, "data-model"]], "Debug commands": [[46, "debug-commands"]], "Decide on existing request": [[23, "decide-on-existing-request"]], "Decision request": [[23, "decision-request"]], "Delete Slicing Profile": [[14, "delete-slicing-profile"]], "Delete a group": [[0, "delete-a-group"]], "Delete a language pack": [[7, "delete-a-language-pack"]], "Delete a specific logfile": [[31, "delete-a-specific-logfile"]], "Delete a timelapse": [[16, "delete-a-timelapse"]], "Delete a user": [[0, "delete-a-user"]], "Delete a user\u2019s api key": [[0, "delete-a-user-s-api-key"]], "Delete an unrendered timelapse": [[16, "delete-an-unrendered-timelapse"]], "Delete file": [[3, "delete-file"]], "Dependencies": [[97, "dependencies"]], "Developing Plugins": [[54, "developing-plugins"], [93, "developing-plugins"]], "Development": [[43, "development"]], "Development settings": [[37, "development-settings"]], "Dictionaries": [[40, "dictionaries"]], "Differences of safe mode vs normal operation mode": [[55, "differences-of-safe-mode-vs-normal-operation-mode"]], "Discovery Plugin": [[25, "discovery-plugin"]], "Distributing your plugin": [[89, "distributing-your-plugin"]], "Enabling the virtual printer": [[46, "enabling-the-virtual-printer"]], "Encoding": [[4, "encoding"]], "Error Information": [[9, "error-information"]], "Error Tracking Plugin": [[26, "error-tracking-plugin"]], "Errors": [[44, "errors"]], "Estimation": [[37, "estimation"]], "EventHandlerPlugin": [[95, "eventhandlerplugin"]], "Events": [[24, "events"], [32, "events"], [33, "events"], [37, "events"], [47, "events"], [52, "events"]], "Example": [[25, "example"], [47, "example"]], "Example communication with the firmware": [[20, "example-communication-with-the-firmware"], [21, "example-communication-with-the-firmware"]], "Examples": [[40, "examples"], [51, "examples"], [52, "examples"]], "Execute a registered system command": [[15, "execute-a-registered-system-command"]], "Execution Order": [[92, "execution-order"], [95, "execution-order"]], "Feature": [[37, "feature"]], "Features": [[53, "features"]], "Fetch list of existing application keys": [[23, "fetch-list-of-existing-application-keys"]], "Fetch template data": [[13, "fetch-template-data"]], "File Check": [[27, "file-check"]], "File handling": [[47, "file-handling"]], "File information": [[2, "file-information"], [31, "file-information"]], "File operations": [[3, "file-operations"]], "File related": [[2, "file-related"]], "Files": [[2, "files"]], "Finding Plugins": [[54, "finding-plugins"]], "Finish wizards": [[19, "finish-wizards"]], "Firmware Check": [[28, "firmware-check"]], "First Steps": [[33, "first-steps"]], "Folder": [[37, "folder"]], "Folders": [[2, "folders"]], "Frontend fun: How to add functionality to OctoPrint\u2019s web interface": [[90, "frontend-fun-how-to-add-functionality-to-octoprint-s-web-interface"]], "Full State Response": [[9, "full-state-response"]], "Further ZeroConf Services": [[25, "further-zeroconf-services"]], "Further reading": [[96, "further-reading"]], "GCODE Analysis": [[37, "gcode-analysis"]], "GCODE Scripts": [[52, "gcode-scripts"]], "GCODE Viewer": [[37, "gcode-viewer"]], "GCODE analysis information": [[2, "gcode-analysis-information"]], "GCODE processing": [[47, "gcode-processing"]], "GCode Viewer Plugin": [[29, "gcode-viewer-plugin"]], "Gather configuration information": [[48, "gather-configuration-information"]], "General Concepts": [[87, "general-concepts"], [92, "general-concepts"], [95, "general-concepts"]], "General information": [[4, "general-information"]], "Get a user\u2019s settings": [[0, "get-a-user-s-settings"]], "Get connection settings": [[1, "get-connection-settings"]], "Get group list": [[0, "get-group-list"]], "Global credentials": [[33, "global-credentials"]], "Group list response": [[0, "group-list-response"]], "Group record": [[2, "group-record"]], "Group registration request": [[0, "group-registration-request"]], "Group update request": [[0, "group-update-request"]], "Groups": [[0, "groups"], [0, "sec-api-access-datamodel-groups"]], "Growing up: How to make it distributable": [[90, "growing-up-how-to-make-it-distributable"]], "Helpers": [[24, "helpers"], [33, "helpers"], [91, "helpers"]], "Historic Temperature Data Point": [[2, "historic-temperature-data-point"]], "Hooks": [[24, "hooks"], [32, "hooks"], [33, "hooks"], [92, "hooks"]], "How to get a Python 3 virtual environment with OctoPrint": [[96, "how-to-get-a-python-3-virtual-environment-with-octoprint"]], "How to start OctoPrint in safe mode": [[55, "how-to-start-octoprint-in-safe-mode"]], "IDE Setup": [[42, "sec-development-environment-ides"]], "If you are using a VPN and your setup ABSOLUTELY REQUIRES disabling internal OctoPrint access controls": [[48, "if-you-are-using-a-vpn-and-your-setup-absolutely-requires-disabling-internal-octoprint-access-controls"]], "Injected Properties": [[94, "injected-properties"], [95, "injected-properties"]], "Installing Plugins": [[54, "installing-plugins"]], "Integer division": [[96, "integer-division"]], "Interesting data types": [[40, "interesting-data-types"]], "Internal Modules": [[79, "internal-modules"]], "Issue a bed command": [[9, "issue-a-bed-command"]], "Issue a chamber command": [[9, "issue-a-chamber-command"]], "Issue a command for an unrendered timelapse": [[16, "issue-a-command-for-an-unrendered-timelapse"]], "Issue a connection command": [[1, "issue-a-connection-command"]], "Issue a file command": [[3, "issue-a-file-command"]], "Issue a job command": [[6, "issue-a-job-command"]], "Issue a print head command": [[9, "issue-a-print-head-command"]], "Issue a tool command": [[9, "issue-a-tool-command"]], "Issue an SD command": [[9, "issue-an-sd-command"]], "Issue an application key command": [[23, "issue-an-application-key-command"]], "Iterators instead of list from map, filter, zip": [[96, "iterators-instead-of-list-from-map-filter-zip"]], "JS Client Library": [[31, "js-client-library"]], "JavaScript Client Library": [[23, "javascript-client-library"], [62, "javascript-client-library"]], "Job information": [[2, "job-information"]], "Job information response": [[6, "job-information-response"]], "Job operations": [[6, "job-operations"]], "Job related": [[2, "job-related"]], "Key list entry": [[23, "key-list-entry"]], "Key response": [[23, "key-response"]], "Language pack metadata": [[7, "language-pack-metadata"]], "Languages": [[7, "languages"]], "Lifecycle": [[87, "lifecycle"]], "Lifecycle diagrams": [[97, "lifecycle-diagrams"]], "Linux": [[42, "linux"]], "List All Slicers and Slicing Profiles": [[14, "list-all-slicers-and-slicing-profiles"]], "List Slicing Profiles of a Specific Slicer": [[14, "list-slicing-profiles-of-a-specific-slicer"]], "List all permissions": [[0, "list-all-permissions"]], "List all registered system commands": [[15, "list-all-registered-system-commands"]], "List all registered system commands for a source": [[15, "list-all-registered-system-commands-for-a-source"]], "List all response": [[15, "list-all-response"]], "List response": [[7, "list-response"], [23, "list-response"]], "Lists": [[40, "lists"]], "Log file": [[46, "log-file"]], "Log file management": [[8, "log-file-management"]], "Logfile Retrieve Response": [[31, "logfile-retrieve-response"]], "Logging": [[31, "logging"]], "Login": [[4, "login"]], "Login response": [[4, "login-response"]], "Logout": [[4, "logout"]], "Mac OS X": [[42, "mac-os-x"]], "Manual Installation": [[54, "manual-installation"]], "Manual file distribution": [[89, "manual-file-distribution"]], "Migrating to Python 3": [[96, "migrating-to-python-3"]], "Mixins": [[95, "mixins"]], "More frontend fun: Adding custom javascript to your frontend components": [[90, "more-frontend-fun-adding-custom-javascript-to-your-frontend-components"]], "More nifty pause and resume": [[52, "more-nifty-pause-and-resume"]], "Needs": [[2, "needs"]], "Obtaining, building and running the source": [[42, "obtaining-building-and-running-the-source"]], "OctoPi specific steps": [[48, "octopi-specific-steps"]], "OctoPrintClient": [[57, "octoprintclient"]], "OctoPrintClient.browser": [[58, "octoprintclient-browser"]], "OctoPrintClient.connection": [[59, "octoprintclient-connection"]], "OctoPrintClient.control": [[60, "octoprintclient-control"]], "OctoPrintClient.files": [[61, "octoprintclient-files"]], "OctoPrintClient.job": [[63, "octoprintclient-job"]], "OctoPrintClient.languages": [[64, "octoprintclient-languages"]], "OctoPrintClient.logs": [[65, "octoprintclient-logs"]], "OctoPrintClient.plugins.logging": [[31, "octoprintclient-plugins-logging"]], "OctoPrintClient.printer": [[66, "octoprintclient-printer"]], "OctoPrintClient.printerprofiles": [[67, "octoprintclient-printerprofiles"]], "OctoPrintClient.settings": [[68, "octoprintclient-settings"]], "OctoPrintClient.slicing": [[69, "octoprintclient-slicing"]], "OctoPrintClient.socket": [[70, "octoprintclient-socket"]], "OctoPrintClient.system": [[71, "octoprintclient-system"]], "OctoPrintClient.timelapse": [[72, "octoprintclient-timelapse"]], "OctoPrintClient.users": [[73, "octoprintclient-users"]], "OctoPrintClient.util": [[74, "octoprintclient-util"]], "OctoPrintClient.wizard": [[75, "octoprintclient-wizard"]], "OctoPrint\u2019s branching model": [[41, "octoprint-s-branching-model"]], "OctoPrint\u2019s versioning strategy": [[45, "octoprint-s-versioning-strategy"]], "Optional but recommended tools": [[42, "optional-but-recommended-tools"]], "Parameterized GCODE Script": [[51, "parameterized-gcode-script"]], "Path test result": [[17, "path-test-result"]], "Pending list entry": [[23, "pending-list-entry"]], "Permission list response": [[0, "permission-list-response"]], "Permission record": [[2, "permission-record"]], "Permissions": [[0, "permissions"], [0, "sec-api-access-datamodel-permissions"]], "Placeholders": [[47, "placeholders"]], "Plugin Manager": [[32, "plugin-manager"]], "Plugin Tutorial": [[90, "plugin-tutorial"]], "Plugin settings": [[37, "plugin-settings"]], "Plugins": [[54, "plugins"]], "Poll for decision on existing request": [[23, "poll-for-decision-on-existing-request"]], "Predefined Scripts": [[52, "predefined-scripts"]], "Preparation": [[48, "preparation"]], "Print History": [[2, "print-history"]], "Print Statistics": [[2, "print-statistics"]], "Printer Profile": [[47, "printer-profile"]], "Printer Profiles": [[37, "printer-profiles"]], "Printer State": [[2, "printer-state"]], "Printer communication": [[47, "printer-communication"]], "Printer operations": [[9, "printer-operations"]], "Printer profile operations": [[10, "printer-profile-operations"]], "Printer related": [[2, "printer-related"]], "Printing": [[47, "printing"]], "Probe for workflow support": [[23, "probe-for-workflow-support"]], "Profile": [[10, "profile"], [14, "profile"]], "Profile Update Request": [[14, "profile-update-request"]], "Profile list": [[10, "profile-list"], [14, "profile-list"]], "Profiling requests": [[44, "profiling-requests"]], "Progress information": [[2, "progress-information"]], "ProgressPlugin": [[95, "progressplugin"]], "Proper packages installable via pip": [[89, "proper-packages-installable-via-pip"]], "Push updates": [[11, "push-updates"]], "PyCharm": [[42, "pycharm"]], "REST API": [[5, "rest-api"]], "References": [[2, "references"], [31, "references"]], "Regenerate a user\u2019s api key": [[0, "regenerate-a-user-s-api-key"]], "Regenerate the system wide API key": [[13, "regenerate-the-system-wide-api-key"]], "Registering custom viewmodels": [[97, "registering-custom-viewmodels"]], "Registering with the official plugin repository": [[89, "registering-with-the-official-plugin-repository"]], "ReloadNeedingPlugin": [[95, "reloadneedingplugin"]], "Remove an existing printer profile": [[10, "remove-an-existing-printer-profile"]], "Rendered timelapse": [[16, "rendered-timelapse"]], "Resend stats": [[2, "resend-stats"]], "Resolution test result": [[17, "resolution-test-result"]], "RestartNeedingPlugin": [[95, "restartneedingplugin"]], "Retrieve Specific Profile": [[14, "retrieve-specific-profile"]], "Retrieve a group": [[0, "retrieve-a-group"]], "Retrieve a list of available log files": [[31, "retrieve-a-list-of-available-log-files"]], "Retrieve a list of timelapses and the current config": [[16, "retrieve-a-list-of-timelapses-and-the-current-config"]], "Retrieve a list of users": [[0, "retrieve-a-list-of-users"]], "Retrieve a single printer profile": [[10, "retrieve-a-single-printer-profile"]], "Retrieve a specific file\u2019s or folder\u2019s information": [[3, "retrieve-a-specific-file-s-or-folder-s-information"]], "Retrieve a user": [[0, "retrieve-a-user"]], "Retrieve additional data about registered wizards": [[19, "retrieve-additional-data-about-registered-wizards"]], "Retrieve all files": [[3, "retrieve-all-files"]], "Retrieve all printer profiles": [[10, "retrieve-all-printer-profiles"]], "Retrieve current settings": [[13, "retrieve-current-settings"]], "Retrieve custom controls": [[9, "retrieve-custom-controls"]], "Retrieve files from specific location": [[3, "retrieve-files-from-specific-location"]], "Retrieve information about the current job": [[6, "retrieve-information-about-the-current-job"]], "Retrieve information about the last error": [[9, "retrieve-information-about-the-last-error"]], "Retrieve installed language packs": [[7, "retrieve-installed-language-packs"]], "Retrieve response": [[3, "retrieve-response"]], "Retrieve the current SD state": [[9, "retrieve-the-current-sd-state"]], "Retrieve the current bed state": [[9, "retrieve-the-current-bed-state"]], "Retrieve the current chamber state": [[9, "retrieve-the-current-chamber-state"]], "Retrieve the current printer state": [[9, "retrieve-the-current-printer-state"]], "Retrieve the current tool state": [[9, "retrieve-the-current-tool-state"]], "SD State": [[9, "sd-state"]], "Safe mode": [[55, "safe-mode"]], "Sample to setup an authed socket": [[70, "sample-to-setup-an-authed-socket"]], "Save settings": [[13, "save-settings"]], "Saying hello: How to make the plugin actually do something": [[90, "saying-hello-how-to-make-the-plugin-actually-do-something"]], "Scalars": [[40, "scalars"]], "Scripts": [[37, "scripts"]], "Send an arbitrary command to the printer": [[9, "send-an-arbitrary-command-to-the-printer"]], "Serial": [[37, "serial"]], "Server": [[37, "server"], [47, "server"]], "Server information": [[12, "server-information"]], "Server test result": [[17, "server-test-result"]], "Setting up a Development environment": [[42, "setting-up-a-development-environment"]], "Setting up the virtual printer for debugging": [[46, "setting-up-the-virtual-printer-for-debugging"]], "Settings": [[13, "settings"], [47, "settings"]], "Settings Galore: How to make parts of your plugin user adjustable": [[90, "settings-galore-how-to-make-parts-of-your-plugin-user-adjustable"]], "SettingsPlugin": [[95, "settingsplugin"]], "ShutdownPlugin": [[95, "shutdownplugin"]], "SimpleApiPlugin": [[95, "simpleapiplugin"]], "Slicer": [[14, "slicer"]], "Slicer list": [[14, "slicer-list"]], "SlicerPlugin": [[95, "slicerplugin"]], "Slicing": [[14, "slicing"], [37, "slicing"], [47, "slicing"]], "Snippets": [[52, "snippets"]], "Software Update Plugin": [[33, "software-update-plugin"]], "Source Code": [[26, "source-code"], [29, "source-code"], [31, "source-code"], [32, "source-code"], [33, "source-code"], [34, "source-code"], [35, "source-code"]], "Source code": [[20, "source-code"], [21, "source-code"], [22, "source-code"], [23, "source-code"], [24, "source-code"], [25, "source-code"]], "Start authorization process": [[23, "start-authorization-process"]], "StartupPlugin": [[95, "startupplugin"]], "Style matters: Injecting custom CSS into the page": [[90, "style-matters-injecting-custom-css-into-the-page"]], "Supported action commands": [[20, "supported-action-commands"], [21, "supported-action-commands"]], "System": [[15, "system"], [37, "system"]], "Telling OctoPrint your plugin is Python 3 ready": [[96, "telling-octoprint-your-plugin-is-python-3-ready"]], "Temperature": [[37, "temperature"]], "Temperature Data": [[2, "temperature-data"]], "Temperature State": [[9, "temperature-state"]], "Temperature offset": [[2, "temperature-offset"]], "TemplatePlugin": [[95, "templateplugin"]], "Terminal Filters": [[37, "terminal-filters"]], "The easy way: Using the OctoPrint-AutoLoginConfig plugin": [[48, "the-easy-way-using-the-octoprint-autologinconfig-plugin"]], "The hard way: Manual editing of config.yaml": [[48, "the-hard-way-manual-editing-of-config-yaml"]], "Time triggered timelapse": [[16, "time-triggered-timelapse"]], "Timelapse": [[16, "timelapse"]], "Timelapse configuration": [[16, "timelapse-configuration"]], "Timelapse list": [[16, "timelapse-list"]], "Timelapses": [[47, "timelapses"]], "Todo": [[42, "id1"], [42, "id3"]], "Types": [[51, "types"]], "URL test result": [[17, "url-test-result"]], "UiPlugin": [[95, "uiplugin"]], "Unrendered timelapse": [[16, "unrendered-timelapse"]], "Update Slicing Profile": [[14, "update-slicing-profile"]], "Update a group": [[0, "update-a-group"]], "Update a user": [[0, "update-a-user"]], "Update a user\u2019s settings": [[0, "update-a-user-s-settings"]], "Update an existing printer profile": [[10, "update-an-existing-printer-profile"]], "Update methods": [[33, "update-methods"]], "Upload a language pack": [[7, "upload-a-language-pack"]], "Upload file or create folder": [[3, "upload-file-or-create-folder"]], "Upload response": [[3, "upload-response"]], "User list response": [[0, "user-list-response"]], "User record": [[2, "user-record"]], "User registration request": [[0, "user-registration-request"]], "User update request": [[0, "user-update-request"]], "Users": [[0, "users"], [0, "sec-api-access-datamodel-users"]], "Util": [[17, "util"]], "Various tests": [[17, "various-tests"]], "Version checks": [[33, "version-checks"]], "Version information": [[18, "version-information"]], "Version management after the official plugin repository release": [[89, "version-management-after-the-official-plugin-repository-release"]], "Version specific imports": [[96, "version-specific-imports"]], "Viewmodels": [[97, "viewmodels"]], "Virtual Printer": [[35, "virtual-printer"]], "Virtual printer configuration options": [[46, "virtual-printer-configuration-options"]], "Visual Studio Code (vscode)": [[42, "visual-studio-code-vscode"]], "Web interface reconnect": [[97, "web-interface-reconnect"]], "Web interface startup": [[97, "web-interface-startup"]], "Webcam": [[37, "webcam"]], "WebcamProviderPlugin": [[95, "webcamproviderplugin"]], "Welcome to OctoPrint\u2019s documentation!": [[56, "welcome-to-octoprint-s-documentation"]], "Where do we go from here?": [[90, "where-do-we-go-from-here"]], "Windows": [[42, "windows"]], "Wizard": [[19, "wizard"]], "Wizard data entry": [[19, "wizard-data-entry"]], "WizardPlugin": [[95, "wizardplugin"]], "Workflow": [[23, "workflow"]], "Workflow with redirect to auth dialog": [[23, "workflow-with-redirect-to-auth-dialog"]], "Z-change-triggered timelapse": [[16, "z-change-triggered-timelapse"]], "ZeroConf Service _http._tcp": [[25, "zeroconf-service-http-tcp"]], "ZeroConf Service _octoprint._tcp": [[25, "zeroconf-service-octoprint-tcp"]], "boolean": [[40, "boolean"]], "config.yaml": [[37, "config-yaml"]], "connected payload": [[11, "connected-payload"]], "create_backup": [[24, "create-backup"]], "current and history payload": [[11, "current-and-history-payload"]], "delete_backup": [[24, "delete-backup"]], "event payload": [[11, "event-payload"]], "exceptions": [[33, "exceptions"]], "float": [[40, "float"]], "int": [[40, "int"]], "logging.yaml": [[39, "logging-yaml"]], "octoprint.access.permissions": [[48, "octoprint-access-permissions"], [92, "octoprint-access-permissions"]], "octoprint.access.users": [[76, "module-octoprint.access.users"]], "octoprint.access.users.factory": [[92, "octoprint-access-users-factory"]], "octoprint.accesscontrol.keyvalidator": [[92, "octoprint-accesscontrol-keyvalidator"]], "octoprint.cli": [[77, "module-octoprint.cli"]], "octoprint.cli.commands": [[92, "octoprint-cli-commands"]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev"]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins"]], "octoprint.cli.server": [[77, "module-octoprint.cli.server"]], "octoprint.comm.protocol.action": [[92, "octoprint-comm-protocol-action"]], "octoprint.comm.protocol.atcommand.": [[92, "octoprint-comm-protocol-atcommand-phase"]], "octoprint.comm.protocol.firmware.capabilities": [[92, "octoprint-comm-protocol-firmware-capabilities"]], "octoprint.comm.protocol.firmware.capability_report": [[92, "octoprint-comm-protocol-firmware-capability-report"]], "octoprint.comm.protocol.firmware.info": [[92, "octoprint-comm-protocol-firmware-info"]], "octoprint.comm.protocol.gcode.": [[92, "octoprint-comm-protocol-gcode-phase"]], "octoprint.comm.protocol.gcode.error": [[92, "octoprint-comm-protocol-gcode-error"]], "octoprint.comm.protocol.gcode.received": [[92, "octoprint-comm-protocol-gcode-received"]], "octoprint.comm.protocol.scripts": [[92, "octoprint-comm-protocol-scripts"]], "octoprint.comm.protocol.temperatures.received": [[92, "octoprint-comm-protocol-temperatures-received"]], "octoprint.comm.transport.serial.additional_port_names": [[92, "octoprint-comm-transport-serial-additional-port-names"]], "octoprint.comm.transport.serial.factory": [[92, "octoprint-comm-transport-serial-factory"]], "octoprint.events.register_custom_events": [[92, "octoprint-events-register-custom-events"]], "octoprint.filemanager": [[78, "module-octoprint.filemanager"]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis"]], "octoprint.filemanager.analysis.factory": [[92, "octoprint-filemanager-analysis-factory"]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations"]], "octoprint.filemanager.extension_tree": [[92, "octoprint-filemanager-extension-tree"]], "octoprint.filemanager.preprocessor": [[92, "octoprint-filemanager-preprocessor"]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage"]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util"]], "octoprint.plugin": [[80, "module-octoprint.plugin"]], "octoprint.plugin.backup.additional_excludes": [[24, "octoprint-plugin-backup-additional-excludes"], [92, "octoprint-plugin-backup-additional-excludes"]], "octoprint.plugin.backup.after_backup": [[24, "octoprint-plugin-backup-after-backup"], [92, "octoprint-plugin-backup-after-backup"]], "octoprint.plugin.backup.after_restore": [[24, "octoprint-plugin-backup-after-restore"], [92, "octoprint-plugin-backup-after-restore"]], "octoprint.plugin.backup.before_backup": [[24, "octoprint-plugin-backup-before-backup"], [92, "octoprint-plugin-backup-before-backup"]], "octoprint.plugin.backup.before_restore": [[24, "octoprint-plugin-backup-before-restore"], [92, "octoprint-plugin-backup-before-restore"]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core"]], "octoprint.plugin.pluginmanager.reconnect_hooks": [[32, "octoprint-plugin-pluginmanager-reconnect-hooks"], [92, "octoprint-plugin-pluginmanager-reconnect-hooks"]], "octoprint.plugin.softwareupdate.check_config": [[33, "octoprint-plugin-softwareupdate-check-config"], [92, "octoprint-plugin-softwareupdate-check-config"]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types"]], "octoprint.printer": [[81, "module-octoprint.printer"]], "octoprint.printer.additional_state_data": [[92, "octoprint-printer-additional-state-data"]], "octoprint.printer.estimation.factory": [[92, "octoprint-printer-estimation-factory"]], "octoprint.printer.factory": [[92, "octoprint-printer-factory"]], "octoprint.printer.handle_connect": [[92, "octoprint-printer-handle-connect"]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile"]], "octoprint.printer.sdcardupload": [[92, "octoprint-printer-sdcardupload"]], "octoprint.schema": [[82, "module-octoprint.schema"]], "octoprint.schema.config": [[82, "module-octoprint.schema.config"]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam"]], "octoprint.server": [[83, "module-octoprint.server"]], "octoprint.server.api.after_request": [[92, "octoprint-server-api-after-request"]], "octoprint.server.api.before_request": [[92, "octoprint-server-api-before-request"]], "octoprint.server.http.access_validator": [[92, "octoprint-server-http-access-validator"]], "octoprint.server.http.bodysize": [[92, "octoprint-server-http-bodysize"]], "octoprint.server.http.routes": [[92, "octoprint-server-http-routes"]], "octoprint.server.sockjs.authed": [[92, "octoprint-server-sockjs-authed"]], "octoprint.server.sockjs.emit": [[92, "octoprint-server-sockjs-emit"]], "octoprint.server.sockjs.register": [[92, "octoprint-server-sockjs-register"]], "octoprint.server.util": [[83, "module-octoprint.server.util"]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask"]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs"]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado"]], "octoprint.settings": [[84, "module-octoprint.settings"]], "octoprint.slicing": [[85, "module-octoprint.slicing"]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions"]], "octoprint.system.additional_commands": [[92, "octoprint-system-additional-commands"]], "octoprint.systeminfo.additional_bundle_files": [[92, "octoprint-systeminfo-additional-bundle-files"]], "octoprint.theming.": [[92, "octoprint-theming-dialog"]], "octoprint.theming.login": [[48, "octoprint-theming-login"]], "octoprint.timelapse.capture.post": [[92, "octoprint-timelapse-capture-post"]], "octoprint.timelapse.capture.pre": [[92, "octoprint-timelapse-capture-pre"]], "octoprint.timelapse.extensions": [[92, "octoprint-timelapse-extensions"]], "octoprint.ui.web.templatetypes": [[92, "octoprint-ui-web-templatetypes"]], "octoprint.util": [[86, "module-octoprint.util"]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline"]], "octoprint.util.platform": [[86, "module-octoprint.util.platform"]], "slicingProgress payload": [[11, "slicingprogress-payload"]], "string": [[40, "string"]], "updaters": [[33, "updaters"]], "util": [[33, "util"]], "version_checks": [[33, "sec-bundledplugins-softwareupdate-helpers-version-checks"]]}, "docnames": ["api/access", "api/connection", "api/datamodel", "api/files", "api/general", "api/index", "api/job", "api/languages", "api/logs", "api/printer", "api/printerprofiles", "api/push", "api/server", "api/settings", "api/slicing", "api/system", "api/timelapse", "api/util", "api/version", "api/wizard", "bundledplugins/action_command_notification", "bundledplugins/action_command_prompt", "bundledplugins/announcements", "bundledplugins/appkeys", "bundledplugins/backup", "bundledplugins/discovery", "bundledplugins/errortracking", "bundledplugins/file_check", "bundledplugins/firmware_check", "bundledplugins/gcodeviewer", "bundledplugins/index", "bundledplugins/logging", "bundledplugins/pluginmanager", "bundledplugins/softwareupdate", "bundledplugins/tracking", "bundledplugins/virtual_printer", "configuration/cli", "configuration/config_yaml", "configuration/index", "configuration/logging_yaml", "configuration/yaml", "development/branches", "development/environment", "development/index", "development/request-profiling", "development/versioning", "development/virtual_printer", "events/index", "features/accesscontrol", "features/action_commands", "features/atcommands", "features/custom_controls", "features/gcode_scripts", "features/index", "features/plugins", "features/safemode", "index", "jsclientlib/base", "jsclientlib/browser", "jsclientlib/connection", "jsclientlib/control", "jsclientlib/files", "jsclientlib/index", "jsclientlib/job", "jsclientlib/languages", "jsclientlib/logs", "jsclientlib/printer", "jsclientlib/printerprofiles", "jsclientlib/settings", "jsclientlib/slicing", "jsclientlib/socket", "jsclientlib/system", "jsclientlib/timelapse", "jsclientlib/users", "jsclientlib/util", "jsclientlib/wizard", "modules/access", "modules/cli", "modules/filemanager", "modules/index", "modules/plugin", "modules/printer", "modules/schema", "modules/server", "modules/settings", "modules/slicing", "modules/util", "plugins/concepts", "plugins/controlproperties", "plugins/distributing", "plugins/gettingstarted", "plugins/helpers", "plugins/hooks", "plugins/index", "plugins/injectedproperties", "plugins/mixins", "plugins/python3_migration", "plugins/viewmodels"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["api/access.rst", "api/connection.rst", "api/datamodel.rst", "api/files.rst", "api/general.rst", "api/index.rst", "api/job.rst", "api/languages.rst", "api/logs.rst", "api/printer.rst", "api/printerprofiles.rst", "api/push.rst", "api/server.rst", "api/settings.rst", "api/slicing.rst", "api/system.rst", "api/timelapse.rst", "api/util.rst", "api/version.rst", "api/wizard.rst", "bundledplugins/action_command_notification.rst", "bundledplugins/action_command_prompt.rst", "bundledplugins/announcements.rst", "bundledplugins/appkeys.rst", "bundledplugins/backup.rst", "bundledplugins/discovery.rst", "bundledplugins/errortracking.rst", "bundledplugins/file_check.rst", "bundledplugins/firmware_check.rst", "bundledplugins/gcodeviewer.rst", "bundledplugins/index.rst", "bundledplugins/logging.rst", "bundledplugins/pluginmanager.rst", "bundledplugins/softwareupdate.rst", "bundledplugins/tracking.rst", "bundledplugins/virtual_printer.rst", "configuration/cli.rst", "configuration/config_yaml.rst", "configuration/index.rst", "configuration/logging_yaml.rst", "configuration/yaml.rst", "development/branches.rst", "development/environment.rst", "development/index.rst", "development/request-profiling.rst", "development/versioning.rst", "development/virtual_printer.rst", "events/index.rst", "features/accesscontrol.rst", "features/action_commands.rst", "features/atcommands.rst", "features/custom_controls.rst", "features/gcode_scripts.rst", "features/index.rst", "features/plugins.rst", "features/safemode.rst", "index.rst", "jsclientlib/base.rst", "jsclientlib/browser.rst", "jsclientlib/connection.rst", "jsclientlib/control.rst", "jsclientlib/files.rst", "jsclientlib/index.rst", "jsclientlib/job.rst", "jsclientlib/languages.rst", "jsclientlib/logs.rst", "jsclientlib/printer.rst", "jsclientlib/printerprofiles.rst", "jsclientlib/settings.rst", "jsclientlib/slicing.rst", "jsclientlib/socket.rst", "jsclientlib/system.rst", "jsclientlib/timelapse.rst", "jsclientlib/users.rst", "jsclientlib/util.rst", "jsclientlib/wizard.rst", "modules/access.rst", "modules/cli.rst", "modules/filemanager.rst", "modules/index.rst", "modules/plugin.rst", "modules/printer.rst", "modules/schema.rst", "modules/server.rst", "modules/settings.rst", "modules/slicing.rst", "modules/util.rst", "plugins/concepts.rst", "plugins/controlproperties.rst", "plugins/distributing.rst", "plugins/gettingstarted.rst", "plugins/helpers.rst", "plugins/hooks.rst", "plugins/index.rst", "plugins/injectedproperties.rst", "plugins/mixins.rst", "plugins/python3_migration.rst", "plugins/viewmodels.rst"], "indexentries": {"_analysis_queue (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._analysis_queue", false]], "_app_session_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._app_session_manager", false]], "_basefolder (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._basefolder", false]], "_connectivity_checker (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._connectivity_checker", false]], "_data_folder (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._data_folder", false]], "_do_abort() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_abort", false]], "_do_analysis() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue._do_analysis", false]], "_event_bus (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._event_bus", false]], "_file_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._file_manager", false]], "_identifier (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._identifier", false]], "_logger (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._logger", false]], "_plugin_lifecycle_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_lifecycle_manager", false]], "_plugin_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._plugin_manager", false]], "_plugin_name (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_name", false]], "_plugin_version (octoprint.plugin.core.plugin attribute)": [[80, "octoprint.plugin.core.Plugin._plugin_version", false]], "_printer (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer", false]], "_printer_profile_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._printer_profile_manager", false]], "_slicing_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._slicing_manager", false]], "_user_manager (octoprint.plugin.types.octoprintplugin attribute)": [[80, "octoprint.plugin.types.OctoPrintPlugin._user_manager", false]], "abortheatuponcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.abortHeatupOnCancel", false]], "about (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.about", false]], "about (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.about", false]], "abstractanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue", false]], "abstractfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.AbstractFileWrapper", false]], "access_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.access_validation_factory", false]], "access_validator_hook()": [[92, "access_validator_hook", false]], "accesscontrol (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.accessControl", false]], "accesscontrolconfig (class in octoprint.schema.config.access_control)": [[82, "octoprint.schema.config.access_control.AccessControlConfig", false]], "ackmax (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ackMax", false]], "acl_keyvalidator_hook()": [[92, "acl_keyvalidator_hook", false]], "action (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.action", false]], "actionconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.ActionConfig", false]], "actions (octoprint.schema.config.system.systemconfig attribute)": [[82, "octoprint.schema.config.system.SystemConfig.actions", false]], "add() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.add", false]], "add_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_file", false]], "add_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_file", false]], "add_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_folder", false]], "add_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_folder", false]], "add_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.add_link", false]], "add_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.add_link", false]], "add_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.add_overlay", false]], "add_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_overlay", false]], "add_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.add_path_update_callback", false]], "additional_bundle_files_hook()": [[92, "additional_bundle_files_hook", false]], "additional_commands_hook()": [[92, "additional_commands_hook", false]], "additional_excludes_hook()": [[24, "additional_excludes_hook", false]], "additional_permissions_hook()": [[92, "additional_permissions_hook", false]], "additional_port_names_hook()": [[92, "additional_port_names_hook", false]], "additional_state_data_hook()": [[92, "additional_state_data_hook", false]], "additionalbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalBaudrates", false]], "additionalclasses (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.additionalClasses", false]], "additionalports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.additionalPorts", false]], "addremoteusers (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.addRemoteUsers", false]], "after_backup_hook()": [[24, "after_backup_hook", false]], "after_request_handlers_hook()": [[92, "after_request_handlers_hook", false]], "after_restore_hook()": [[24, "after_restore_hook", false]], "afterprintcancelled (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintCancelled", false]], "afterprintdone (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintDone", false]], "afterprinterconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrinterConnected", false]], "afterprintresumed (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterPrintResumed", false]], "aftertoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.afterToolChange", false]], "all_profiles() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.all_profiles", false]], "allowcrossorigin (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.allowCrossOrigin", false]], "allowedloginredirectpaths (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowedLoginRedirectPaths", false]], "allowframing (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.allowFraming", false]], "always (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.always", false]], "always (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.always", false]], "alwaysdetectneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum", false]], "alwayssendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.alwaysSendChecksum", false]], "analysis_backlog (octoprint.filemanager.storage.localfilestorage property)": [[78, "octoprint.filemanager.storage.LocalFileStorage.analysis_backlog", false]], "analysis_backlog (octoprint.filemanager.storage.storageinterface property)": [[78, "octoprint.filemanager.storage.StorageInterface.analysis_backlog", false]], "analysis_queue_factory_hook()": [[92, "analysis_queue_factory_hook", false]], "analysisaborted": [[78, "octoprint.filemanager.analysis.AnalysisAborted", false]], "analysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.AnalysisQueue", false]], "anonymoususer (class in octoprint.access.users)": [[76, "octoprint.access.users.AnonymousUser", false]], "api (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.api", false]], "apiconfig (class in octoprint.schema.config.api)": [[82, "octoprint.schema.config.api.ApiConfig", false]], "apiuser (class in octoprint.access.users)": [[76, "octoprint.access.users.ApiUser", false]], "appearance (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.appearance", false]], "appearanceconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.AppearanceConfig", false]], "apps (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.apps", false]], "asdict() (octoprint.access.users.user method)": [[76, "octoprint.access.users.User.asDict", false]], "assetplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.AssetPlugin", false]], "async_ (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.async_", false]], "author (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.author", false]], "autoconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autoconnect", false]], "autologinas (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinAs", false]], "autologinheadsupacknowledged (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinHeadsupAcknowledged", false]], "autologinlocal (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.autologinLocal", false]], "autorefresh (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefresh", false]], "autorefreshinterval (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.autorefreshInterval", false]], "autoreport_pos (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_pos", false]], "autoreport_sdstatus (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_sdstatus", false]], "autoreport_temp (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.autoreport_temp", false]], "autouppercaseblacklist (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.autoUppercaseBlacklist", false]], "backup() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.backup", false]], "basemodel (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel", false]], "basemodel.config (class in octoprint.schema)": [[82, "octoprint.schema.BaseModel.Config", false]], "baudrate (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.baudrate", false]], "baudratedetectionpause (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.baudrateDetectionPause", false]], "bed (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.bed", false]], "bedformfactor (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedFormFactor", false]], "bedorigin (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.BedOrigin", false]], "bedz (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.bedZ", false]], "before_backup_hook()": [[24, "before_backup_hook", false]], "before_request_handlers_hook()": [[92, "before_request_handlers_hook", false]], "before_restore_hook()": [[24, "before_restore_hook", false]], "beforeprinterdisconnected (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrinterDisconnected", false]], "beforeprintpaused (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintPaused", false]], "beforeprintstarted (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforePrintStarted", false]], "beforetoolchange (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.beforeToolChange", false]], "bitrate (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.bitrate", false]], "blacklisted (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.blacklisted", false]], "blacklistedbaudrates (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedBaudrates", false]], "blacklistedports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blacklistedPorts", false]], "blockedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockedCommands", false]], "blockwhiledwelling (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.blockWhileDwelling", false]], "blue (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.blue", false]], "blueprintplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.BlueprintPlugin", false]], "body_methods (octoprint.server.util.tornado.uploadstoragefallbackhandler attribute)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.BODY_METHODS", false]], "build_done() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.build_done", false]], "built-in function": [[24, "additional_excludes_hook", false], [24, "after_backup_hook", false], [24, "after_restore_hook", false], [24, "before_backup_hook", false], [24, "before_restore_hook", false], [32, "reconnect_hooks_hook", false], [33, "update_config_hook", false], [92, "access_validator_hook", false], [92, "acl_keyvalidator_hook", false], [92, "additional_bundle_files_hook", false], [92, "additional_commands_hook", false], [92, "additional_permissions_hook", false], [92, "additional_port_names_hook", false], [92, "additional_state_data_hook", false], [92, "after_request_handlers_hook", false], [92, "analysis_queue_factory_hook", false], [92, "before_request_handlers_hook", false], [92, "capture_post_hook", false], [92, "capture_pre_hook", false], [92, "cli_commands_hook", false], [92, "file_extension_hook", false], [92, "file_preprocessor_hook", false], [92, "firmware_capability_hook", false], [92, "firmware_capability_report_hook", false], [92, "firmware_info_hook", false], [92, "gcode_error_hook", false], [92, "gcode_received_hook", false], [92, "print_time_estimator_factory", false], [92, "printer_factory_hook", false], [92, "protocol_action_hook", false], [92, "protocol_atcommandphase_hook", false], [92, "protocol_gcodephase_hook", false], [92, "protocol_scripts_hook", false], [92, "protocol_temperatures_received_hook", false], [92, "register_custom_events_hook", false], [92, "sd_card_upload_hook", false], [92, "serial_factory_hook", false], [92, "server_bodysize_hook", false], [92, "server_route_hook", false], [92, "templatetype_hook", false], [92, "timelapse_extension_hook", false], [92, "ui_theming_hook", false], [92, "user_manager_factory_hook", false]], "bulk_options() (in module octoprint.cli)": [[77, "octoprint.cli.bulk_options", false]], "bundle (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.bundle", false]], "bundled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.bundled", false]], "busy_protocol (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.busy_protocol", false]], "cache (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.cache", false]], "cachebuster (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.cacheBuster", false]], "call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.call", false]], "call_plugin() (in module octoprint.plugin)": [[80, "octoprint.plugin.call_plugin", false]], "can_modify_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.can_modify_file", false]], "cancel_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.cancel_print", false]], "cancel_slicing() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.cancel_slicing", false]], "cancel_slicing() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.cancel_slicing", false]], "cannotstartserverexception": [[83, "octoprint.server.CannotStartServerException", false]], "canonicalize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.canonicalize", false]], "canonicalize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.canonicalize", false]], "cansnapshot (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.canSnapshot", false]], "capabilities (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.capabilities", false]], "capture_post_hook()": [[92, "capture_post_hook", false]], "capture_pre_hook()": [[92, "capture_pre_hook", false]], "capturepostroll (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.capturePostRoll", false]], "caseinsensitiveset (class in octoprint.util)": [[86, "octoprint.util.CaseInsensitiveSet", false]], "center (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.CENTER", false]], "change_tool() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.change_tool", false]], "check (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.check", false]], "check_lastmodified() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.check_lastmodified", false]], "checkbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.checkBaseFolder", false]], "checkbasicauthenticationpassword (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.checkBasicAuthenticationPassword", false]], "checked_call() (octoprint.util.commandline.commandlinecaller method)": [[86, "octoprint.util.commandline.CommandlineCaller.checked_call", false]], "checksumrequiringcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.checksumRequiringCommands", false]], "children (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.children", false]], "chunks() (in module octoprint.util)": [[86, "octoprint.util.chunks", false]], "circular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.CIRCULAR", false]], "clean_ansi() (in module octoprint.util.commandline)": [[86, "octoprint.util.commandline.clean_ansi", false]], "clean_on_startup (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.clean_on_startup", false]], "cleantmpafterdays (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.cleanTmpAfterDays", false]], "cli_commands_hook()": [[92, "cli_commands_hook", false]], "close() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.close", false]], "close() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.close", false]], "close_fds (in module octoprint.util.platform)": [[86, "octoprint.util.platform.CLOSE_FDS", false]], "closemodalswithclick (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.closeModalsWithClick", false]], "color (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.color", false]], "colorenum (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ColorEnum", false]], "coloricon (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorIcon", false]], "colortransparent (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.colorTransparent", false]], "command (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.command", false]], "command (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.command", false]], "command (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.command", false]], "commandlinecaller (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.CommandlineCaller", false]], "commandlineerror": [[86, "octoprint.util.commandline.CommandlineError", false]], "commands (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.commands", false]], "commands (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.commands", false]], "commands() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.commands", false]], "commandsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CommandsConfig", false]], "communication (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communication", false]], "communicationbusy (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.communicationBusy", false]], "compat (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.compat", false]], "componentconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentConfig", false]], "componentdisabledconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig", false]], "componentorderconfig (class in octoprint.schema.config.appearance)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig", false]], "components (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.components", false]], "compute_etag() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.compute_etag", false]], "config (class in octoprint.schema.config)": [[82, "octoprint.schema.config.Config", false]], "config (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config", false]], "config_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_hash", false]], "config_version_key (octoprint.plugin.settingsplugin attribute)": [[95, "octoprint.plugin.SettingsPlugin.config_version_key", false]], "config_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.config_yaml", false]], "configured_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.configured_slicers", false]], "confirm (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.confirm", false]], "confirm (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.confirm", false]], "connect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.connect", false]], "connection (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.connection", false]], "containerconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ContainerConfig", false]], "content_type (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.content_type", false]], "contenttypedetector (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeDetector", false]], "contenttypemapping (class in octoprint.filemanager)": [[78, "octoprint.filemanager.ContentTypeMapping", false]], "controlconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlConfig", false]], "controlinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlInputConfig", false]], "controls (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.controls", false]], "controlsliderinputconfig (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig", false]], "cookies (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.cookies", false]], "cookies (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.cookies", false]], "cookiesconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.CookiesConfig", false]], "copy() (octoprint.util.defaultordereddict method)": [[86, "octoprint.util.DefaultOrderedDict.copy", false]], "copy_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_file", false]], "copy_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_file", false]], "copy_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.copy_folder", false]], "copy_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.copy_folder", false]], "corruptuserstorage": [[76, "octoprint.access.users.CorruptUserStorage", false]], "corsrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsRequestHandler", false]], "corsresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.corsResponseHandler", false]], "corssupportmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CorsSupportMixin", false]], "couldnotoverwriteerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.CouldNotOverwriteError", false]], "count() (in module octoprint.util)": [[86, "octoprint.util.count", false]], "create_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.create_backup_helper", false]], "critical (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.critical", false]], "csrf_exempt() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.csrf_exempt", false]], "csrfrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfRequestHandler", false]], "csrfresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.csrfResponseHandler", false]], "css (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.css", false]], "customhttp1connection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1Connection", false]], "customhttp1connectionparameters (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ConnectionParameters", false]], "customhttp1serverconnection (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTP1ServerConnection", false]], "customhttpserver (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.CustomHTTPServer", false]], "cutoff (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.cutoff", false]], "daemon_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.daemon_options", false]], "data (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.data", false]], "data_received() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.data_received", false]], "debug (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.debug", false]], "default (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.default", false]], "default (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.default", false]], "default (octoprint.schema.config.printer_profiles.printerprofilesconfig attribute)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig.default", false]], "default() (octoprint.server.util.flask.octoprintjsonprovider static method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.default", false]], "default_settings (in module octoprint.settings)": [[84, "octoprint.settings.default_settings", false]], "default_slicer (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.default_slicer", false]], "defaultlanguage (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.defaultLanguage", false]], "defaultordereddict (class in octoprint.util)": [[86, "octoprint.util.DefaultOrderedDict", false]], "defaultprofiles (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultProfiles", false]], "defaultreauthenticationtimeout (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.defaultReauthenticationTimeout", false]], "defaultslicer (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.defaultSlicer", false]], "defaultwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.defaultWebcam", false]], "delete() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.delete", false]], "delete() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.delete", false]], "delete_backup_helper() (in module octoprint.plugins.backup.backupplugin)": [[24, "octoprint.plugins.backup.BackupPlugin.delete_backup_helper", false]], "delete_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.delete_cookie", false]], "delete_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.delete_profile", false]], "deleteapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.deleteApiKey", false]], "delimitercapture (class in octoprint.util.commandline)": [[86, "octoprint.util.commandline.DelimiterCapture", false]], "deprecated() (in module octoprint.util)": [[86, "octoprint.util.deprecated", false]], "deprecatedendpointhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler", false]], "description (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.description", false]], "deserialize() (in module octoprint.util)": [[86, "octoprint.util.deserialize", false]], "detect (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.detect", false]], "detectionconsecutive (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionConsecutive", false]], "detectionfirst (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.detectionFirst", false]], "detector (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.detector", false]], "devel (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.devel", false]], "develcacheconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelCacheConfig", false]], "develconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelConfig", false]], "develwebassetsconfig (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig", false]], "dict_clean() (in module octoprint.util)": [[86, "octoprint.util.dict_clean", false]], "dict_contains_keys() (in module octoprint.util)": [[86, "octoprint.util.dict_contains_keys", false]], "dict_filter() (in module octoprint.util)": [[86, "octoprint.util.dict_filter", false]], "dict_flatten() (in module octoprint.util)": [[86, "octoprint.util.dict_flatten", false]], "dict_merge() (in module octoprint.util)": [[86, "octoprint.util.dict_merge", false]], "dict_minimal_mergediff() (in module octoprint.util)": [[86, "octoprint.util.dict_minimal_mergediff", false]], "dict_sanitize() (in module octoprint.util)": [[86, "octoprint.util.dict_sanitize", false]], "disable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disable", false]], "disable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.disable_plugin", false]], "disabled (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.disabled", false]], "disabled (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.disabled", false]], "disablesdprintingdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disableSdPrintingDetection", false]], "disabling_discouraged (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.disabling_discouraged", false]], "disconnect() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.disconnect", false]], "disconnectonerrors (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.disconnectOnErrors", false]], "diskfilewrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.DiskFileWrapper", false]], "diskspace (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.diskspace", false]], "diskspaceconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.DiskspaceConfig", false]], "displayname (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.displayName", false]], "do_slice() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.do_slice", false]], "dumps() (octoprint.server.util.flask.octoprintjsonprovider method)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider.dumps", false]], "dynamiczipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler", false]], "effective (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective", false]], "effective_hash (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_hash", false]], "effective_yaml (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.effective_yaml", false]], "emergency_parser (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.emergency_parser", false]], "emergencycommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.emergencyCommands", false]], "enable (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.enable", false]], "enable_per_message_deflate_extension() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.enable_per_message_deflate_extension", false]], "enable_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.enable_plugin", false]], "enablecsrfprotection (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableCsrfProtection", false]], "enabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.enabled", false]], "enabled (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.enabled", false]], "enabled (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.enabled", false]], "enabled (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.enabled", false]], "enabled (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.enabled", false]], "enabled (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.enabled", false]], "enabled (octoprint.schema.config.slicing.slicingconfig attribute)": [[82, "octoprint.schema.config.slicing.SlicingConfig.enabled", false]], "enabledragdropupload (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enableDragDropUpload", false]], "enableratelimiter (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.enableRateLimiter", false]], "enableshutdownactioncommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.enableShutdownActionCommand", false]], "encoding (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.encoding", false]], "enforcereallyuniversalfilenames (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.enforceReallyUniversalFilenames", false]], "enqueue() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.enqueue", false]], "environ() (octoprint.server.util.tornado.wsgiinputcontainer static method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.environ", false]], "errorhandler() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.errorhandler", false]], "estimation (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.estimation", false]], "estimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.EstimationConfig", false]], "event (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.event", false]], "eventhandlerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.EventHandlerPlugin", false]], "events (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.events", false]], "eventsconfig (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventsConfig", false]], "eventsubscription (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.EventSubscription", false]], "exceptions (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.exceptions", false]], "exclusive (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.exclusive", false]], "extended_m20 (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.extended_m20", false]], "extensions (octoprint.filemanager.contenttypedetector attribute)": [[78, "octoprint.filemanager.ContentTypeDetector.extensions", false]], "extensions (octoprint.filemanager.contenttypemapping attribute)": [[78, "octoprint.filemanager.ContentTypeMapping.extensions", false]], "externalheatupdetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.externalHeatupDetection", false]], "extras (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.extras", false]], "extrude() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.extrude", false]], "extruder (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.extruder", false]], "fake_ack() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.fake_ack", false]], "fallback_dict (class in octoprint.util)": [[86, "octoprint.util.fallback_dict", false]], "feature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.feature", false]], "featureconfig (class in octoprint.schema.config.feature)": [[82, "octoprint.schema.config.feature.FeatureConfig", false]], "feed_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.feed_rate", false]], "ffmpeg (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpeg", false]], "ffmpegcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegCommandline", false]], "ffmpegthreads (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThreads", false]], "ffmpegthumbnailcommandline (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegThumbnailCommandline", false]], "ffmpegvideocodec (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.ffmpegVideoCodec", false]], "file_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_exists", false]], "file_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_exists", false]], "file_extension_hook()": [[92, "file_extension_hook", false]], "file_in_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.file_in_path", false]], "file_in_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.file_in_path", false]], "file_preprocessor_hook()": [[92, "file_preprocessor_hook", false]], "filter_non_ascii() (in module octoprint.util)": [[86, "octoprint.util.filter_non_ascii", false]], "firmware_capability_hook()": [[92, "firmware_capability_hook", false]], "firmware_capability_report_hook()": [[92, "firmware_capability_report_hook", false]], "firmware_info_hook()": [[92, "firmware_info_hook", false]], "firmwaredetection (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.firmwareDetection", false]], "firstrun (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.firstRun", false]], "firstrun_only_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.firstrun_only_access", false]], "fix_json_encode() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_json_encode", false]], "fix_tornado_xheader_handling() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_tornado_xheader_handling", false]], "fix_websocket_check_origin() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.fix_websocket_check_origin", false]], "fliph (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipH", false]], "flipv (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.flipV", false]], "flow_rate() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.flow_rate", false]], "folder (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.folder", false]], "folder_exists() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.folder_exists", false]], "folder_exists() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.folder_exists", false]], "folderconfig (class in octoprint.schema.config.folder)": [[82, "octoprint.schema.config.folder.FolderConfig", false]], "forced_compatible (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.forced_compatible", false]], "forced_disabled (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.forced_disabled", false]], "forcedumbaftermin (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbAfterMin", false]], "forcedumbfrompercent (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.forceDumbFromPercent", false]], "four_three (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.four_three", false]], "fps (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.fps", false]], "fuzzytimes (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.fuzzyTimes", false]], "g90influencesextruder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.g90InfluencesExtruder", false]], "gcode (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.gcode", false]], "gcode (octoprint.schema.config.scripts.scriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.ScriptsConfig.gcode", false]], "gcode_error_hook()": [[92, "gcode_error_hook", false]], "gcode_received_hook()": [[92, "gcode_received_hook", false]], "gcodeanalysis (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.gcodeAnalysis", false]], "gcodeanalysisconfig (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig", false]], "gcodeanalysisqueue (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.GcodeAnalysisQueue", false]], "gcodescriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig", false]], "generateapikey() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.generateApiKey", false]], "generated (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.generated", false]], "generatingdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler", false]], "generic (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.generic", false]], "generic (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.generic", false]], "get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get", false]], "get() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.get", false]], "get() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.get", false]], "get() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.get", false]], "get() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.get", false]], "get_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_additional_metadata", false]], "get_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_additional_metadata", false]], "get_api_commands() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.get_api_commands", false]], "get_asset_folder() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_asset_folder", false]], "get_assets() (octoprint.plugin.assetplugin method)": [[95, "octoprint.plugin.AssetPlugin.get_assets", false]], "get_blueprint() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint", false]], "get_blueprint_api_prefixes() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_api_prefixes", false]], "get_blueprint_kwargs() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.get_blueprint_kwargs", false]], "get_bom() (in module octoprint.util)": [[86, "octoprint.util.get_bom", false]], "get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_boolean", false]], "get_class() (in module octoprint.util)": [[86, "octoprint.util.get_class", false]], "get_command() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.get_command", false]], "get_command() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.get_command", false]], "get_connection_options() (in module octoprint.printer)": [[81, "octoprint.printer.get_connection_options", false]], "get_connection_options() (octoprint.printer.printerinterface class method)": [[81, "octoprint.printer.PrinterInterface.get_connection_options", false]], "get_content_type() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_type", false]], "get_content_version() (octoprint.server.util.tornado.largeresponsehandler class method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.get_content_version", false]], "get_cookie_suffix() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_cookie_suffix", false]], "get_current_connection() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_connection", false]], "get_current_data() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_data", false]], "get_current_job() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_job", false]], "get_current_temperatures() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_current_temperatures", false]], "get_exception_string() (in module octoprint.util)": [[86, "octoprint.util.get_exception_string", false]], "get_filtered_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_filtered_implementations", false]], "get_flask_user_from_request() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.get_flask_user_from_request", false]], "get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_float", false]], "get_formatted_datetime() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_datetime", false]], "get_formatted_size() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_size", false]], "get_formatted_timedelta() (in module octoprint.util)": [[86, "octoprint.util.get_formatted_timedelta", false]], "get_fully_qualified_classname() (in module octoprint.util)": [[86, "octoprint.util.get_fully_qualified_classname", false]], "get_helpers() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_helpers", false]], "get_hook() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_hook", false]], "get_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_hooks", false]], "get_implementation() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.get_implementation", false]], "get_implementations() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_implementations", false]], "get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_int", false]], "get_lastmodified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_lastmodified", false]], "get_lastmodified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_lastmodified", false]], "get_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_metadata", false]], "get_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_metadata", false]], "get_os() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.get_os", false]], "get_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin", false]], "get_plugin_data_folder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_data_folder", false]], "get_plugin_data_folder() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.get_plugin_data_folder", false]], "get_plugin_info() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.get_plugin_info", false]], "get_plugin_logfile_path() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.get_plugin_logfile_path", false]], "get_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_profile_path", false]], "get_settings_defaults() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_defaults", false]], "get_settings_preprocessors() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_preprocessors", false]], "get_settings_restricted_paths() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_restricted_paths", false]], "get_settings_version() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.get_settings_version", false]], "get_size() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.get_size", false]], "get_size() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.get_size", false]], "get_slicer() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer", false]], "get_slicer_default_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_default_profile", false]], "get_slicer_extension_tree() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_extension_tree", false]], "get_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profile", false]], "get_slicer_profile_path() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.get_slicer_profile_path", false]], "get_slicer_profiles() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles", false]], "get_slicer_profiles_lastmodified() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_profiles_lastmodified", false]], "get_slicer_properties() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.get_slicer_properties", false]], "get_sorting_key() (octoprint.plugin.core.sortableplugin method)": [[80, "octoprint.plugin.core.SortablePlugin.get_sorting_key", false]], "get_state_id() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_id", false]], "get_state_string() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_state_string", false]], "get_temperature_history() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_temperature_history", false]], "get_template_configs() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_configs", false]], "get_template_folder() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_folder", false]], "get_template_vars() (octoprint.plugin.templateplugin method)": [[95, "octoprint.plugin.TemplatePlugin.get_template_vars", false]], "get_transport() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.get_transport", false]], "get_ui_additional_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_etag", false]], "get_ui_additional_key_data_for_cache() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_key_data_for_cache", false]], "get_ui_additional_request_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_request_data_for_preemptive_caching", false]], "get_ui_additional_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_additional_tracked_files", false]], "get_ui_custom_etag() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_etag", false]], "get_ui_custom_lastmodified() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_lastmodified", false]], "get_ui_custom_template_filter() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_template_filter", false]], "get_ui_custom_tracked_files() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_custom_tracked_files", false]], "get_ui_data_for_preemptive_caching() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_data_for_preemptive_caching", false]], "get_ui_permissions() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_permissions", false]], "get_ui_preemptive_caching_additional_unless() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_additional_unless", false]], "get_ui_preemptive_caching_enabled() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.get_ui_preemptive_caching_enabled", false]], "get_webcam_configurations() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.get_webcam_configurations", false]], "get_wizard_details() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_details", false]], "get_wizard_version() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.get_wizard_version", false]], "getbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBaseFolder", false]], "getboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getBoolean", false]], "getfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getFloat", false]], "getint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.getInt", false]], "global_get() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get", false]], "global_get_basefolder() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_basefolder", false]], "global_get_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_boolean", false]], "global_get_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_float", false]], "global_get_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_get_int", false]], "global_set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set", false]], "global_set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_boolean", false]], "global_set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_float", false]], "global_set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.global_set_int", false]], "globalheadertransform (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.GlobalHeaderTransform", false]], "green (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.green", false]], "groupfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupfile", false]], "groupmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.groupManager", false]], "handle_request() (octoprint.server.util.tornado.wsgiinputcontainer method)": [[83, "octoprint.server.util.tornado.WsgiInputContainer.handle_request", false]], "handle_stream() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.handle_stream", false]], "has() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.has", false]], "has_analysis() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.has_analysis", false]], "has_analysis() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.has_analysis", false]], "has_any_of_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_hooks", false]], "has_any_of_mixins() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.has_any_of_mixins", false]], "has_obsolete_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_obsolete_hooks", false]], "has_permissions() (in module octoprint.server.util)": [[83, "octoprint.server.util.has_permissions", false]], "has_restart_needing_hooks() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_hooks", false]], "has_restart_needing_implementation() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.has_restart_needing_implementation", false]], "head() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.head", false]], "heartbeat (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.heartbeat", false]], "hellocommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.helloCommand", false]], "helpers (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.helpers", false]], "hidden (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hidden", false]], "hidden_option() (in module octoprint.cli)": [[77, "octoprint.cli.hidden_option", false]], "hiddenoption (class in octoprint.cli)": [[77, "octoprint.cli.HiddenOption", false]], "home() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.home", false]], "hook_matches_hooks() (octoprint.plugin.core.pluginmanager static method)": [[80, "octoprint.plugin.core.PluginManager.hook_matches_hooks", false]], "hooks (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.hooks", false]], "horizontal (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.horizontal", false]], "host (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.host", false]], "host (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.host", false]], "hostfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostFallback", false]], "hostheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.hostHeader", false]], "identicalresendscountdown (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.identicalResendsCountdown", false]], "idle (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.idle", false]], "idle (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.idle", false]], "ignoredcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoredCommands", false]], "ignoreemptyports (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreEmptyPorts", false]], "ignoreerrorsfromfirmware (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreErrorsFromFirmware", false]], "ignoreidenticalresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.ignoreIdenticalResends", false]], "ignoreincompletestartup (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ignoreIncompleteStartup", false]], "implementation (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.implementation", false]], "incompatible (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.incompatible", false]], "info (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.info", false]], "infowarnneverenum (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum", false]], "init_platform_for_cli() (in module octoprint.cli)": [[77, "octoprint.cli.init_platform_for_cli", false]], "initialize() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.initialize", false]], "initialize() (octoprint.server.util.tornado.customhttpserver method)": [[83, "octoprint.server.util.tornado.CustomHTTPServer.initialize", false]], "initialize() (octoprint.server.util.tornado.deprecatedendpointhandler method)": [[83, "octoprint.server.util.tornado.DeprecatedEndpointHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.dynamiczipbundlehandler method)": [[83, "octoprint.server.util.tornado.DynamicZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.generatingdatahandler method)": [[83, "octoprint.server.util.tornado.GeneratingDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticdatahandler method)": [[83, "octoprint.server.util.tornado.StaticDataHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.staticzipbundlehandler method)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.systeminfobundlehandler method)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.urlproxyhandler method)": [[83, "octoprint.server.util.tornado.UrlProxyHandler.initialize", false]], "initialize() (octoprint.server.util.tornado.webcamsnapshothandler method)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler.initialize", false]], "initialize() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.initialize", false]], "input (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.input", false]], "interval (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.interval", false]], "interval (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.interval", false]], "invalid_syntax (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.invalid_syntax", false]], "invalidapikeyexception": [[83, "octoprint.server.util.InvalidApiKeyException", false]], "invalidprofileerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.InvalidProfileError", false]], "invalidusername": [[76, "octoprint.access.users.InvalidUsername", false]], "ipcheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.ipCheck", false]], "ipcheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.IpCheckConfig", false]], "is_allowed_file() (in module octoprint.util)": [[86, "octoprint.util.is_allowed_file", false]], "is_api_adminonly() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.is_api_adminonly", false]], "is_blueprint_csrf_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_csrf_protected", false]], "is_blueprint_protected() (octoprint.plugin.blueprintplugin method)": [[95, "octoprint.plugin.BlueprintPlugin.is_blueprint_protected", false]], "is_cancelling() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_cancelling", false]], "is_closed_or_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_closed_or_error", false]], "is_current_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_current_file", false]], "is_error() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_error", false]], "is_multipart() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.is_multipart", false]], "is_obsolete_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_obsolete_hook", false]], "is_operational() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_operational", false]], "is_os_compatible() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.is_os_compatible", false]], "is_paused() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_paused", false]], "is_pausing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_pausing", false]], "is_plugin_marked() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_plugin_marked", false]], "is_printing() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_printing", false]], "is_ready() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.is_ready", false]], "is_restart_needing_hook() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_hook", false]], "is_restart_needing_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.is_restart_needing_plugin", false]], "is_slicer_configured() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.is_slicer_configured", false]], "is_wizard_ignored() (octoprint.plugin.wizardplugin class method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_ignored", false]], "is_wizard_required() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.is_wizard_required", false]], "items() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.items", false]], "javascript (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.javascript", false]], "job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.job_on_hold", false]], "jog() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.jog", false]], "join_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.join_path", false]], "join_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.join_path", false]], "join_path() (octoprint.server.util.flask.prefixawarejinjaenvironment method)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment.join_path", false]], "key (octoprint.schema.config.api.apiconfig attribute)": [[82, "octoprint.schema.config.api.ApiConfig.key", false]], "keyboardcontrol (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.keyboardControl", false]], "keys() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.keys", false]], "largeresponsehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.LargeResponseHandler", false]], "last_modified (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified", false]], "last_modified() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.last_modified", false]], "last_modified() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.last_modified", false]], "last_modified_or_made_dirty (octoprint.settings.settings property)": [[84, "octoprint.settings.Settings.last_modified_or_made_dirty", false]], "lastlinebuffersize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lastLineBufferSize", false]], "lax (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.lax", false]], "layout (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.layout", false]], "layoutenum (class in octoprint.schema.config.controls)": [[82, "octoprint.schema.config.controls.LayoutEnum", false]], "legacy_options() (in module octoprint.cli)": [[77, "octoprint.cli.legacy_options", false]], "less (octoprint.schema.config.devel.stylesheetenum attribute)": [[82, "octoprint.schema.config.devel.StylesheetEnum.less", false]], "lesssimplecache (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.LessSimpleCache", false]], "lfn_write (octoprint.schema.config.serial.serialcapabilities attribute)": [[82, "octoprint.schema.config.serial.SerialCapabilities.lfn_write", false]], "license (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.license", false]], "lineprocessorstream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.LineProcessorStream", false]], "list_commands() (octoprint.cli.dev.octoprintdevelcommands method)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands.list_commands", false]], "list_commands() (octoprint.cli.plugins.octoprintplugincommands method)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.list_commands", false]], "list_files() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.list_files", false]], "list_files() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.list_files", false]], "listscripts() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.listScripts", false]], "load (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.load", false]], "load() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load", false]], "load_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlay", false]], "load_overlays() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.load_overlays", false]], "load_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.load_profile", false]], "loaded (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.loaded", false]], "loadscript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.loadScript", false]], "localfilestorage (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.LocalFileStorage", false]], "localnetworks (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.localNetworks", false]], "localpipcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.localPipCommand", false]], "log (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.log", false]], "log_exception() (octoprint.server.util.tornado.requestlessexceptionloggingmixin method)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin.log_exception", false]], "log_lines() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.log_lines", false]], "loginfromapikeyrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromApiKeyRequestHandler", false]], "loginfromauthorizationheaderrequesthandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.loginFromAuthorizationHeaderRequestHandler", false]], "logpositiononcancel (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnCancel", false]], "logpositiononpause (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logPositionOnPause", false]], "logresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.logResends", false]], "logs (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.logs", false]], "long (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.long", false]], "long_str() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.long_str", false]], "longrunningcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.longRunningCommands", false]], "looks_like_plugin (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.looks_like_plugin", false]], "lowerleft (octoprint.printer.profile.bedorigin attribute)": [[81, "octoprint.printer.profile.BedOrigin.LOWERLEFT", false]], "lowlatency (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.lowLatency", false]], "make_api_error() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_api_error", false]], "make_text_response() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.make_text_response", false]], "managable (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.managable", false]], "mark_plugin() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.mark_plugin", false]], "max (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.max", false]], "maxcommunicationtimeouts (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxCommunicationTimeouts", false]], "maxconsecutiveresends (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxConsecutiveResends", false]], "maxextruders (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.maxExtruders", false]], "maxnotsdprinting (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxNotSdPrinting", false]], "maxsize (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.maxSize", false]], "maxsize (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.maxSize", false]], "maxwritepasses (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.maxWritePasses", false]], "min (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.min", false]], "minify (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify", false]], "minify_plugins (octoprint.schema.config.devel.develwebassetsconfig attribute)": [[82, "octoprint.schema.config.devel.DevelWebassetsConfig.minify_plugins", false]], "modelsizedetection (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.modelSizeDetection", false]], "module": [[76, "module-octoprint.access.users", false], [77, "module-octoprint.cli", false], [77, "module-octoprint.cli.dev", false], [77, "module-octoprint.cli.plugins", false], [77, "module-octoprint.cli.server", false], [78, "module-octoprint.filemanager", false], [78, "module-octoprint.filemanager.analysis", false], [78, "module-octoprint.filemanager.destinations", false], [78, "module-octoprint.filemanager.storage", false], [78, "module-octoprint.filemanager.util", false], [80, "module-octoprint.plugin", false], [80, "module-octoprint.plugin.core", false], [80, "module-octoprint.plugin.types", false], [81, "module-octoprint.printer", false], [81, "module-octoprint.printer.profile", false], [82, "module-octoprint.schema", false], [82, "module-octoprint.schema.config", false], [82, "module-octoprint.schema.config.access_control", false], [82, "module-octoprint.schema.config.api", false], [82, "module-octoprint.schema.config.appearance", false], [82, "module-octoprint.schema.config.controls", false], [82, "module-octoprint.schema.config.devel", false], [82, "module-octoprint.schema.config.estimation", false], [82, "module-octoprint.schema.config.events", false], [82, "module-octoprint.schema.config.feature", false], [82, "module-octoprint.schema.config.folder", false], [82, "module-octoprint.schema.config.gcode_analysis", false], [82, "module-octoprint.schema.config.plugins", false], [82, "module-octoprint.schema.config.printer_parameters", false], [82, "module-octoprint.schema.config.printer_profiles", false], [82, "module-octoprint.schema.config.scripts", false], [82, "module-octoprint.schema.config.serial", false], [82, "module-octoprint.schema.config.server", false], [82, "module-octoprint.schema.config.slicing", false], [82, "module-octoprint.schema.config.system", false], [82, "module-octoprint.schema.config.temperature", false], [82, "module-octoprint.schema.config.terminalfilters", false], [82, "module-octoprint.schema.config.webcam", false], [82, "module-octoprint.schema.webcam", false], [83, "module-octoprint.server", false], [83, "module-octoprint.server.util", false], [83, "module-octoprint.server.util.flask", false], [83, "module-octoprint.server.util.sockjs", false], [83, "module-octoprint.server.util.tornado", false], [84, "module-octoprint.settings", false], [85, "module-octoprint.slicing", false], [85, "module-octoprint.slicing.exceptions", false], [86, "module-octoprint.util", false], [86, "module-octoprint.util.commandline", false], [86, "module-octoprint.util.platform", false]], "move_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_file", false]], "move_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_file", false]], "move_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.move_folder", false]], "move_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.move_folder", false]], "multistream (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.MultiStream", false]], "name (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.name", false]], "name (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.name", false]], "name (octoprint.schema.config.controls.containerconfig attribute)": [[82, "octoprint.schema.config.controls.ContainerConfig.name", false]], "name (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.name", false]], "name (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.name", false]], "name (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.name", false]], "name (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.name", false]], "name (octoprint.schema.config.system.actionconfig attribute)": [[82, "octoprint.schema.config.system.ActionConfig.name", false]], "name (octoprint.schema.config.temperature.temperatureprofile attribute)": [[82, "octoprint.schema.config.temperature.TemperatureProfile.name", false]], "name (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.name", false]], "name (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.name", false]], "namesuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.nameSuffix", false]], "navbar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.navbar", false]], "navbar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.navbar", false]], "needs_rebuild() (octoprint.server.util.flask.settingscheckupdater method)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater.needs_rebuild", false]], "needs_restart (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.needs_restart", false]], "never (octoprint.schema.config.gcode_analysis.runatenum attribute)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum.never", false]], "never (octoprint.schema.config.serial.alwaysdetectneverenum attribute)": [[82, "octoprint.schema.config.serial.AlwaysDetectNeverEnum.never", false]], "never (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.never", false]], "neversendchecksum (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.neverSendChecksum", false]], "no_firstrun_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.no_firstrun_access", false]], "nocachingexceptgetresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingExceptGetResponseHandler", false]], "nocachingresponsehandler() (in module octoprint.server.util)": [[83, "octoprint.server.util.noCachingResponseHandler", false]], "none (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.none", false]], "nosuchstorage": [[78, "octoprint.filemanager.NoSuchStorage", false]], "notifysuppressedcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.notifySuppressedCommands", false]], "octoprint.access.users": [[76, "module-octoprint.access.users", false]], "octoprint.cli": [[77, "module-octoprint.cli", false]], "octoprint.cli.dev": [[77, "module-octoprint.cli.dev", false]], "octoprint.cli.plugins": [[77, "module-octoprint.cli.plugins", false]], "octoprint.cli.server": [[77, "module-octoprint.cli.server", false]], "octoprint.filemanager": [[78, "module-octoprint.filemanager", false]], "octoprint.filemanager.analysis": [[78, "module-octoprint.filemanager.analysis", false]], "octoprint.filemanager.destinations": [[78, "module-octoprint.filemanager.destinations", false]], "octoprint.filemanager.storage": [[78, "module-octoprint.filemanager.storage", false]], "octoprint.filemanager.util": [[78, "module-octoprint.filemanager.util", false]], "octoprint.plugin": [[80, "module-octoprint.plugin", false]], "octoprint.plugin.core": [[80, "module-octoprint.plugin.core", false]], "octoprint.plugin.types": [[80, "module-octoprint.plugin.types", false]], "octoprint.printer": [[81, "module-octoprint.printer", false]], "octoprint.printer.profile": [[81, "module-octoprint.printer.profile", false]], "octoprint.schema": [[82, "module-octoprint.schema", false]], "octoprint.schema.config": [[82, "module-octoprint.schema.config", false]], "octoprint.schema.config.access_control": [[82, "module-octoprint.schema.config.access_control", false]], "octoprint.schema.config.api": [[82, "module-octoprint.schema.config.api", false]], "octoprint.schema.config.appearance": [[82, "module-octoprint.schema.config.appearance", false]], "octoprint.schema.config.controls": [[82, "module-octoprint.schema.config.controls", false]], "octoprint.schema.config.devel": [[82, "module-octoprint.schema.config.devel", false]], "octoprint.schema.config.estimation": [[82, "module-octoprint.schema.config.estimation", false]], "octoprint.schema.config.events": [[82, "module-octoprint.schema.config.events", false]], "octoprint.schema.config.feature": [[82, "module-octoprint.schema.config.feature", false]], "octoprint.schema.config.folder": [[82, "module-octoprint.schema.config.folder", false]], "octoprint.schema.config.gcode_analysis": [[82, "module-octoprint.schema.config.gcode_analysis", false]], "octoprint.schema.config.plugins": [[82, "module-octoprint.schema.config.plugins", false]], "octoprint.schema.config.printer_parameters": [[82, "module-octoprint.schema.config.printer_parameters", false]], "octoprint.schema.config.printer_profiles": [[82, "module-octoprint.schema.config.printer_profiles", false]], "octoprint.schema.config.scripts": [[82, "module-octoprint.schema.config.scripts", false]], "octoprint.schema.config.serial": [[82, "module-octoprint.schema.config.serial", false]], "octoprint.schema.config.server": [[82, "module-octoprint.schema.config.server", false]], "octoprint.schema.config.slicing": [[82, "module-octoprint.schema.config.slicing", false]], "octoprint.schema.config.system": [[82, "module-octoprint.schema.config.system", false]], "octoprint.schema.config.temperature": [[82, "module-octoprint.schema.config.temperature", false]], "octoprint.schema.config.terminalfilters": [[82, "module-octoprint.schema.config.terminalfilters", false]], "octoprint.schema.config.webcam": [[82, "module-octoprint.schema.config.webcam", false]], "octoprint.schema.webcam": [[82, "module-octoprint.schema.webcam", false]], "octoprint.server": [[83, "module-octoprint.server", false]], "octoprint.server.util": [[83, "module-octoprint.server.util", false]], "octoprint.server.util.flask": [[83, "module-octoprint.server.util.flask", false]], "octoprint.server.util.sockjs": [[83, "module-octoprint.server.util.sockjs", false]], "octoprint.server.util.tornado": [[83, "module-octoprint.server.util.tornado", false]], "octoprint.settings": [[84, "module-octoprint.settings", false]], "octoprint.slicing": [[85, "module-octoprint.slicing", false]], "octoprint.slicing.exceptions": [[85, "module-octoprint.slicing.exceptions", false]], "octoprint.util": [[86, "module-octoprint.util", false]], "octoprint.util.commandline": [[86, "module-octoprint.util.commandline", false]], "octoprint.util.platform": [[86, "module-octoprint.util.platform", false]], "octoprintanonymousidentity (class in octoprint.server)": [[83, "octoprint.server.OctoPrintAnonymousIdentity", false]], "octoprintclient() (class)": [[57, "OctoPrintClient", false]], "octoprintclient.ajax() (octoprintclient method)": [[57, "OctoPrintClient.ajax", false]], "octoprintclient.ajaxwithdata() (octoprintclient method)": [[57, "OctoPrintClient.ajaxWithData", false]], "octoprintclient.browser.login() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.login", false]], "octoprintclient.browser.logout() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.logout", false]], "octoprintclient.browser.passivelogin() (octoprintclient.browser method)": [[58, "OctoPrintClient.browser.passiveLogin", false]], "octoprintclient.connection.connect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.connect", false]], "octoprintclient.connection.disconnect() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.disconnect", false]], "octoprintclient.connection.fakeack() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.fakeAck", false]], "octoprintclient.connection.getsettings() (octoprintclient.connection method)": [[59, "OctoPrintClient.connection.getSettings", false]], "octoprintclient.control.getcustomcontrols() (octoprintclient.control method)": [[60, "OctoPrintClient.control.getCustomControls", false]], "octoprintclient.control.sendgcode() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcode", false]], "octoprintclient.control.sendgcodescript() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScript", false]], "octoprintclient.control.sendgcodescriptwithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeScriptWithParameters", false]], "octoprintclient.control.sendgcodewithparameters() (octoprintclient.control method)": [[60, "OctoPrintClient.control.sendGcodeWithParameters", false]], "octoprintclient.createcustomexception() (octoprintclient method)": [[57, "OctoPrintClient.createCustomException", false]], "octoprintclient.createrejecteddeferred() (octoprintclient method)": [[57, "OctoPrintClient.createRejectedDeferred", false]], "octoprintclient.delete() (octoprintclient method)": [[57, "OctoPrintClient.delete", false]], "octoprintclient.download() (octoprintclient method)": [[57, "OctoPrintClient.download", false]], "octoprintclient.files.copy() (octoprintclient.files method)": [[61, "OctoPrintClient.files.copy", false]], "octoprintclient.files.createfolder() (octoprintclient.files method)": [[61, "OctoPrintClient.files.createFolder", false]], "octoprintclient.files.delete() (octoprintclient.files method)": [[61, "OctoPrintClient.files.delete", false]], "octoprintclient.files.download() (octoprintclient.files method)": [[61, "OctoPrintClient.files.download", false]], "octoprintclient.files.entryforpath() (octoprintclient.files method)": [[61, "OctoPrintClient.files.entryForPath", false]], "octoprintclient.files.get() (octoprintclient.files method)": [[61, "OctoPrintClient.files.get", false]], "octoprintclient.files.list() (octoprintclient.files method)": [[61, "OctoPrintClient.files.list", false]], "octoprintclient.files.listforlocation() (octoprintclient.files method)": [[61, "OctoPrintClient.files.listForLocation", false]], "octoprintclient.files.move() (octoprintclient.files method)": [[61, "OctoPrintClient.files.move", false]], "octoprintclient.files.pathforentry() (octoprintclient.files method)": [[61, "OctoPrintClient.files.pathForEntry", false]], "octoprintclient.files.select() (octoprintclient.files method)": [[61, "OctoPrintClient.files.select", false]], "octoprintclient.files.slice() (octoprintclient.files method)": [[61, "OctoPrintClient.files.slice", false]], "octoprintclient.files.upload() (octoprintclient.files method)": [[61, "OctoPrintClient.files.upload", false]], "octoprintclient.get() (octoprintclient method)": [[57, "OctoPrintClient.get", false]], "octoprintclient.getbaseurl() (octoprintclient method)": [[57, "OctoPrintClient.getBaseUrl", false]], "octoprintclient.getblueprinturl() (octoprintclient method)": [[57, "OctoPrintClient.getBlueprintUrl", false]], "octoprintclient.getcookie() (octoprintclient method)": [[57, "OctoPrintClient.getCookie", false]], "octoprintclient.getrequestheaders() (octoprintclient method)": [[57, "OctoPrintClient.getRequestHeaders", false]], "octoprintclient.getsimpleapiurl() (octoprintclient method)": [[57, "OctoPrintClient.getSimpleApiUrl", false]], "octoprintclient.getwithquery() (octoprintclient method)": [[57, "OctoPrintClient.getWithQuery", false]], "octoprintclient.invalidargumenterror() (class)": [[57, "OctoPrintClient.InvalidArgumentError", false]], "octoprintclient.issuecommand() (octoprintclient method)": [[57, "OctoPrintClient.issueCommand", false]], "octoprintclient.job.cancel() (octoprintclient.job method)": [[63, "OctoPrintClient.job.cancel", false]], "octoprintclient.job.get() (octoprintclient.job method)": [[63, "OctoPrintClient.job.get", false]], "octoprintclient.job.pause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.pause", false]], "octoprintclient.job.restart() (octoprintclient.job method)": [[63, "OctoPrintClient.job.restart", false]], "octoprintclient.job.resume() (octoprintclient.job method)": [[63, "OctoPrintClient.job.resume", false]], "octoprintclient.job.start() (octoprintclient.job method)": [[63, "OctoPrintClient.job.start", false]], "octoprintclient.job.togglepause() (octoprintclient.job method)": [[63, "OctoPrintClient.job.togglePause", false]], "octoprintclient.languages.delete() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.delete", false]], "octoprintclient.languages.list() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.list", false]], "octoprintclient.languages.upload() (octoprintclient.languages method)": [[64, "OctoPrintClient.languages.upload", false]], "octoprintclient.options (octoprintclient attribute)": [[57, "OctoPrintClient.options", false]], "octoprintclient.patch() (octoprintclient method)": [[57, "OctoPrintClient.patch", false]], "octoprintclient.patchjson() (octoprintclient method)": [[57, "OctoPrintClient.patchJson", false]], "octoprintclient.plugins (octoprintclient attribute)": [[57, "OctoPrintClient.plugins", false]], "octoprintclient.plugins.appkeys.authenticate() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.authenticate", false]], "octoprintclient.plugins.appkeys.checkdecision() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.checkDecision", false]], "octoprintclient.plugins.appkeys.decide() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.decide", false]], "octoprintclient.plugins.appkeys.generatekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.generateKey", false]], "octoprintclient.plugins.appkeys.getallkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getAllKeys", false]], "octoprintclient.plugins.appkeys.getkey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKey", false]], "octoprintclient.plugins.appkeys.getkeys() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.getKeys", false]], "octoprintclient.plugins.appkeys.probe() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.probe", false]], "octoprintclient.plugins.appkeys.request() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.request", false]], "octoprintclient.plugins.appkeys.requestforuser() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.requestForUser", false]], "octoprintclient.plugins.appkeys.revokekey() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKey", false]], "octoprintclient.plugins.appkeys.revokekeyforapp() (octoprintclient.plugins.appkeys method)": [[23, "OctoPrintClient.plugins.appkeys.revokeKeyForApp", false]], "octoprintclient.plugins.logging.deletelog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.deleteLog", false]], "octoprintclient.plugins.logging.downloadlog() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.downloadLog", false]], "octoprintclient.plugins.logging.listlogs() (octoprintclient.plugins.logging method)": [[31, "OctoPrintClient.plugins.logging.listLogs", false]], "octoprintclient.post() (octoprintclient method)": [[57, "OctoPrintClient.post", false]], "octoprintclient.postjson() (octoprintclient method)": [[57, "OctoPrintClient.postJson", false]], "octoprintclient.printer.extrude() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.extrude", false]], "octoprintclient.printer.getbedstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getBedState", false]], "octoprintclient.printer.getchamberstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getChamberState", false]], "octoprintclient.printer.getfullstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getFullState", false]], "octoprintclient.printer.getsdstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getSdState", false]], "octoprintclient.printer.gettoolstate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.getToolState", false]], "octoprintclient.printer.home() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.home", false]], "octoprintclient.printer.initsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.initSd", false]], "octoprintclient.printer.jog() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.jog", false]], "octoprintclient.printer.refreshsd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.refreshSd", false]], "octoprintclient.printer.releasesd() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.releaseSd", false]], "octoprintclient.printer.selecttool() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.selectTool", false]], "octoprintclient.printer.setbedtargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTargetTemperature", false]], "octoprintclient.printer.setbedtemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setBedTemperatureOffset", false]], "octoprintclient.printer.setchambertargettemperature() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTargetTemperature", false]], "octoprintclient.printer.setchambertemperatureoffset() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setChamberTemperatureOffset", false]], "octoprintclient.printer.setfeedrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFeedrate", false]], "octoprintclient.printer.setflowrate() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setFlowrate", false]], "octoprintclient.printer.settooltargettemperatures() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTargetTemperatures", false]], "octoprintclient.printer.settooltemperatureoffsets() (octoprintclient.printer method)": [[66, "OctoPrintClient.printer.setToolTemperatureOffsets", false]], "octoprintclient.printerprofiles.add() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.add", false]], "octoprintclient.printerprofiles.delete() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.delete", false]], "octoprintclient.printerprofiles.get() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.get", false]], "octoprintclient.printerprofiles.list() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.list", false]], "octoprintclient.printerprofiles.update() (octoprintclient.printerprofiles method)": [[67, "OctoPrintClient.printerprofiles.update", false]], "octoprintclient.put() (octoprintclient method)": [[57, "OctoPrintClient.put", false]], "octoprintclient.putjson() (octoprintclient method)": [[57, "OctoPrintClient.putJson", false]], "octoprintclient.registerplugincomponent() (octoprintclient method)": [[57, "OctoPrintClient.registerPluginComponent", false]], "octoprintclient.settings.generateapikey() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.generateApiKey", false]], "octoprintclient.settings.get() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.get", false]], "octoprintclient.settings.getpluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.getPluginSettings", false]], "octoprintclient.settings.save() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.save", false]], "octoprintclient.settings.savepluginsettings() (octoprintclient.settings method)": [[68, "OctoPrintClient.settings.savePluginSettings", false]], "octoprintclient.simpleapicommand() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiCommand", false]], "octoprintclient.simpleapiget() (octoprintclient method)": [[57, "OctoPrintClient.simpleApiGet", false]], "octoprintclient.slicing.addprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.addProfileForSlicer", false]], "octoprintclient.slicing.deleteprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.deleteProfileForSlicer", false]], "octoprintclient.slicing.getprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.getProfileForSlicer", false]], "octoprintclient.slicing.listallslicersandprofiles() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listAllSlicersAndProfiles", false]], "octoprintclient.slicing.listprofilesforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.listProfilesForSlicer", false]], "octoprintclient.slicing.updateprofileforslicer() (octoprintclient.slicing method)": [[69, "OctoPrintClient.slicing.updateProfileForSlicer", false]], "octoprintclient.socket.connect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.connect", false]], "octoprintclient.socket.decreaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.decreaseRate", false]], "octoprintclient.socket.disconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.disconnect", false]], "octoprintclient.socket.increaserate() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.increaseRate", false]], "octoprintclient.socket.onmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onMessage", false]], "octoprintclient.socket.onratetoohigh() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooHigh", false]], "octoprintclient.socket.onratetoolow() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.onRateTooLow", false]], "octoprintclient.socket.options (octoprintclient.socket attribute)": [[70, "OctoPrintClient.socket.options", false]], "octoprintclient.socket.reconnect() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.reconnect", false]], "octoprintclient.socket.removemessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.removeMessage", false]], "octoprintclient.socket.sendauth() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendAuth", false]], "octoprintclient.socket.sendmessage() (octoprintclient.socket method)": [[70, "OctoPrintClient.socket.sendMessage", false]], "octoprintclient.system.executecommand() (octoprintclient.system method)": [[71, "OctoPrintClient.system.executeCommand", false]], "octoprintclient.system.getcommands() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommands", false]], "octoprintclient.system.getcommandsforsource() (octoprintclient.system method)": [[71, "OctoPrintClient.system.getCommandsForSource", false]], "octoprintclient.timelapse.delete() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.delete", false]], "octoprintclient.timelapse.deleteunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.deleteUnrendered", false]], "octoprintclient.timelapse.download() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.download", false]], "octoprintclient.timelapse.get() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.get", false]], "octoprintclient.timelapse.getconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.getConfig", false]], "octoprintclient.timelapse.list() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.list", false]], "octoprintclient.timelapse.listrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listRendered", false]], "octoprintclient.timelapse.listunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.listUnrendered", false]], "octoprintclient.timelapse.renderunrendered() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.renderUnrendered", false]], "octoprintclient.timelapse.saveconfig() (octoprintclient.timelapse method)": [[72, "OctoPrintClient.timelapse.saveConfig", false]], "octoprintclient.upload() (octoprintclient method)": [[57, "OctoPrintClient.upload", false]], "octoprintclient.users.add() (octoprintclient.users method)": [[73, "OctoPrintClient.users.add", false]], "octoprintclient.users.changepassword() (octoprintclient.users method)": [[73, "OctoPrintClient.users.changePassword", false]], "octoprintclient.users.delete() (octoprintclient.users method)": [[73, "OctoPrintClient.users.delete", false]], "octoprintclient.users.generateapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.generateApiKey", false]], "octoprintclient.users.get() (octoprintclient.users method)": [[73, "OctoPrintClient.users.get", false]], "octoprintclient.users.getsettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.getSettings", false]], "octoprintclient.users.list() (octoprintclient.users method)": [[73, "OctoPrintClient.users.list", false]], "octoprintclient.users.resetapikey() (octoprintclient.users method)": [[73, "OctoPrintClient.users.resetApiKey", false]], "octoprintclient.users.savesettings() (octoprintclient.users method)": [[73, "OctoPrintClient.users.saveSettings", false]], "octoprintclient.users.update() (octoprintclient.users method)": [[73, "OctoPrintClient.users.update", false]], "octoprintclient.util.test() (octoprintclient.util method)": [[74, "OctoPrintClient.util.test", false]], "octoprintclient.util.testexecutable() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testExecutable", false]], "octoprintclient.util.testpath() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testPath", false]], "octoprintclient.util.testresolution() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testResolution", false]], "octoprintclient.util.testserver() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testServer", false]], "octoprintclient.util.testurl() (octoprintclient.util method)": [[74, "OctoPrintClient.util.testUrl", false]], "octoprintclient.wizard.finish() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.finish", false]], "octoprintclient.wizard.get() (octoprintclient.wizard method)": [[75, "OctoPrintClient.wizard.get", false]], "octoprintcontext (class in octoprint.cli)": [[77, "octoprint.cli.OctoPrintContext", false]], "octoprintdevelcommands (class in octoprint.cli.dev)": [[77, "octoprint.cli.dev.OctoPrintDevelCommands", false]], "octoprintflaskrequest (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest", false]], "octoprintflaskresponse (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse", false]], "octoprintjsonprovider (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintJsonProvider", false]], "octoprintplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.OctoPrintPlugin", false]], "octoprintplugincommands (class in octoprint.cli.plugins)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands", false]], "octoprintsessioninterface (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface", false]], "off (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.off", false]], "on_after_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_after_startup", false]], "on_api_command() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_command", false]], "on_api_get() (octoprint.plugin.simpleapiplugin method)": [[95, "octoprint.plugin.SimpleApiPlugin.on_api_get", false]], "on_event() (octoprint.plugin.eventhandlerplugin method)": [[95, "octoprint.plugin.EventHandlerPlugin.on_event", false]], "on_finish() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.on_finish", false]], "on_log_call (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_call", false]], "on_log_stderr (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stderr", false]], "on_log_stdout (octoprint.util.commandline.commandlinecaller attribute)": [[86, "octoprint.util.commandline.CommandlineCaller.on_log_stdout", false]], "on_plugin_disabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_disabled", false]], "on_plugin_enabled() (octoprint.plugin.core.plugin method)": [[80, "octoprint.plugin.core.Plugin.on_plugin_enabled", false]], "on_plugin_pending_uninstall() (octoprint.plugin.types.octoprintplugin method)": [[80, "octoprint.plugin.types.OctoPrintPlugin.on_plugin_pending_uninstall", false]], "on_print_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_print_progress", false]], "on_printer_add_log() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_log", false]], "on_printer_add_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_message", false]], "on_printer_add_temperature() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_add_temperature", false]], "on_printer_received_registered_message() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_received_registered_message", false]], "on_printer_send_current_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_current_data", false]], "on_printer_send_initial_data() (octoprint.printer.printercallback method)": [[81, "octoprint.printer.PrinterCallback.on_printer_send_initial_data", false]], "on_settings_cleanup() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_cleanup", false]], "on_settings_initialized() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_initialized", false]], "on_settings_load() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_load", false]], "on_settings_migrate() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_migrate", false]], "on_settings_save() (octoprint.plugin.settingsplugin method)": [[95, "octoprint.plugin.SettingsPlugin.on_settings_save", false]], "on_shutdown() (octoprint.plugin.shutdownplugin method)": [[95, "octoprint.plugin.ShutdownPlugin.on_shutdown", false]], "on_slicing_progress() (octoprint.plugin.progressplugin method)": [[95, "octoprint.plugin.ProgressPlugin.on_slicing_progress", false]], "on_startup() (octoprint.plugin.startupplugin method)": [[95, "octoprint.plugin.StartupPlugin.on_startup", false]], "on_ui_render() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.on_ui_render", false]], "on_wizard_finish() (octoprint.plugin.wizardplugin method)": [[95, "octoprint.plugin.WizardPlugin.on_wizard_finish", false]], "onlinecheck (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.onlineCheck", false]], "onlinecheckconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.OnlineCheckConfig", false]], "options (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.options", false]], "options() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.options", false]], "optionsalloworigin() (in module octoprint.server.util)": [[83, "octoprint.server.util.optionsAllowOrigin", false]], "orange (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.orange", false]], "order (octoprint.schema.config.appearance.componentconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentConfig.order", false]], "origin (octoprint.plugin.core.plugininfo attribute)": [[80, "octoprint.plugin.core.PluginInfo.origin", false]], "original_absolute_path (octoprint.server.util.tornado.largeresponsehandler property)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.original_absolute_path", false]], "overlay_key (octoprint.settings.settings attribute)": [[84, "octoprint.settings.Settings.OVERLAY_KEY", false]], "parameter (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.parameter", false]], "parsed_metadata (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.parsed_metadata", false]], "pass_octoprint_ctx() (in module octoprint.cli)": [[77, "octoprint.cli.pass_octoprint_ctx", false]], "patch() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.patch", false]], "path_in_storage() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_in_storage", false]], "path_in_storage() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_in_storage", false]], "path_on_disk() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.path_on_disk", false]], "path_on_disk() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.path_on_disk", false]], "path_validation_factory() (in module octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.path_validation_factory", false]], "pathsuffix (octoprint.schema.config.server.uploadsconfig attribute)": [[82, "octoprint.schema.config.server.UploadsConfig.pathSuffix", false]], "pause() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.pause", false]], "pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.pause_print", false]], "pausetriggers (octoprint.schema.config.printer_parameters.printerparametersconfig attribute)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig.pauseTriggers", false]], "pausingcommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.pausingCommands", false]], "pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.pending_deprecation", false]], "permission_and_fresh_credentials_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_and_fresh_credentials_validator", false]], "permission_validator() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.permission_validator", false]], "permissionmanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.permissionManager", false]], "plugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.Plugin", false]], "plugin_hooks (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugin_hooks", false]], "plugin_manager (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.plugin_manager", false]], "plugin_manager() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_manager", false]], "plugin_settings() (in module octoprint.plugin)": [[80, "octoprint.plugin.plugin_settings", false]], "pluginassetresolver (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PluginAssetResolver", false]], "pluginblacklist (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.pluginBlacklist", false]], "pluginblacklistconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig", false]], "plugininfo (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginInfo", false]], "pluginmanager (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.PluginManager", false]], "plugins (octoprint.plugin.core.pluginmanager property)": [[80, "octoprint.plugin.core.PluginManager.plugins", false]], "plugins (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.plugins", false]], "plugins (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.plugins", false]], "pluginsconfig (class in octoprint.schema.config.plugins)": [[82, "octoprint.schema.config.plugins.PluginsConfig", false]], "pluginsettings (class in octoprint.plugin)": [[80, "octoprint.plugin.PluginSettings", false]], "plugintimings (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.pluginTimings", false]], "pollwatched (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.pollWatched", false]], "port (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.port", false]], "port (octoprint.schema.config.server.onlinecheckconfig attribute)": [[82, "octoprint.schema.config.server.OnlineCheckConfig.port", false]], "port (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.port", false]], "portfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portFallback", false]], "portheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.portHeader", false]], "posautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.posAutoreport", false]], "positionlogwait (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.positionLogWait", false]], "post() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.post", false]], "postroll (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.postRoll", false]], "pp() (in module octoprint.util)": [[86, "octoprint.util.pp", false]], "preemptive (octoprint.schema.config.devel.develcacheconfig attribute)": [[82, "octoprint.schema.config.devel.DevelCacheConfig.preemptive", false]], "preemptivecache (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.preemptiveCache", false]], "preemptivecacheconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig", false]], "prefixawarejinjaenvironment (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.PrefixAwareJinjaEnvironment", false]], "prefixfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixFallback", false]], "prefixheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.prefixHeader", false]], "prepare() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.prepare", false]], "prependablequeue (class in octoprint.util)": [[86, "octoprint.util.PrependableQueue", false]], "print_time_estimator_factory()": [[92, "print_time_estimator_factory", false]], "printcancelconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printCancelConfirmation", false]], "printer_factory_hook()": [[92, "printer_factory_hook", false]], "printercallback (class in octoprint.printer)": [[81, "octoprint.printer.PrinterCallback", false]], "printerinterface (class in octoprint.printer)": [[81, "octoprint.printer.PrinterInterface", false]], "printerparameters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerParameters", false]], "printerparametersconfig (class in octoprint.schema.config.printer_parameters)": [[82, "octoprint.schema.config.printer_parameters.PrinterParametersConfig", false]], "printerprofilemanager (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.PrinterProfileManager", false]], "printerprofiles (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.printerProfiles", false]], "printerprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.printerProfiles", false]], "printerprofilesconfig (class in octoprint.schema.config.printer_profiles)": [[82, "octoprint.schema.config.printer_profiles.PrinterProfilesConfig", false]], "printing (octoprint.schema.config.serial.serialmaxtimeouts attribute)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts.printing", false]], "printstartconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.printStartConfirmation", false]], "printtime (octoprint.schema.config.estimation.estimationconfig attribute)": [[82, "octoprint.schema.config.estimation.EstimationConfig.printTime", false]], "printtimeestimationconfig (class in octoprint.schema.config.estimation)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig", false]], "privacypolicy (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.privacypolicy", false]], "process_line() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.process_line", false]], "profile (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.profile", false]], "profilealreadyexists (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileAlreadyExists", false]], "profileexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.ProfileException", false]], "profiles (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.profiles", false]], "profiles_last_modified() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.profiles_last_modified", false]], "progressplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ProgressPlugin", false]], "protocol_action_hook()": [[92, "protocol_action_hook", false]], "protocol_atcommandphase_hook()": [[92, "protocol_atcommandphase_hook", false]], "protocol_gcodephase_hook()": [[92, "protocol_gcodephase_hook", false]], "protocol_scripts_hook()": [[92, "protocol_scripts_hook", false]], "protocol_temperatures_received_hook()": [[92, "protocol_temperatures_received_hook", false]], "put() (octoprint.server.util.tornado.uploadstoragefallbackhandler method)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler.put", false]], "put() (octoprint.util.typedqueue method)": [[86, "octoprint.util.TypedQueue.put", false]], "pythoncompat (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.pythoncompat", false]], "queueentry (class in octoprint.filemanager.analysis)": [[78, "octoprint.filemanager.analysis.QueueEntry", false]], "ratioenum (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.RatioEnum", false]], "readable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.readable", false]], "readable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.readable", false]], "reconnect_hooks_hook()": [[32, "reconnect_hooks_hook", false]], "rectangular (octoprint.printer.profile.bedformfactor attribute)": [[81, "octoprint.printer.profile.BedFormFactor.RECTANGULAR", false]], "red (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.red", false]], "redirect_to_tornado() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.redirect_to_tornado", false]], "regex (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.regex", false]], "regex (octoprint.schema.config.terminalfilters.terminalfilterentry attribute)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry.regex", false]], "register_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.register_callback", false]], "register_custom_events_hook()": [[92, "register_custom_events_hook", false]], "register_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.register_message_receiver", false]], "registered_slicers (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.registered_slicers", false]], "reload_plugins() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.reload_plugins", false]], "reload_slicers() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.reload_slicers", false]], "reloadneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ReloadNeedingPlugin", false]], "reloadneedingplugin (class in octoprint.plugin.types)": [[80, "octoprint.plugin.types.ReloadNeedingPlugin", false]], "rememberfilefolder (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.rememberFileFolder", false]], "remoteuserheader (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.remoteUserHeader", false]], "remove() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove", false]], "remove_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_additional_metadata", false]], "remove_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_additional_metadata", false]], "remove_file() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_file", false]], "remove_file() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_file", false]], "remove_folder() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_folder", false]], "remove_folder() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_folder", false]], "remove_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.remove_handler", false]], "remove_link() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.remove_link", false]], "remove_link() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.remove_link", false]], "remove_overlay() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.remove_overlay", false]], "remove_overlay() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_overlay", false]], "remove_path_update_callback() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.remove_path_update_callback", false]], "repeatedtimer (class in octoprint.util)": [[86, "octoprint.util.RepeatedTimer", false]], "repetiertargettemp (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.repetierTargetTemp", false]], "requestlessexceptionloggingmixin (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin", false]], "require_credentials_checked_recently() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.require_credentials_checked_recently", false]], "require_fresh_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_fresh_login_with", false]], "require_login() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login", false]], "require_login_with() (in module octoprint.server.util)": [[83, "octoprint.server.util.require_login_with", false]], "resendok (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.resendOk", false]], "resendratiostart (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioStart", false]], "resendratiothreshold (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.resendRatioThreshold", false]], "resettabletimer (class in octoprint.util)": [[86, "octoprint.util.ResettableTimer", false]], "resolve_output_to_path() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.resolve_output_to_path", false]], "restartneedingplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.RestartNeedingPlugin", false]], "restartneedingplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.RestartNeedingPlugin", false]], "restricted_access() (in module octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.restricted_access", false]], "resume() (octoprint.filemanager.analysis.abstractanalysisqueue method)": [[78, "octoprint.filemanager.analysis.AbstractAnalysisQueue.resume", false]], "resume_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.resume_print", false]], "retractionzhop (octoprint.schema.config.webcam.timelapseoptions attribute)": [[82, "octoprint.schema.config.webcam.TimelapseOptions.retractionZHop", false]], "reverseproxy (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.reverseProxy", false]], "reverseproxyconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ReverseProxyConfig", false]], "rotate90 (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.rotate90", false]], "route() (octoprint.plugin.blueprintplugin static method)": [[95, "octoprint.plugin.BlueprintPlugin.route", false]], "run() (octoprint.util.repeatedtimer method)": [[86, "octoprint.util.RepeatedTimer.run", false]], "run() (octoprint.util.resettabletimer method)": [[86, "octoprint.util.ResettableTimer.run", false]], "run_server() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.run_server", false]], "runat (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.runAt", false]], "runatenum (class in octoprint.schema.config.gcode_analysis)": [[82, "octoprint.schema.config.gcode_analysis.RunAtEnum", false]], "salt (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.salt", false]], "samesite (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.samesite", false]], "samesiteenum (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.SameSiteEnum", false]], "sanitize() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize", false]], "sanitize() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize", false]], "sanitize_name() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_name", false]], "sanitize_name() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_name", false]], "sanitize_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.sanitize_path", false]], "sanitize_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.sanitize_path", false]], "sanity_check_folders() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.sanity_check_folders", false]], "sanitychecktools (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sanityCheckTools", false]], "save() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.save", false]], "save() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.save", false]], "save() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.save", false]], "save() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.save", false]], "save() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.save", false]], "save_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.save_profile", false]], "save_session() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.save_session", false]], "save_slicer_profile() (octoprint.plugin.slicerplugin method)": [[95, "octoprint.plugin.SlicerPlugin.save_slicer_profile", false]], "saveerror (class in octoprint.printer.profile)": [[81, "octoprint.printer.profile.SaveError", false]], "savescript() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.saveScript", false]], "schemefallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeFallback", false]], "schemeheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.schemeHeader", false]], "script (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.script", false]], "script() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.script", false]], "scripts (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.scripts", false]], "scripts (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.scripts", false]], "scriptsconfig (class in octoprint.schema.config.scripts)": [[82, "octoprint.schema.config.scripts.ScriptsConfig", false]], "sd_card_upload_hook()": [[92, "sd_card_upload_hook", false]], "sdalwaysavailable (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdAlwaysAvailable", false]], "sdcancelcommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdCancelCommand", false]], "sdlowercase (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdLowerCase", false]], "sdrelativepath (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sdRelativePath", false]], "sdstatus (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatus", false]], "sdstatusautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.sdStatusAutoreport", false]], "sdsupport (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.sdSupport", false]], "secretkey (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.secretKey", false]], "secure (octoprint.schema.config.server.cookiesconfig attribute)": [[82, "octoprint.schema.config.server.CookiesConfig.secure", false]], "seekable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.seekable", false]], "seekable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.seekable", false]], "seenwizards (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.seenWizards", false]], "select_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.select_file", false]], "send_initial_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.send_initial_callback", false]], "send_plugin_message() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.send_plugin_message", false]], "sendautomatically (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomatically", false]], "sendautomaticallyafter (octoprint.schema.config.temperature.temperatureconfig attribute)": [[82, "octoprint.schema.config.temperature.TemperatureConfig.sendAutomaticallyAfter", false]], "sendchecksumwithunknowncommands (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendChecksumWithUnknownCommands", false]], "sendm112onerror (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.sendM112OnError", false]], "serial (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.serial", false]], "serial_factory_hook()": [[92, "serial_factory_hook", false]], "serialcapabilities (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialCapabilities", false]], "serialconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialConfig", false]], "serialize() (in module octoprint.util)": [[86, "octoprint.util.serialize", false]], "serialmaxtimeouts (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialMaxTimeouts", false]], "serialtimeoutconfig (class in octoprint.schema.config.serial)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig", false]], "server (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.server", false]], "server_bodysize_hook()": [[92, "server_bodysize_hook", false]], "server_name (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_name", false]], "server_options() (in module octoprint.cli.server)": [[77, "octoprint.cli.server.server_options", false]], "server_port (octoprint.server.util.flask.octoprintflaskrequest property)": [[83, "octoprint.server.util.flask.OctoPrintFlaskRequest.server_port", false]], "server_route_hook()": [[92, "server_route_hook", false]], "serverconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.ServerConfig", false]], "serverfallback (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverFallback", false]], "serverheader (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.serverHeader", false]], "serverrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.serverRestartCommand", false]], "set() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set", false]], "set() (octoprint.server.util.flask.lesssimplecache method)": [[83, "octoprint.server.util.flask.LessSimpleCache.set", false]], "set() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.set", false]], "set_additional_metadata() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.set_additional_metadata", false]], "set_additional_metadata() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.set_additional_metadata", false]], "set_boolean() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_boolean", false]], "set_close_exec() (in module octoprint.util.platform)": [[86, "octoprint.util.platform.set_close_exec", false]], "set_cookie() (octoprint.server.util.flask.octoprintflaskresponse method)": [[83, "octoprint.server.util.flask.OctoPrintFlaskResponse.set_cookie", false]], "set_ctx_obj_option() (in module octoprint.cli)": [[77, "octoprint.cli.set_ctx_obj_option", false]], "set_default_headers() (octoprint.server.util.tornado.corssupportmixin method)": [[83, "octoprint.server.util.tornado.CorsSupportMixin.set_default_headers", false]], "set_default_profile() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.set_default_profile", false]], "set_extra_headers() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.set_extra_headers", false]], "set_float() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_float", false]], "set_handler() (octoprint.server.util.sockjs.threadsafesession method)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession.set_handler", false]], "set_int() (octoprint.plugin.pluginsettings method)": [[80, "octoprint.plugin.PluginSettings.set_int", false]], "set_job_on_hold() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_job_on_hold", false]], "set_temperature() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature", false]], "set_temperature_offset() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.set_temperature_offset", false]], "setbasefolder() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBaseFolder", false]], "setboolean() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setBoolean", false]], "setfloat() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setFloat", false]], "setint() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.setInt", false]], "settings (class in octoprint.settings)": [[84, "octoprint.settings.Settings", false]], "settings (octoprint.cli.plugins.octoprintplugincommands attribute)": [[77, "octoprint.cli.plugins.OctoPrintPluginCommands.settings", false]], "settings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.settings", false]], "settings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.settings", false]], "settings() (in module octoprint.settings)": [[84, "octoprint.settings.settings", false]], "settingscheckupdater (class in octoprint.server.util.flask)": [[83, "octoprint.server.util.flask.SettingsCheckUpdater", false]], "settingsplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SettingsPlugin", false]], "should_set_cookie() (octoprint.server.util.flask.octoprintsessioninterface method)": [[83, "octoprint.server.util.flask.OctoPrintSessionInterface.should_set_cookie", false]], "showfahrenheitalso (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showFahrenheitAlso", false]], "showinternalfilename (octoprint.schema.config.appearance.appearanceconfig attribute)": [[82, "octoprint.schema.config.appearance.AppearanceConfig.showInternalFilename", false]], "showloadinganimation (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.showLoadingAnimation", false]], "shutdownplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.ShutdownPlugin", false]], "sidebar (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.sidebar", false]], "sidebar (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.sidebar", false]], "simpleapiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SimpleApiPlugin", false]], "sixteen_nine (octoprint.schema.webcam.ratioenum attribute)": [[82, "octoprint.schema.webcam.RatioEnum.sixteen_nine", false]], "slice() (octoprint.slicing.slicingmanager method)": [[85, "octoprint.slicing.SlicingManager.slice", false]], "slicer (octoprint.slicing.exceptions.profileexception attribute)": [[85, "octoprint.slicing.exceptions.ProfileException.slicer", false]], "slicer (octoprint.slicing.exceptions.slicerexception attribute)": [[85, "octoprint.slicing.exceptions.SlicerException.slicer", false]], "slicerexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerException", false]], "slicernotconfigured (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicerNotConfigured", false]], "slicerplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.SlicerPlugin", false]], "slicing (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.slicing", false]], "slicing_enabled (octoprint.slicing.slicingmanager property)": [[85, "octoprint.slicing.SlicingManager.slicing_enabled", false]], "slicingcancelled (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingCancelled", false]], "slicingconfig (class in octoprint.schema.config.slicing)": [[82, "octoprint.schema.config.slicing.SlicingConfig", false]], "slicingexception (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.SlicingException", false]], "slicingmanager (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingManager", false]], "slicingprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.SlicingProfile", false]], "slicingprofiles (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.slicingProfiles", false]], "slider (octoprint.schema.config.controls.controlinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlInputConfig.slider", false]], "snapshot (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshot", false]], "snapshotdisplay (octoprint.schema.webcam.webcam attribute)": [[82, "octoprint.schema.webcam.Webcam.snapshotDisplay", false]], "snapshotsslvalidation (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotSslValidation", false]], "snapshottimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.snapshotTimeout", false]], "snapshotwebcam (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.snapshotWebcam", false]], "snippets (octoprint.schema.config.scripts.gcodescriptsconfig attribute)": [[82, "octoprint.schema.config.scripts.GcodeScriptsConfig.snippets", false]], "sockjsconnecttimeout (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.sockJsConnectTimeout", false]], "sortableplugin (class in octoprint.plugin.core)": [[80, "octoprint.plugin.core.SortablePlugin", false]], "sorting_order (octoprint.schema.config.plugins.pluginsconfig attribute)": [[82, "octoprint.schema.config.plugins.PluginsConfig.sorting_order", false]], "split_path() (octoprint.filemanager.storage.localfilestorage method)": [[78, "octoprint.filemanager.storage.LocalFileStorage.split_path", false]], "split_path() (octoprint.filemanager.storage.storageinterface method)": [[78, "octoprint.filemanager.storage.StorageInterface.split_path", false]], "split_prefix() (octoprint.server.util.flask.pluginassetresolver method)": [[83, "octoprint.server.util.flask.PluginAssetResolver.split_prefix", false]], "stablethreshold (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.stableThreshold", false]], "standard_options() (in module octoprint.cli)": [[77, "octoprint.cli.standard_options", false]], "start_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.start_print", false]], "startonceinsafemode (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.startOnceInSafeMode", false]], "startupplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.StartupPlugin", false]], "staticdatahandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticDataHandler", false]], "staticzipbundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.StaticZipBundleHandler", false]], "statsweighinguntil (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.statsWeighingUntil", false]], "step (octoprint.schema.config.controls.controlsliderinputconfig attribute)": [[82, "octoprint.schema.config.controls.ControlSliderInputConfig.step", false]], "storageinterface (class in octoprint.filemanager.storage)": [[78, "octoprint.filemanager.storage.StorageInterface", false]], "stream (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.stream", false]], "stream() (octoprint.filemanager.util.abstractfilewrapper method)": [[78, "octoprint.filemanager.util.AbstractFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.diskfilewrapper method)": [[78, "octoprint.filemanager.util.DiskFileWrapper.stream", false]], "stream() (octoprint.filemanager.util.streamwrapper method)": [[78, "octoprint.filemanager.util.StreamWrapper.stream", false]], "streamed_get() (octoprint.server.util.tornado.largeresponsehandler method)": [[83, "octoprint.server.util.tornado.LargeResponseHandler.streamed_get", false]], "streamratio (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamRatio", false]], "streamtimeout (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamTimeout", false]], "streamwebrtciceservers (octoprint.schema.webcam.webcamcompatibility attribute)": [[82, "octoprint.schema.webcam.WebcamCompatibility.streamWebrtcIceServers", false]], "streamwrapper (class in octoprint.filemanager.util)": [[78, "octoprint.filemanager.util.StreamWrapper", false]], "strict (octoprint.schema.config.server.samesiteenum attribute)": [[82, "octoprint.schema.config.server.SameSiteEnum.strict", false]], "stylesheet (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.stylesheet", false]], "stylesheetenum (class in octoprint.schema.config.devel)": [[82, "octoprint.schema.config.devel.StylesheetEnum", false]], "subscriptions (octoprint.schema.config.events.eventsconfig attribute)": [[82, "octoprint.schema.config.events.EventsConfig.subscriptions", false]], "subscriptiontypeenum (class in octoprint.schema.config.events)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum", false]], "supportfascommand (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportFAsCommand", false]], "supportresendswithoutok (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportResendsWithoutOk", false]], "supportwait (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.supportWait", false]], "swallowokafterresend (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.swallowOkAfterResend", false]], "system (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.system", false]], "system (octoprint.schema.config.events.subscriptiontypeenum attribute)": [[82, "octoprint.schema.config.events.SubscriptionTypeEnum.system", false]], "systemconfig (class in octoprint.schema.config.system)": [[82, "octoprint.schema.config.system.SystemConfig", false]], "systeminfobundlehandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.SystemInfoBundleHandler", false]], "systemrestartcommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemRestartCommand", false]], "systemshutdowncommand (octoprint.schema.config.server.commandsconfig attribute)": [[82, "octoprint.schema.config.server.CommandsConfig.systemShutdownCommand", false]], "tab (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.tab", false]], "tab (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.tab", false]], "take_webcam_snapshot() (octoprint.plugin.webcamproviderplugin method)": [[95, "octoprint.plugin.WebcamProviderPlugin.take_webcam_snapshot", false]], "temperature (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.temperature", false]], "temperature (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperature", false]], "temperatureautoreport (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureAutoreport", false]], "temperatureconfig (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureConfig", false]], "temperaturegraph (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.temperatureGraph", false]], "temperatureprofile (class in octoprint.schema.config.temperature)": [[82, "octoprint.schema.config.temperature.TemperatureProfile", false]], "temperaturetargetset (octoprint.schema.config.serial.serialtimeoutconfig attribute)": [[82, "octoprint.schema.config.serial.SerialTimeoutConfig.temperatureTargetSet", false]], "template (octoprint.schema.config.controls.controlconfig attribute)": [[82, "octoprint.schema.config.controls.ControlConfig.template", false]], "templateplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.TemplatePlugin", false]], "templatetype_hook()": [[92, "templatetype_hook", false]], "temporaryprofile (class in octoprint.slicing)": [[85, "octoprint.slicing.TemporaryProfile", false]], "terminalfilterentry (class in octoprint.schema.config.terminalfilters)": [[82, "octoprint.schema.config.terminalfilters.TerminalFilterEntry", false]], "terminalfilters (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.terminalFilters", false]], "terminallogsize (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.terminalLogSize", false]], "threadsafesession (class in octoprint.server.util.sockjs)": [[83, "octoprint.server.util.sockjs.ThreadSafeSession", false]], "throttle_highprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_highprio", false]], "throttle_lines (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_lines", false]], "throttle_normalprio (octoprint.schema.config.gcode_analysis.gcodeanalysisconfig attribute)": [[82, "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig.throttle_normalprio", false]], "timed (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.timed", false]], "timelapse (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse", false]], "timelapse (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapse", false]], "timelapse_extension_hook()": [[92, "timelapse_extension_hook", false]], "timelapse_tmp (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.timelapse_tmp", false]], "timelapseconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseConfig", false]], "timelapseenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.timelapseEnabled", false]], "timelapseoptions (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseOptions", false]], "timelapsetypeenum (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum", false]], "timeout (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.timeout", false]], "timeout (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.timeout", false]], "to_bytes() (in module octoprint.util)": [[86, "octoprint.util.to_bytes", false]], "to_native_str() (in module octoprint.util)": [[86, "octoprint.util.to_native_str", false]], "to_str() (in module octoprint.util)": [[86, "octoprint.util.to_str", false]], "to_unicode() (in module octoprint.util)": [[86, "octoprint.util.to_unicode", false]], "toggle_pause_print() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.toggle_pause_print", false]], "translations (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.translations", false]], "triggerokform29 (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.triggerOkForM29", false]], "trustbasicauthentication (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustBasicAuthentication", false]], "trusteddownstream (octoprint.schema.config.server.reverseproxyconfig attribute)": [[82, "octoprint.schema.config.server.ReverseProxyConfig.trustedDownstream", false]], "trustedsubnets (octoprint.schema.config.server.ipcheckconfig attribute)": [[82, "octoprint.schema.config.server.IpCheckConfig.trustedSubnets", false]], "trustremoteuser (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.trustRemoteUser", false]], "ttl (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.ttl", false]], "type (octoprint.schema.config.events.eventsubscription attribute)": [[82, "octoprint.schema.config.events.EventSubscription.type", false]], "type (octoprint.schema.config.webcam.timelapseconfig attribute)": [[82, "octoprint.schema.config.webcam.TimelapseConfig.type", false]], "typealreadyinqueue": [[86, "octoprint.util.TypeAlreadyInQueue", false]], "typedqueue (class in octoprint.util)": [[86, "octoprint.util.TypedQueue", false]], "ui_theming_hook()": [[92, "ui_theming_hook", false]], "uiplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.UiPlugin", false]], "unknowncommandsneedack (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.unknownCommandsNeedAck", false]], "unknownprofile (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownProfile", false]], "unknownrole": [[76, "octoprint.access.users.UnknownRole", false]], "unknownslicer (class in octoprint.slicing.exceptions)": [[85, "octoprint.slicing.exceptions.UnknownSlicer", false]], "unknownuser": [[76, "octoprint.access.users.UnknownUser", false]], "unload (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.unload", false]], "unregister_callback() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unregister_callback", false]], "unregister_message_receiver() (octoprint.plugin.core.pluginmanager method)": [[80, "octoprint.plugin.core.PluginManager.unregister_message_receiver", false]], "unselect_file() (octoprint.printer.printerinterface method)": [[81, "octoprint.printer.PrinterInterface.unselect_file", false]], "until (octoprint.schema.config.server.preemptivecacheconfig attribute)": [[82, "octoprint.schema.config.server.PreemptiveCacheConfig.until", false]], "update_config_hook()": [[33, "update_config_hook", false]], "uploadoverwriteconfirmation (octoprint.schema.config.feature.featureconfig attribute)": [[82, "octoprint.schema.config.feature.FeatureConfig.uploadOverwriteConfirmation", false]], "uploads (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.uploads", false]], "uploads (octoprint.schema.config.server.serverconfig attribute)": [[82, "octoprint.schema.config.server.ServerConfig.uploads", false]], "uploadsconfig (class in octoprint.schema.config.server)": [[82, "octoprint.schema.config.server.UploadsConfig", false]], "uploadstoragefallbackhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UploadStorageFallbackHandler", false]], "url (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.url", false]], "url (octoprint.schema.config.server.pluginblacklistconfig attribute)": [[82, "octoprint.schema.config.server.PluginBlacklistConfig.url", false]], "urlproxyhandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.UrlProxyHandler", false]], "use_enum_values (octoprint.schema.basemodel.config attribute)": [[82, "octoprint.schema.BaseModel.Config.use_enum_values", false]], "usefrozendictforprinterstate (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.useFrozenDictForPrinterState", false]], "useparityworkaround (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.useParityWorkaround", false]], "user (class in octoprint.access.users)": [[76, "octoprint.access.users.User", false]], "user_manager_factory_hook()": [[92, "user_manager_factory_hook", false]], "useralreadyexists": [[76, "octoprint.access.users.UserAlreadyExists", false]], "userfile (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userfile", false]], "usermanager (octoprint.schema.config.access_control.accesscontrolconfig attribute)": [[82, "octoprint.schema.config.access_control.AccessControlConfig.userManager", false]], "usersettings (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.usersettings", false]], "usersettings (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.usersettings", false]], "valid_axes (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_axes", false]], "valid_boolean_trues (in module octoprint.settings)": [[84, "octoprint.settings.valid_boolean_trues", false]], "valid_heater_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_heater_regex", false]], "valid_tool_regex (octoprint.printer.printerinterface attribute)": [[81, "octoprint.printer.PrinterInterface.valid_tool_regex", false]], "validate() (octoprint.plugin.core.plugininfo method)": [[80, "octoprint.plugin.core.PluginInfo.validate", false]], "validate_local_redirect() (in module octoprint.server.util)": [[83, "octoprint.server.util.validate_local_redirect", false]], "validityrange (octoprint.schema.config.estimation.printtimeestimationconfig attribute)": [[82, "octoprint.schema.config.estimation.PrintTimeEstimationConfig.validityRange", false]], "values() (octoprint.util.fallback_dict method)": [[86, "octoprint.util.fallback_dict.values", false]], "variable_deprecated() (in module octoprint.util)": [[86, "octoprint.util.variable_deprecated", false]], "variable_pending_deprecation() (in module octoprint.util)": [[86, "octoprint.util.variable_pending_deprecation", false]], "version (octoprint.plugin.core.plugininfo property)": [[80, "octoprint.plugin.core.PluginInfo.version", false]], "vertical (octoprint.schema.config.controls.layoutenum attribute)": [[82, "octoprint.schema.config.controls.LayoutEnum.vertical", false]], "violet (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.violet", false]], "virtualsd (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.virtualSd", false]], "waitforstartonconnect (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitForStartOnConnect", false]], "waittoloadsdfilelist (octoprint.schema.config.serial.serialconfig attribute)": [[82, "octoprint.schema.config.serial.SerialConfig.waitToLoadSdFileList", false]], "warn (octoprint.schema.config.serial.infowarnneverenum attribute)": [[82, "octoprint.schema.config.serial.InfoWarnNeverEnum.warn", false]], "warn_about_risky_settings() (octoprint.settings.settings method)": [[84, "octoprint.settings.Settings.warn_about_risky_settings", false]], "warning (octoprint.schema.config.server.diskspaceconfig attribute)": [[82, "octoprint.schema.config.server.DiskspaceConfig.warning", false]], "watched (octoprint.schema.config.folder.folderconfig attribute)": [[82, "octoprint.schema.config.folder.FolderConfig.watched", false]], "watermark (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.watermark", false]], "webassets (octoprint.schema.config.devel.develconfig attribute)": [[82, "octoprint.schema.config.devel.DevelConfig.webassets", false]], "webcam (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.Webcam", false]], "webcam (octoprint.schema.config.config attribute)": [[82, "octoprint.schema.config.Config.webcam", false]], "webcamcompatibility (class in octoprint.schema.webcam)": [[82, "octoprint.schema.webcam.WebcamCompatibility", false]], "webcamconfig (class in octoprint.schema.config.webcam)": [[82, "octoprint.schema.config.webcam.WebcamConfig", false]], "webcamenabled (octoprint.schema.config.webcam.webcamconfig attribute)": [[82, "octoprint.schema.config.webcam.WebcamConfig.webcamEnabled", false]], "webcamproviderplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WebcamProviderPlugin", false]], "webcamsnapshothandler (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WebcamSnapshotHandler", false]], "will_handle_ui() (octoprint.plugin.uiplugin method)": [[95, "octoprint.plugin.UiPlugin.will_handle_ui", false]], "wizard (octoprint.schema.config.appearance.componentdisabledconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentDisabledConfig.wizard", false]], "wizard (octoprint.schema.config.appearance.componentorderconfig attribute)": [[82, "octoprint.schema.config.appearance.ComponentOrderConfig.wizard", false]], "wizardplugin (class in octoprint.plugin)": [[95, "octoprint.plugin.WizardPlugin", false]], "writable() (octoprint.filemanager.util.lineprocessorstream method)": [[78, "octoprint.filemanager.util.LineProcessorStream.writable", false]], "writable() (octoprint.filemanager.util.multistream method)": [[78, "octoprint.filemanager.util.MultiStream.writable", false]], "wsgiinputcontainer (class in octoprint.server.util.tornado)": [[83, "octoprint.server.util.tornado.WsgiInputContainer", false]], "yellow (octoprint.schema.config.appearance.colorenum attribute)": [[82, "octoprint.schema.config.appearance.ColorEnum.yellow", false]], "zchange (octoprint.schema.config.webcam.timelapsetypeenum attribute)": [[82, "octoprint.schema.config.webcam.TimelapseTypeEnum.zchange", false]]}, "objects": {"": [[0, 0, 1, "get--api-access-groups", "/api/access/groups"], [0, 1, 1, "post--api-access-groups", "/api/access/groups"], [0, 2, 1, "delete--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 3, 1, "put--api-access-groups-(string-key)", "/api/access/groups/(string:key)"], [0, 0, 1, "get--api-access-permissions", "/api/access/permissions"], [0, 0, 1, "get--api-access-users", "/api/access/users"], [0, 1, 1, "post--api-access-users", "/api/access/users"], [0, 2, 1, "delete--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 0, 1, "get--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 3, 1, "put--api-access-users-(string-username)", "/api/access/users/(string:username)"], [0, 2, 1, "delete--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 1, 1, "post--api-access-users-(string-username)-apikey", "/api/access/users/(string:username)/apikey"], [0, 3, 1, "put--api-access-users-(string-username)-password", "/api/access/users/(string:username)/password"], [0, 0, 1, "get--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [0, 4, 1, "patch--api-access-users-(string-username)-settings", "/api/access/users/(string:username)/settings"], [1, 0, 1, "get--api-connection", "/api/connection"], [1, 1, 1, "post--api-connection", "/api/connection"], [4, 0, 1, "get--api-currentuser", "/api/currentuser"], [3, 0, 1, "get--api-files", "/api/files"], [3, 0, 1, "get--api-files-(string-location)", "/api/files/(string:location)"], [3, 1, 1, "post--api-files-(string-location)", "/api/files/(string:location)"], [3, 0, 1, "get--api-files-(string-location)-(path-filename)", "/api/files/(string:location)/(path:filename)"], [3, 2, 1, "delete--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [3, 1, 1, "post--api-files-(string-location)-(path-path)", "/api/files/(string:location)/(path:path)"], [6, 0, 1, "get--api-job", "/api/job"], [6, 1, 1, "post--api-job", "/api/job"], [7, 0, 1, "get--api-languages", "/api/languages"], [7, 1, 1, "post--api-languages", "/api/languages"], [7, 2, 1, "delete--api-languages-(string-locale)-(string-pack)", "/api/languages/(string:locale)/(string:pack)"], [4, 1, 1, "post--api-login", "/api/login"], [4, 1, 1, "post--api-logout", "/api/logout"], [23, 0, 1, "get--api-plugin-appkeys", "/api/plugin/appkeys"], [23, 1, 1, "post--api-plugin-appkeys", "/api/plugin/appkeys"], [9, 0, 1, "get--api-printer", "/api/printer"], [9, 0, 1, "get--api-printer-bed", "/api/printer/bed"], [9, 1, 1, "post--api-printer-bed", "/api/printer/bed"], [9, 0, 1, "get--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-chamber", "/api/printer/chamber"], [9, 1, 1, "post--api-printer-command", "/api/printer/command"], [9, 0, 1, "get--api-printer-command-custom", "/api/printer/command/custom"], [9, 0, 1, "get--api-printer-error", "/api/printer/error"], [9, 1, 1, "post--api-printer-printhead", "/api/printer/printhead"], [9, 0, 1, "get--api-printer-sd", "/api/printer/sd"], [9, 1, 1, "post--api-printer-sd", "/api/printer/sd"], [9, 0, 1, "get--api-printer-tool", "/api/printer/tool"], [9, 1, 1, "post--api-printer-tool", "/api/printer/tool"], [10, 0, 1, "get--api-printerprofiles", "/api/printerprofiles"], [10, 1, 1, "post--api-printerprofiles", "/api/printerprofiles"], [10, 0, 1, "get--api-printerprofiles-(string-identifier)", "/api/printerprofiles/(string:identifier)"], [10, 2, 1, "delete--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [10, 4, 1, "patch--api-printerprofiles-(string-profile)", "/api/printerprofiles/(string:profile)"], [12, 0, 1, "get--api-server", "/api/server"], [13, 0, 1, "get--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings", "/api/settings"], [13, 1, 1, "post--api-settings-apikey", "/api/settings/apikey"], [13, 0, 1, "get--api-settings-templates", "/api/settings/templates"], [14, 0, 1, "get--api-slicing", "/api/slicing"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles", "/api/slicing/(string:slicer)/profiles"], [14, 2, 1, "delete--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 0, 1, "get--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 4, 1, "patch--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [14, 3, 1, "put--api-slicing-(string-slicer)-profiles-(string-key)", "/api/slicing/(string:slicer)/profiles/(string:key)"], [15, 0, 1, "get--api-system-commands", "/api/system/commands"], [15, 0, 1, "get--api-system-commands-(string-source)", "/api/system/commands/(string:source)"], [15, 1, 1, "post--api-system-commands-(string-source)-(string-action)", "/api/system/commands/(string:source)/(string:action)"], [16, 0, 1, "get--api-timelapse", "/api/timelapse"], [16, 1, 1, "post--api-timelapse", "/api/timelapse"], [16, 2, 1, "delete--api-timelapse-(string-name)", "/api/timelapse/(string:name)"], [16, 2, 1, "delete--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [16, 1, 1, "post--api-timelapse-unrendered-(string-name)", "/api/timelapse/unrendered/(string:name)"], [17, 1, 1, "post--api-util-test", "/api/util/test"], [18, 0, 1, "get--api-version", "/api/version"], [23, 1, 1, "post--plugin-appkeys-decision--str-user_token-", "/plugin/appkeys/decision/<str:user_token>"], [23, 0, 1, "get--plugin-appkeys-probe", "/plugin/appkeys/probe"], [23, 1, 1, "post--plugin-appkeys-request", "/plugin/appkeys/request"], [23, 0, 1, "get--plugin-appkeys-request--str-app_token-", "/plugin/appkeys/request/<str:app_token>"], [31, 0, 1, "get--plugin-logging-logs", "/plugin/logging/logs"], [31, 2, 1, "delete--plugin-logging-logs-(path-filename)", "/plugin/logging/logs/(path:filename)"], [19, 0, 1, "get--setup-wizard", "/setup/wizard"], [19, 1, 1, "post--setup-wizard", "/setup/wizard"], [57, 5, 1, "", "OctoPrintClient"], [92, 8, 1, "", "access_validator_hook"], [92, 8, 1, "", "acl_keyvalidator_hook"], [92, 8, 1, "", "additional_bundle_files_hook"], [92, 8, 1, "", "additional_commands_hook"], [24, 8, 1, "", "additional_excludes_hook"], [92, 8, 1, "", "additional_permissions_hook"], [92, 8, 1, "", "additional_port_names_hook"], [92, 8, 1, "", "additional_state_data_hook"], [24, 8, 1, "", "after_backup_hook"], [92, 8, 1, "", "after_request_handlers_hook"], [24, 8, 1, "", "after_restore_hook"], [92, 8, 1, "", "analysis_queue_factory_hook"], [24, 8, 1, "", "before_backup_hook"], [92, 8, 1, "", "before_request_handlers_hook"], [24, 8, 1, "", "before_restore_hook"], [92, 8, 1, "", "capture_post_hook"], [92, 8, 1, "", "capture_pre_hook"], [92, 8, 1, "", "cli_commands_hook"], [92, 8, 1, "", "file_extension_hook"], [92, 8, 1, "", "file_preprocessor_hook"], [92, 8, 1, "", "firmware_capability_hook"], [92, 8, 1, "", "firmware_capability_report_hook"], [92, 8, 1, "", "firmware_info_hook"], [92, 8, 1, "", "gcode_error_hook"], [92, 8, 1, "", "gcode_received_hook"], [92, 8, 1, "", "print_time_estimator_factory"], [92, 8, 1, "", "printer_factory_hook"], [92, 8, 1, "", "protocol_action_hook"], [92, 8, 1, "", "protocol_atcommandphase_hook"], [92, 8, 1, "", "protocol_gcodephase_hook"], [92, 8, 1, "", "protocol_scripts_hook"], [92, 8, 1, "", "protocol_temperatures_received_hook"], [32, 8, 1, "", "reconnect_hooks_hook"], [92, 8, 1, "", "register_custom_events_hook"], [92, 8, 1, "", "sd_card_upload_hook"], [92, 8, 1, "", "serial_factory_hook"], [92, 8, 1, "", "server_bodysize_hook"], [92, 8, 1, "", "server_route_hook"], [92, 8, 1, "", "templatetype_hook"], [92, 8, 1, "", "timelapse_extension_hook"], [92, 8, 1, "", "ui_theming_hook"], [33, 8, 1, "", "update_config_hook"], [92, 8, 1, "", "user_manager_factory_hook"]], "OctoPrintClient": [[57, 5, 1, "", "InvalidArgumentError"], [57, 6, 1, "", "ajax"], [57, 6, 1, "", "ajaxWithData"], [57, 6, 1, "", "createCustomException"], [57, 6, 1, "", "createRejectedDeferred"], [57, 6, 1, "", "delete"], [57, 6, 1, "", "download"], [57, 6, 1, "", "get"], [57, 6, 1, "", "getBaseUrl"], [57, 6, 1, "", "getBlueprintUrl"], [57, 6, 1, "", "getCookie"], [57, 6, 1, "", "getRequestHeaders"], [57, 6, 1, "", "getSimpleApiUrl"], [57, 6, 1, "", "getWithQuery"], [57, 6, 1, "", "issueCommand"], [57, 7, 1, "", "options"], [57, 6, 1, "", "patch"], [57, 6, 1, "", "patchJson"], [57, 7, 1, "", "plugins"], [57, 6, 1, "", "post"], [57, 6, 1, "", "postJson"], [57, 6, 1, "", "put"], [57, 6, 1, "", "putJson"], [57, 6, 1, "", "registerPluginComponent"], [57, 6, 1, "", "simpleApiCommand"], [57, 6, 1, "", "simpleApiGet"], [57, 6, 1, "", "upload"]], "OctoPrintClient.browser": [[58, 6, 1, "", "login"], [58, 6, 1, "", "logout"], [58, 6, 1, "", "passiveLogin"]], "OctoPrintClient.connection": [[59, 6, 1, "", "connect"], [59, 6, 1, "", "disconnect"], [59, 6, 1, "", "fakeAck"], [59, 6, 1, "", "getSettings"]], "OctoPrintClient.control": [[60, 6, 1, "", "getCustomControls"], [60, 6, 1, "", "sendGcode"], [60, 6, 1, "", "sendGcodeScript"], [60, 6, 1, "", "sendGcodeScriptWithParameters"], [60, 6, 1, "", "sendGcodeWithParameters"]], "OctoPrintClient.files": [[61, 6, 1, "", "copy"], [61, 6, 1, "", "createFolder"], [61, 6, 1, "", "delete"], [61, 6, 1, "", "download"], [61, 6, 1, "", "entryForPath"], [61, 6, 1, "", "get"], [61, 6, 1, "", "list"], [61, 6, 1, "", "listForLocation"], [61, 6, 1, "", "move"], [61, 6, 1, "", "pathForEntry"], [61, 6, 1, "", "select"], [61, 6, 1, "", "slice"], [61, 6, 1, "", "upload"]], "OctoPrintClient.job": [[63, 6, 1, "", "cancel"], [63, 6, 1, "", "get"], [63, 6, 1, "", "pause"], [63, 6, 1, "", "restart"], [63, 6, 1, "", "resume"], [63, 6, 1, "", "start"], [63, 6, 1, "", "togglePause"]], "OctoPrintClient.languages": [[64, 6, 1, "", "delete"], [64, 6, 1, "", "list"], [64, 6, 1, "", "upload"]], "OctoPrintClient.plugins.appkeys": [[23, 6, 1, "", "authenticate"], [23, 6, 1, "", "checkDecision"], [23, 6, 1, "", "decide"], [23, 6, 1, "", "generateKey"], [23, 6, 1, "", "getAllKeys"], [23, 6, 1, "", "getKey"], [23, 6, 1, "", "getKeys"], [23, 6, 1, "", "probe"], [23, 6, 1, "", "request"], [23, 6, 1, "", "requestForUser"], [23, 6, 1, "", "revokeKey"], [23, 6, 1, "", "revokeKeyForApp"]], "OctoPrintClient.plugins.logging": [[31, 6, 1, "", "deleteLog"], [31, 6, 1, "", "downloadLog"], [31, 6, 1, "", "listLogs"]], "OctoPrintClient.printer": [[66, 6, 1, "", "extrude"], [66, 6, 1, "", "getBedState"], [66, 6, 1, "", "getChamberState"], [66, 6, 1, "", "getFullState"], [66, 6, 1, "", "getSdState"], [66, 6, 1, "", "getToolState"], [66, 6, 1, "", "home"], [66, 6, 1, "", "initSd"], [66, 6, 1, "", "jog"], [66, 6, 1, "", "refreshSd"], [66, 6, 1, "", "releaseSd"], [66, 6, 1, "", "selectTool"], [66, 6, 1, "", "setBedTargetTemperature"], [66, 6, 1, "", "setBedTemperatureOffset"], [66, 6, 1, "", "setChamberTargetTemperature"], [66, 6, 1, "", "setChamberTemperatureOffset"], [66, 6, 1, "", "setFeedrate"], [66, 6, 1, "", "setFlowrate"], [66, 6, 1, "", "setToolTargetTemperatures"], [66, 6, 1, "", "setToolTemperatureOffsets"]], "OctoPrintClient.printerprofiles": [[67, 6, 1, "", "add"], [67, 6, 1, "", "delete"], [67, 6, 1, "", "get"], [67, 6, 1, "", "list"], [67, 6, 1, "", "update"]], "OctoPrintClient.settings": [[68, 6, 1, "", "generateApiKey"], [68, 6, 1, "", "get"], [68, 6, 1, "", "getPluginSettings"], [68, 6, 1, "", "save"], [68, 6, 1, "", "savePluginSettings"]], "OctoPrintClient.slicing": [[69, 6, 1, "", "addProfileForSlicer"], [69, 6, 1, "", "deleteProfileForSlicer"], [69, 6, 1, "", "getProfileForSlicer"], [69, 6, 1, "", "listAllSlicersAndProfiles"], [69, 6, 1, "", "listProfilesForSlicer"], [69, 6, 1, "", "updateProfileForSlicer"]], "OctoPrintClient.socket": [[70, 6, 1, "", "connect"], [70, 6, 1, "", "decreaseRate"], [70, 6, 1, "", "disconnect"], [70, 6, 1, "", "increaseRate"], [70, 6, 1, "", "onMessage"], [70, 6, 1, "", "onRateTooHigh"], [70, 6, 1, "", "onRateTooLow"], [70, 7, 1, "", "options"], [70, 6, 1, "", "reconnect"], [70, 6, 1, "", "removeMessage"], [70, 6, 1, "", "sendAuth"], [70, 6, 1, "", "sendMessage"]], "OctoPrintClient.system": [[71, 6, 1, "", "executeCommand"], [71, 6, 1, "", "getCommands"], [71, 6, 1, "", "getCommandsForSource"]], "OctoPrintClient.timelapse": [[72, 6, 1, "", "delete"], [72, 6, 1, "", "deleteUnrendered"], [72, 6, 1, "", "download"], [72, 6, 1, "", "get"], [72, 6, 1, "", "getConfig"], [72, 6, 1, "", "list"], [72, 6, 1, "", "listRendered"], [72, 6, 1, "", "listUnrendered"], [72, 6, 1, "", "renderUnrendered"], [72, 6, 1, "", "saveConfig"]], "OctoPrintClient.users": [[73, 6, 1, "", "add"], [73, 6, 1, "", "changePassword"], [73, 6, 1, "", "delete"], [73, 6, 1, "", "generateApiKey"], [73, 6, 1, "", "get"], [73, 6, 1, "", "getSettings"], [73, 6, 1, "", "list"], [73, 6, 1, "", "resetApiKey"], [73, 6, 1, "", "saveSettings"], [73, 6, 1, "", "update"]], "OctoPrintClient.util": [[74, 6, 1, "", "test"], [74, 6, 1, "", "testExecutable"], [74, 6, 1, "", "testPath"], [74, 6, 1, "", "testResolution"], [74, 6, 1, "", "testServer"], [74, 6, 1, "", "testUrl"]], "OctoPrintClient.wizard": [[75, 6, 1, "", "finish"], [75, 6, 1, "", "get"]], "octoprint": [[77, 9, 0, "-", "cli"], [78, 9, 0, "-", "filemanager"], [80, 9, 0, "-", "plugin"], [81, 9, 0, "-", "printer"], [82, 9, 0, "-", "schema"], [83, 9, 0, "-", "server"], [84, 9, 0, "-", "settings"], [85, 9, 0, "-", "slicing"], [86, 9, 0, "-", "util"]], "octoprint.access": [[76, 9, 0, "-", "users"]], "octoprint.access.users": [[76, 10, 1, "", "AnonymousUser"], [76, 10, 1, "", "ApiUser"], [76, 11, 1, "", "CorruptUserStorage"], [76, 11, 1, "", "InvalidUsername"], [76, 11, 1, "", "UnknownRole"], [76, 11, 1, "", "UnknownUser"], [76, 10, 1, "", "User"], [76, 11, 1, "", "UserAlreadyExists"]], "octoprint.access.users.User": [[76, 12, 1, "", "asDict"]], "octoprint.cli": [[77, 10, 1, "", "HiddenOption"], [77, 10, 1, "", "OctoPrintContext"], [77, 8, 1, "", "bulk_options"], [77, 9, 0, "-", "dev"], [77, 8, 1, "", "hidden_option"], [77, 8, 1, "", "init_platform_for_cli"], [77, 8, 1, "", "legacy_options"], [77, 8, 1, "", "pass_octoprint_ctx"], [77, 9, 0, "-", "plugins"], [77, 9, 0, "-", "server"], [77, 8, 1, "", "set_ctx_obj_option"], [77, 8, 1, "", "standard_options"]], "octoprint.cli.dev": [[77, 10, 1, "", "OctoPrintDevelCommands"]], "octoprint.cli.dev.OctoPrintDevelCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"]], "octoprint.cli.plugins": [[77, 10, 1, "", "OctoPrintPluginCommands"]], "octoprint.cli.plugins.OctoPrintPluginCommands": [[77, 12, 1, "", "get_command"], [77, 12, 1, "", "list_commands"], [77, 13, 1, "", "plugin_manager"], [77, 13, 1, "", "settings"]], "octoprint.cli.server": [[77, 8, 1, "", "daemon_options"], [77, 8, 1, "", "run_server"], [77, 8, 1, "", "server_options"]], "octoprint.filemanager": [[78, 10, 1, "", "ContentTypeDetector"], [78, 10, 1, "", "ContentTypeMapping"], [78, 11, 1, "", "NoSuchStorage"], [78, 9, 0, "-", "analysis"], [78, 9, 0, "-", "destinations"], [78, 9, 0, "-", "storage"], [78, 9, 0, "-", "util"]], "octoprint.filemanager.ContentTypeDetector": [[78, 13, 1, "", "detector"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.ContentTypeMapping": [[78, 13, 1, "", "content_type"], [78, 13, 1, "", "extensions"]], "octoprint.filemanager.analysis": [[78, 10, 1, "", "AbstractAnalysisQueue"], [78, 11, 1, "", "AnalysisAborted"], [78, 10, 1, "", "AnalysisQueue"], [78, 10, 1, "", "GcodeAnalysisQueue"], [78, 10, 1, "", "QueueEntry"]], "octoprint.filemanager.analysis.AbstractAnalysisQueue": [[78, 12, 1, "", "_do_abort"], [78, 12, 1, "", "_do_analysis"], [78, 12, 1, "", "enqueue"], [78, 12, 1, "", "pause"], [78, 12, 1, "", "resume"]], "octoprint.filemanager.storage": [[78, 10, 1, "", "LocalFileStorage"], [78, 10, 1, "", "StorageInterface"]], "octoprint.filemanager.storage.LocalFileStorage": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.storage.StorageInterface": [[78, 12, 1, "", "add_file"], [78, 12, 1, "", "add_folder"], [78, 12, 1, "", "add_link"], [78, 14, 1, "", "analysis_backlog"], [78, 12, 1, "", "canonicalize"], [78, 12, 1, "", "copy_file"], [78, 12, 1, "", "copy_folder"], [78, 12, 1, "", "file_exists"], [78, 12, 1, "", "file_in_path"], [78, 12, 1, "", "folder_exists"], [78, 12, 1, "", "get_additional_metadata"], [78, 12, 1, "", "get_lastmodified"], [78, 12, 1, "", "get_metadata"], [78, 12, 1, "", "get_size"], [78, 12, 1, "", "has_analysis"], [78, 12, 1, "", "join_path"], [78, 12, 1, "", "last_modified"], [78, 12, 1, "", "list_files"], [78, 12, 1, "", "move_file"], [78, 12, 1, "", "move_folder"], [78, 12, 1, "", "path_in_storage"], [78, 12, 1, "", "path_on_disk"], [78, 12, 1, "", "remove_additional_metadata"], [78, 12, 1, "", "remove_file"], [78, 12, 1, "", "remove_folder"], [78, 12, 1, "", "remove_link"], [78, 12, 1, "", "sanitize"], [78, 12, 1, "", "sanitize_name"], [78, 12, 1, "", "sanitize_path"], [78, 12, 1, "", "set_additional_metadata"], [78, 12, 1, "", "split_path"]], "octoprint.filemanager.util": [[78, 10, 1, "", "AbstractFileWrapper"], [78, 10, 1, "", "DiskFileWrapper"], [78, 10, 1, "", "LineProcessorStream"], [78, 10, 1, "", "MultiStream"], [78, 10, 1, "", "StreamWrapper"]], "octoprint.filemanager.util.AbstractFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.DiskFileWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.filemanager.util.LineProcessorStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "process_line"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.MultiStream": [[78, 12, 1, "", "close"], [78, 12, 1, "", "readable"], [78, 12, 1, "", "seekable"], [78, 12, 1, "", "writable"]], "octoprint.filemanager.util.StreamWrapper": [[78, 12, 1, "", "save"], [78, 12, 1, "", "stream"]], "octoprint.plugin": [[95, 10, 1, "", "AssetPlugin"], [95, 10, 1, "", "BlueprintPlugin"], [95, 10, 1, "", "EventHandlerPlugin"], [80, 10, 1, "", "PluginSettings"], [95, 10, 1, "", "ProgressPlugin"], [95, 10, 1, "", "ReloadNeedingPlugin"], [95, 10, 1, "", "RestartNeedingPlugin"], [95, 10, 1, "", "SettingsPlugin"], [95, 10, 1, "", "ShutdownPlugin"], [95, 10, 1, "", "SimpleApiPlugin"], [95, 10, 1, "", "SlicerPlugin"], [95, 10, 1, "", "StartupPlugin"], [95, 10, 1, "", "TemplatePlugin"], [95, 10, 1, "", "UiPlugin"], [95, 10, 1, "", "WebcamProviderPlugin"], [95, 10, 1, "", "WizardPlugin"], [80, 8, 1, "", "call_plugin"], [80, 9, 0, "-", "core"], [80, 8, 1, "", "plugin_manager"], [80, 8, 1, "", "plugin_settings"], [80, 9, 0, "-", "types"]], "octoprint.plugin.AssetPlugin": [[95, 12, 1, "", "get_asset_folder"], [95, 12, 1, "", "get_assets"]], "octoprint.plugin.BlueprintPlugin": [[95, 12, 1, "", "csrf_exempt"], [95, 12, 1, "", "errorhandler"], [95, 12, 1, "", "get_blueprint"], [95, 12, 1, "", "get_blueprint_api_prefixes"], [95, 12, 1, "", "get_blueprint_kwargs"], [95, 12, 1, "", "is_blueprint_csrf_protected"], [95, 12, 1, "", "is_blueprint_protected"], [95, 12, 1, "", "route"]], "octoprint.plugin.EventHandlerPlugin": [[95, 12, 1, "", "on_event"]], "octoprint.plugin.PluginSettings": [[80, 12, 1, "", "add_overlay"], [80, 12, 1, "", "get"], [80, 12, 1, "", "get_boolean"], [80, 12, 1, "", "get_float"], [80, 12, 1, "", "get_int"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "get_plugin_logfile_path"], [80, 12, 1, "", "global_get"], [80, 12, 1, "", "global_get_basefolder"], [80, 12, 1, "", "global_get_boolean"], [80, 12, 1, "", "global_get_float"], [80, 12, 1, "", "global_get_int"], [80, 12, 1, "", "global_set"], [80, 12, 1, "", "global_set_boolean"], [80, 12, 1, "", "global_set_float"], [80, 12, 1, "", "global_set_int"], [80, 12, 1, "", "remove_overlay"], [80, 12, 1, "", "save"], [80, 12, 1, "", "set"], [80, 12, 1, "", "set_boolean"], [80, 12, 1, "", "set_float"], [80, 12, 1, "", "set_int"]], "octoprint.plugin.ProgressPlugin": [[95, 12, 1, "", "on_print_progress"], [95, 12, 1, "", "on_slicing_progress"]], "octoprint.plugin.SettingsPlugin": [[95, 13, 1, "", "config_version_key"], [95, 12, 1, "", "get_settings_defaults"], [95, 12, 1, "", "get_settings_preprocessors"], [95, 12, 1, "", "get_settings_restricted_paths"], [95, 12, 1, "", "get_settings_version"], [95, 12, 1, "", "on_settings_cleanup"], [95, 12, 1, "", "on_settings_initialized"], [95, 12, 1, "", "on_settings_load"], [95, 12, 1, "", "on_settings_migrate"], [95, 12, 1, "", "on_settings_save"]], "octoprint.plugin.ShutdownPlugin": [[95, 12, 1, "", "on_shutdown"]], "octoprint.plugin.SimpleApiPlugin": [[95, 12, 1, "", "get_api_commands"], [95, 12, 1, "", "is_api_adminonly"], [95, 12, 1, "", "on_api_command"], [95, 12, 1, "", "on_api_get"]], "octoprint.plugin.SlicerPlugin": [[95, 12, 1, "", "cancel_slicing"], [95, 12, 1, "", "do_slice"], [95, 12, 1, "", "get_slicer_default_profile"], [95, 12, 1, "", "get_slicer_extension_tree"], [95, 12, 1, "", "get_slicer_profile"], [95, 12, 1, "", "get_slicer_profiles"], [95, 12, 1, "", "get_slicer_profiles_lastmodified"], [95, 12, 1, "", "get_slicer_properties"], [95, 12, 1, "", "is_slicer_configured"], [95, 12, 1, "", "save_slicer_profile"]], "octoprint.plugin.StartupPlugin": [[95, 12, 1, "", "on_after_startup"], [95, 12, 1, "", "on_startup"]], "octoprint.plugin.TemplatePlugin": [[95, 12, 1, "", "get_template_configs"], [95, 12, 1, "", "get_template_folder"], [95, 12, 1, "", "get_template_vars"]], "octoprint.plugin.UiPlugin": [[95, 12, 1, "", "get_ui_additional_etag"], [95, 12, 1, "", "get_ui_additional_key_data_for_cache"], [95, 12, 1, "", "get_ui_additional_request_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_additional_tracked_files"], [95, 12, 1, "", "get_ui_custom_etag"], [95, 12, 1, "", "get_ui_custom_lastmodified"], [95, 12, 1, "", "get_ui_custom_template_filter"], [95, 12, 1, "", "get_ui_custom_tracked_files"], [95, 12, 1, "", "get_ui_data_for_preemptive_caching"], [95, 12, 1, "", "get_ui_permissions"], [95, 12, 1, "", "get_ui_preemptive_caching_additional_unless"], [95, 12, 1, "", "get_ui_preemptive_caching_enabled"], [95, 12, 1, "", "on_ui_render"], [95, 12, 1, "", "will_handle_ui"]], "octoprint.plugin.WebcamProviderPlugin": [[95, 12, 1, "", "get_webcam_configurations"], [95, 12, 1, "", "take_webcam_snapshot"]], "octoprint.plugin.WizardPlugin": [[95, 12, 1, "", "get_wizard_details"], [95, 12, 1, "", "get_wizard_version"], [95, 12, 1, "", "is_wizard_ignored"], [95, 12, 1, "", "is_wizard_required"], [95, 12, 1, "", "on_wizard_finish"]], "octoprint.plugin.core": [[80, 10, 1, "", "Plugin"], [80, 10, 1, "", "PluginInfo"], [80, 10, 1, "", "PluginManager"], [80, 10, 1, "", "RestartNeedingPlugin"], [80, 10, 1, "", "SortablePlugin"]], "octoprint.plugin.core.Plugin": [[80, 13, 1, "", "_basefolder"], [80, 13, 1, "", "_identifier"], [80, 13, 1, "", "_logger"], [80, 13, 1, "", "_plugin_name"], [80, 13, 1, "", "_plugin_version"], [80, 12, 1, "", "initialize"], [80, 12, 1, "", "on_plugin_disabled"], [80, 12, 1, "", "on_plugin_enabled"]], "octoprint.plugin.core.PluginInfo": [[80, 14, 1, "", "author"], [80, 13, 1, "", "blacklisted"], [80, 13, 1, "", "bundled"], [80, 14, 1, "", "check"], [80, 14, 1, "", "description"], [80, 14, 1, "", "disable"], [80, 14, 1, "", "disabling_discouraged"], [80, 14, 1, "", "enable"], [80, 13, 1, "", "enabled"], [80, 13, 1, "", "forced_disabled"], [80, 12, 1, "", "get_hook"], [80, 12, 1, "", "get_implementation"], [80, 14, 1, "", "helpers"], [80, 14, 1, "", "hidden"], [80, 14, 1, "", "hooks"], [80, 14, 1, "", "implementation"], [80, 13, 1, "", "incompatible"], [80, 13, 1, "", "invalid_syntax"], [80, 14, 1, "", "license"], [80, 14, 1, "", "load"], [80, 13, 1, "", "loaded"], [80, 12, 1, "", "long_str"], [80, 14, 1, "", "looks_like_plugin"], [80, 13, 1, "", "managable"], [80, 14, 1, "", "name"], [80, 13, 1, "", "needs_restart"], [80, 13, 1, "", "origin"], [80, 14, 1, "", "parsed_metadata"], [80, 14, 1, "", "privacypolicy"], [80, 14, 1, "", "pythoncompat"], [80, 14, 1, "", "unload"], [80, 14, 1, "", "url"], [80, 12, 1, "", "validate"], [80, 14, 1, "", "version"]], "octoprint.plugin.core.PluginManager": [[80, 12, 1, "", "disable_plugin"], [80, 12, 1, "", "enable_plugin"], [80, 12, 1, "", "get_filtered_implementations"], [80, 12, 1, "", "get_helpers"], [80, 12, 1, "", "get_hooks"], [80, 12, 1, "", "get_implementations"], [80, 12, 1, "", "get_plugin"], [80, 12, 1, "", "get_plugin_info"], [80, 12, 1, "", "has_any_of_hooks"], [80, 12, 1, "", "has_any_of_mixins"], [80, 12, 1, "", "has_obsolete_hooks"], [80, 12, 1, "", "has_restart_needing_hooks"], [80, 12, 1, "", "has_restart_needing_implementation"], [80, 12, 1, "", "hook_matches_hooks"], [80, 12, 1, "", "is_obsolete_hook"], [80, 12, 1, "", "is_plugin_marked"], [80, 12, 1, "", "is_restart_needing_hook"], [80, 12, 1, "", "is_restart_needing_plugin"], [80, 12, 1, "", "mark_plugin"], [80, 14, 1, "", "plugin_hooks"], [80, 14, 1, "", "plugins"], [80, 12, 1, "", "register_message_receiver"], [80, 12, 1, "", "reload_plugins"], [80, 12, 1, "", "send_plugin_message"], [80, 12, 1, "", "unregister_message_receiver"]], "octoprint.plugin.core.SortablePlugin": [[80, 12, 1, "", "get_sorting_key"]], "octoprint.plugin.types": [[80, 10, 1, "", "OctoPrintPlugin"], [80, 10, 1, "", "ReloadNeedingPlugin"]], "octoprint.plugin.types.OctoPrintPlugin": [[80, 13, 1, "", "_analysis_queue"], [80, 13, 1, "", "_app_session_manager"], [80, 13, 1, "", "_connectivity_checker"], [80, 13, 1, "", "_data_folder"], [80, 13, 1, "", "_event_bus"], [80, 13, 1, "", "_file_manager"], [80, 13, 1, "", "_plugin_lifecycle_manager"], [80, 13, 1, "", "_plugin_manager"], [80, 13, 1, "", "_printer"], [80, 13, 1, "", "_printer_profile_manager"], [80, 13, 1, "", "_slicing_manager"], [80, 13, 1, "", "_user_manager"], [80, 12, 1, "", "get_plugin_data_folder"], [80, 12, 1, "", "on_plugin_pending_uninstall"]], "octoprint.plugins.backup.BackupPlugin": [[24, 8, 1, "", "create_backup_helper"], [24, 8, 1, "", "delete_backup_helper"]], "octoprint.printer": [[81, 10, 1, "", "PrinterCallback"], [81, 10, 1, "", "PrinterInterface"], [81, 8, 1, "", "get_connection_options"], [81, 9, 0, "-", "profile"]], "octoprint.printer.PrinterCallback": [[81, 12, 1, "", "on_printer_add_log"], [81, 12, 1, "", "on_printer_add_message"], [81, 12, 1, "", "on_printer_add_temperature"], [81, 12, 1, "", "on_printer_received_registered_message"], [81, 12, 1, "", "on_printer_send_current_data"], [81, 12, 1, "", "on_printer_send_initial_data"]], "octoprint.printer.PrinterInterface": [[81, 12, 1, "", "can_modify_file"], [81, 12, 1, "", "cancel_print"], [81, 12, 1, "", "change_tool"], [81, 12, 1, "", "commands"], [81, 12, 1, "", "connect"], [81, 12, 1, "", "disconnect"], [81, 12, 1, "", "extrude"], [81, 12, 1, "", "fake_ack"], [81, 12, 1, "", "feed_rate"], [81, 12, 1, "", "flow_rate"], [81, 12, 1, "", "get_connection_options"], [81, 12, 1, "", "get_current_connection"], [81, 12, 1, "", "get_current_data"], [81, 12, 1, "", "get_current_job"], [81, 12, 1, "", "get_current_temperatures"], [81, 12, 1, "", "get_state_id"], [81, 12, 1, "", "get_state_string"], [81, 12, 1, "", "get_temperature_history"], [81, 12, 1, "", "get_transport"], [81, 12, 1, "", "home"], [81, 12, 1, "", "is_cancelling"], [81, 12, 1, "", "is_closed_or_error"], [81, 12, 1, "", "is_current_file"], [81, 12, 1, "", "is_error"], [81, 12, 1, "", "is_operational"], [81, 12, 1, "", "is_paused"], [81, 12, 1, "", "is_pausing"], [81, 12, 1, "", "is_printing"], [81, 12, 1, "", "is_ready"], [81, 12, 1, "", "job_on_hold"], [81, 12, 1, "", "jog"], [81, 12, 1, "", "log_lines"], [81, 12, 1, "", "pause_print"], [81, 12, 1, "", "register_callback"], [81, 12, 1, "", "resume_print"], [81, 12, 1, "", "script"], [81, 12, 1, "", "select_file"], [81, 12, 1, "", "send_initial_callback"], [81, 12, 1, "", "set_job_on_hold"], [81, 12, 1, "", "set_temperature"], [81, 12, 1, "", "set_temperature_offset"], [81, 12, 1, "", "start_print"], [81, 12, 1, "", "toggle_pause_print"], [81, 12, 1, "", "unregister_callback"], [81, 12, 1, "", "unselect_file"], [81, 13, 1, "", "valid_axes"], [81, 13, 1, "", "valid_heater_regex"], [81, 13, 1, "", "valid_tool_regex"]], "octoprint.printer.profile": [[81, 10, 1, "", "BedFormFactor"], [81, 10, 1, "", "BedOrigin"], [81, 10, 1, "", "CouldNotOverwriteError"], [81, 10, 1, "", "InvalidProfileError"], [81, 10, 1, "", "PrinterProfileManager"], [81, 10, 1, "", "SaveError"]], "octoprint.printer.profile.BedFormFactor": [[81, 13, 1, "", "CIRCULAR"], [81, 13, 1, "", "RECTANGULAR"]], "octoprint.printer.profile.BedOrigin": [[81, 13, 1, "", "CENTER"], [81, 13, 1, "", "LOWERLEFT"]], "octoprint.schema": [[82, 10, 1, "", "BaseModel"], [82, 9, 0, "-", "config"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.BaseModel": [[82, 10, 1, "", "Config"]], "octoprint.schema.BaseModel.Config": [[82, 13, 1, "", "use_enum_values"]], "octoprint.schema.config": [[82, 10, 1, "", "Config"], [82, 9, 0, "-", "access_control"], [82, 9, 0, "-", "api"], [82, 9, 0, "-", "appearance"], [82, 9, 0, "-", "controls"], [82, 9, 0, "-", "devel"], [82, 9, 0, "-", "estimation"], [82, 9, 0, "-", "events"], [82, 9, 0, "-", "feature"], [82, 9, 0, "-", "folder"], [82, 9, 0, "-", "gcode_analysis"], [82, 9, 0, "-", "plugins"], [82, 9, 0, "-", "printer_parameters"], [82, 9, 0, "-", "printer_profiles"], [82, 9, 0, "-", "scripts"], [82, 9, 0, "-", "serial"], [82, 9, 0, "-", "server"], [82, 9, 0, "-", "slicing"], [82, 9, 0, "-", "system"], [82, 9, 0, "-", "temperature"], [82, 9, 0, "-", "terminalfilters"], [82, 9, 0, "-", "webcam"]], "octoprint.schema.config.Config": [[82, 13, 1, "", "accessControl"], [82, 13, 1, "", "api"], [82, 13, 1, "", "appearance"], [82, 13, 1, "", "controls"], [82, 13, 1, "", "devel"], [82, 13, 1, "", "estimation"], [82, 13, 1, "", "events"], [82, 13, 1, "", "feature"], [82, 13, 1, "", "folder"], [82, 13, 1, "", "gcodeAnalysis"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerParameters"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "serial"], [82, 13, 1, "", "server"], [82, 13, 1, "", "slicing"], [82, 13, 1, "", "system"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "terminalFilters"], [82, 13, 1, "", "webcam"]], "octoprint.schema.config.access_control": [[82, 10, 1, "", "AccessControlConfig"]], "octoprint.schema.config.access_control.AccessControlConfig": [[82, 13, 1, "", "addRemoteUsers"], [82, 13, 1, "", "autologinAs"], [82, 13, 1, "", "autologinHeadsupAcknowledged"], [82, 13, 1, "", "autologinLocal"], [82, 13, 1, "", "checkBasicAuthenticationPassword"], [82, 13, 1, "", "defaultReauthenticationTimeout"], [82, 13, 1, "", "groupManager"], [82, 13, 1, "", "groupfile"], [82, 13, 1, "", "localNetworks"], [82, 13, 1, "", "permissionManager"], [82, 13, 1, "", "remoteUserHeader"], [82, 13, 1, "", "salt"], [82, 13, 1, "", "trustBasicAuthentication"], [82, 13, 1, "", "trustRemoteUser"], [82, 13, 1, "", "userManager"], [82, 13, 1, "", "userfile"]], "octoprint.schema.config.api": [[82, 10, 1, "", "ApiConfig"]], "octoprint.schema.config.api.ApiConfig": [[82, 13, 1, "", "allowCrossOrigin"], [82, 13, 1, "", "apps"], [82, 13, 1, "", "key"]], "octoprint.schema.config.appearance": [[82, 10, 1, "", "AppearanceConfig"], [82, 10, 1, "", "ColorEnum"], [82, 10, 1, "", "ComponentConfig"], [82, 10, 1, "", "ComponentDisabledConfig"], [82, 10, 1, "", "ComponentOrderConfig"]], "octoprint.schema.config.appearance.AppearanceConfig": [[82, 13, 1, "", "closeModalsWithClick"], [82, 13, 1, "", "color"], [82, 13, 1, "", "colorIcon"], [82, 13, 1, "", "colorTransparent"], [82, 13, 1, "", "components"], [82, 13, 1, "", "defaultLanguage"], [82, 13, 1, "", "fuzzyTimes"], [82, 13, 1, "", "name"], [82, 13, 1, "", "showFahrenheitAlso"], [82, 13, 1, "", "showInternalFilename"]], "octoprint.schema.config.appearance.ColorEnum": [[82, 13, 1, "", "blue"], [82, 13, 1, "", "default"], [82, 13, 1, "", "green"], [82, 13, 1, "", "orange"], [82, 13, 1, "", "red"], [82, 13, 1, "", "violet"], [82, 13, 1, "", "yellow"]], "octoprint.schema.config.appearance.ComponentConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "order"]], "octoprint.schema.config.appearance.ComponentDisabledConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.appearance.ComponentOrderConfig": [[82, 13, 1, "", "about"], [82, 13, 1, "", "generic"], [82, 13, 1, "", "navbar"], [82, 13, 1, "", "settings"], [82, 13, 1, "", "sidebar"], [82, 13, 1, "", "tab"], [82, 13, 1, "", "usersettings"], [82, 13, 1, "", "wizard"]], "octoprint.schema.config.controls": [[82, 10, 1, "", "ContainerConfig"], [82, 10, 1, "", "ControlConfig"], [82, 10, 1, "", "ControlInputConfig"], [82, 10, 1, "", "ControlSliderInputConfig"], [82, 10, 1, "", "LayoutEnum"]], "octoprint.schema.config.controls.ContainerConfig": [[82, 13, 1, "", "children"], [82, 13, 1, "", "layout"], [82, 13, 1, "", "name"]], "octoprint.schema.config.controls.ControlConfig": [[82, 13, 1, "", "additionalClasses"], [82, 13, 1, "", "command"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "input"], [82, 13, 1, "", "javascript"], [82, 13, 1, "", "name"], [82, 13, 1, "", "regex"], [82, 13, 1, "", "script"], [82, 13, 1, "", "template"]], "octoprint.schema.config.controls.ControlInputConfig": [[82, 13, 1, "", "default"], [82, 13, 1, "", "name"], [82, 13, 1, "", "parameter"], [82, 13, 1, "", "slider"]], "octoprint.schema.config.controls.ControlSliderInputConfig": [[82, 13, 1, "", "max"], [82, 13, 1, "", "min"], [82, 13, 1, "", "step"]], "octoprint.schema.config.controls.LayoutEnum": [[82, 13, 1, "", "horizontal"], [82, 13, 1, "", "vertical"]], "octoprint.schema.config.devel": [[82, 10, 1, "", "DevelCacheConfig"], [82, 10, 1, "", "DevelConfig"], [82, 10, 1, "", "DevelWebassetsConfig"], [82, 10, 1, "", "StylesheetEnum"]], "octoprint.schema.config.devel.DevelCacheConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "preemptive"]], "octoprint.schema.config.devel.DevelConfig": [[82, 13, 1, "", "cache"], [82, 13, 1, "", "enableCsrfProtection"], [82, 13, 1, "", "enableRateLimiter"], [82, 13, 1, "", "pluginTimings"], [82, 13, 1, "", "showLoadingAnimation"], [82, 13, 1, "", "sockJsConnectTimeout"], [82, 13, 1, "", "stylesheet"], [82, 13, 1, "", "useFrozenDictForPrinterState"], [82, 13, 1, "", "webassets"]], "octoprint.schema.config.devel.DevelWebassetsConfig": [[82, 13, 1, "", "bundle"], [82, 13, 1, "", "clean_on_startup"], [82, 13, 1, "", "minify"], [82, 13, 1, "", "minify_plugins"]], "octoprint.schema.config.devel.StylesheetEnum": [[82, 13, 1, "", "css"], [82, 13, 1, "", "less"]], "octoprint.schema.config.estimation": [[82, 10, 1, "", "EstimationConfig"], [82, 10, 1, "", "PrintTimeEstimationConfig"]], "octoprint.schema.config.estimation.EstimationConfig": [[82, 13, 1, "", "printTime"]], "octoprint.schema.config.estimation.PrintTimeEstimationConfig": [[82, 13, 1, "", "forceDumbAfterMin"], [82, 13, 1, "", "forceDumbFromPercent"], [82, 13, 1, "", "stableThreshold"], [82, 13, 1, "", "statsWeighingUntil"], [82, 13, 1, "", "validityRange"]], "octoprint.schema.config.events": [[82, 10, 1, "", "EventSubscription"], [82, 10, 1, "", "EventsConfig"], [82, 10, 1, "", "SubscriptionTypeEnum"]], "octoprint.schema.config.events.EventSubscription": [[82, 13, 1, "", "command"], [82, 13, 1, "", "debug"], [82, 13, 1, "", "enabled"], [82, 13, 1, "", "event"], [82, 13, 1, "", "name"], [82, 13, 1, "", "type"]], "octoprint.schema.config.events.EventsConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "subscriptions"]], "octoprint.schema.config.events.SubscriptionTypeEnum": [[82, 13, 1, "", "gcode"], [82, 13, 1, "", "system"]], "octoprint.schema.config.feature": [[82, 10, 1, "", "FeatureConfig"]], "octoprint.schema.config.feature.FeatureConfig": [[82, 13, 1, "", "autoUppercaseBlacklist"], [82, 13, 1, "", "enableDragDropUpload"], [82, 13, 1, "", "enforceReallyUniversalFilenames"], [82, 13, 1, "", "g90InfluencesExtruder"], [82, 13, 1, "", "keyboardControl"], [82, 13, 1, "", "modelSizeDetection"], [82, 13, 1, "", "pollWatched"], [82, 13, 1, "", "printCancelConfirmation"], [82, 13, 1, "", "printStartConfirmation"], [82, 13, 1, "", "rememberFileFolder"], [82, 13, 1, "", "sdSupport"], [82, 13, 1, "", "temperatureGraph"], [82, 13, 1, "", "uploadOverwriteConfirmation"]], "octoprint.schema.config.folder": [[82, 10, 1, "", "FolderConfig"]], "octoprint.schema.config.folder.FolderConfig": [[82, 13, 1, "", "data"], [82, 13, 1, "", "generated"], [82, 13, 1, "", "logs"], [82, 13, 1, "", "plugins"], [82, 13, 1, "", "printerProfiles"], [82, 13, 1, "", "scripts"], [82, 13, 1, "", "slicingProfiles"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapse_tmp"], [82, 13, 1, "", "translations"], [82, 13, 1, "", "uploads"], [82, 13, 1, "", "virtualSd"], [82, 13, 1, "", "watched"]], "octoprint.schema.config.gcode_analysis": [[82, 10, 1, "", "GcodeAnalysisConfig"], [82, 10, 1, "", "RunAtEnum"]], "octoprint.schema.config.gcode_analysis.GcodeAnalysisConfig": [[82, 13, 1, "", "bedZ"], [82, 13, 1, "", "maxExtruders"], [82, 13, 1, "", "runAt"], [82, 13, 1, "", "throttle_highprio"], [82, 13, 1, "", "throttle_lines"], [82, 13, 1, "", "throttle_normalprio"]], "octoprint.schema.config.gcode_analysis.RunAtEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "idle"], [82, 13, 1, "", "never"]], "octoprint.schema.config.plugins": [[82, 10, 1, "", "PluginsConfig"]], "octoprint.schema.config.plugins.PluginsConfig": [[82, 13, 1, "", "disabled"], [82, 13, 1, "", "forced_compatible"], [82, 13, 1, "", "sorting_order"]], "octoprint.schema.config.printer_parameters": [[82, 10, 1, "", "PrinterParametersConfig"]], "octoprint.schema.config.printer_parameters.PrinterParametersConfig": [[82, 13, 1, "", "pauseTriggers"]], "octoprint.schema.config.printer_profiles": [[82, 10, 1, "", "PrinterProfilesConfig"]], "octoprint.schema.config.printer_profiles.PrinterProfilesConfig": [[82, 13, 1, "", "default"]], "octoprint.schema.config.scripts": [[82, 10, 1, "", "GcodeScriptsConfig"], [82, 10, 1, "", "ScriptsConfig"]], "octoprint.schema.config.scripts.GcodeScriptsConfig": [[82, 13, 1, "", "afterPrintCancelled"], [82, 13, 1, "", "afterPrintDone"], [82, 13, 1, "", "afterPrintResumed"], [82, 13, 1, "", "afterPrinterConnected"], [82, 13, 1, "", "afterToolChange"], [82, 13, 1, "", "beforePrintPaused"], [82, 13, 1, "", "beforePrintStarted"], [82, 13, 1, "", "beforePrinterDisconnected"], [82, 13, 1, "", "beforeToolChange"], [82, 13, 1, "", "snippets"]], "octoprint.schema.config.scripts.ScriptsConfig": [[82, 13, 1, "", "gcode"]], "octoprint.schema.config.serial": [[82, 10, 1, "", "AlwaysDetectNeverEnum"], [82, 10, 1, "", "InfoWarnNeverEnum"], [82, 10, 1, "", "SerialCapabilities"], [82, 10, 1, "", "SerialConfig"], [82, 10, 1, "", "SerialMaxTimeouts"], [82, 10, 1, "", "SerialTimeoutConfig"]], "octoprint.schema.config.serial.AlwaysDetectNeverEnum": [[82, 13, 1, "", "always"], [82, 13, 1, "", "detect"], [82, 13, 1, "", "never"]], "octoprint.schema.config.serial.InfoWarnNeverEnum": [[82, 13, 1, "", "info"], [82, 13, 1, "", "never"], [82, 13, 1, "", "warn"]], "octoprint.schema.config.serial.SerialCapabilities": [[82, 13, 1, "", "autoreport_pos"], [82, 13, 1, "", "autoreport_sdstatus"], [82, 13, 1, "", "autoreport_temp"], [82, 13, 1, "", "busy_protocol"], [82, 13, 1, "", "emergency_parser"], [82, 13, 1, "", "extended_m20"], [82, 13, 1, "", "lfn_write"]], "octoprint.schema.config.serial.SerialConfig": [[82, 13, 1, "", "abortHeatupOnCancel"], [82, 13, 1, "", "ackMax"], [82, 13, 1, "", "additionalBaudrates"], [82, 13, 1, "", "additionalPorts"], [82, 13, 1, "", "alwaysSendChecksum"], [82, 13, 1, "", "autoconnect"], [82, 13, 1, "", "autorefresh"], [82, 13, 1, "", "autorefreshInterval"], [82, 13, 1, "", "baudrate"], [82, 13, 1, "", "blacklistedBaudrates"], [82, 13, 1, "", "blacklistedPorts"], [82, 13, 1, "", "blockWhileDwelling"], [82, 13, 1, "", "blockedCommands"], [82, 13, 1, "", "capabilities"], [82, 13, 1, "", "checksumRequiringCommands"], [82, 13, 1, "", "disableSdPrintingDetection"], [82, 13, 1, "", "disconnectOnErrors"], [82, 13, 1, "", "emergencyCommands"], [82, 13, 1, "", "enableShutdownActionCommand"], [82, 13, 1, "", "encoding"], [82, 13, 1, "", "exclusive"], [82, 13, 1, "", "externalHeatupDetection"], [82, 13, 1, "", "firmwareDetection"], [82, 13, 1, "", "helloCommand"], [82, 13, 1, "", "identicalResendsCountdown"], [82, 13, 1, "", "ignoreEmptyPorts"], [82, 13, 1, "", "ignoreErrorsFromFirmware"], [82, 13, 1, "", "ignoreIdenticalResends"], [82, 13, 1, "", "ignoredCommands"], [82, 13, 1, "", "lastLineBufferSize"], [82, 13, 1, "", "log"], [82, 13, 1, "", "logPositionOnCancel"], [82, 13, 1, "", "logPositionOnPause"], [82, 13, 1, "", "logResends"], [82, 13, 1, "", "longRunningCommands"], [82, 13, 1, "", "lowLatency"], [82, 13, 1, "", "maxCommunicationTimeouts"], [82, 13, 1, "", "maxConsecutiveResends"], [82, 13, 1, "", "maxNotSdPrinting"], [82, 13, 1, "", "maxWritePasses"], [82, 13, 1, "", "neverSendChecksum"], [82, 13, 1, "", "notifySuppressedCommands"], [82, 13, 1, "", "pausingCommands"], [82, 13, 1, "", "port"], [82, 13, 1, "", "repetierTargetTemp"], [82, 13, 1, "", "resendRatioStart"], [82, 13, 1, "", "resendRatioThreshold"], [82, 13, 1, "", "sanityCheckTools"], [82, 13, 1, "", "sdAlwaysAvailable"], [82, 13, 1, "", "sdCancelCommand"], [82, 13, 1, "", "sdLowerCase"], [82, 13, 1, "", "sdRelativePath"], [82, 13, 1, "", "sendChecksumWithUnknownCommands"], [82, 13, 1, "", "sendM112OnError"], [82, 13, 1, "", "supportFAsCommand"], [82, 13, 1, "", "supportResendsWithoutOk"], [82, 13, 1, "", "supportWait"], [82, 13, 1, "", "swallowOkAfterResend"], [82, 13, 1, "", "terminalLogSize"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "triggerOkForM29"], [82, 13, 1, "", "unknownCommandsNeedAck"], [82, 13, 1, "", "useParityWorkaround"], [82, 13, 1, "", "waitForStartOnConnect"], [82, 13, 1, "", "waitToLoadSdFileList"]], "octoprint.schema.config.serial.SerialMaxTimeouts": [[82, 13, 1, "", "idle"], [82, 13, 1, "", "long"], [82, 13, 1, "", "printing"]], "octoprint.schema.config.serial.SerialTimeoutConfig": [[82, 13, 1, "", "baudrateDetectionPause"], [82, 13, 1, "", "communication"], [82, 13, 1, "", "communicationBusy"], [82, 13, 1, "", "connection"], [82, 13, 1, "", "detectionConsecutive"], [82, 13, 1, "", "detectionFirst"], [82, 13, 1, "", "posAutoreport"], [82, 13, 1, "", "positionLogWait"], [82, 13, 1, "", "resendOk"], [82, 13, 1, "", "sdStatus"], [82, 13, 1, "", "sdStatusAutoreport"], [82, 13, 1, "", "temperature"], [82, 13, 1, "", "temperatureAutoreport"], [82, 13, 1, "", "temperatureTargetSet"]], "octoprint.schema.config.server": [[82, 10, 1, "", "CommandsConfig"], [82, 10, 1, "", "CookiesConfig"], [82, 10, 1, "", "DiskspaceConfig"], [82, 10, 1, "", "IpCheckConfig"], [82, 10, 1, "", "OnlineCheckConfig"], [82, 10, 1, "", "PluginBlacklistConfig"], [82, 10, 1, "", "PreemptiveCacheConfig"], [82, 10, 1, "", "ReverseProxyConfig"], [82, 10, 1, "", "SameSiteEnum"], [82, 10, 1, "", "ServerConfig"], [82, 10, 1, "", "UploadsConfig"]], "octoprint.schema.config.server.CommandsConfig": [[82, 13, 1, "", "localPipCommand"], [82, 13, 1, "", "serverRestartCommand"], [82, 13, 1, "", "systemRestartCommand"], [82, 13, 1, "", "systemShutdownCommand"]], "octoprint.schema.config.server.CookiesConfig": [[82, 13, 1, "", "samesite"], [82, 13, 1, "", "secure"]], "octoprint.schema.config.server.DiskspaceConfig": [[82, 13, 1, "", "critical"], [82, 13, 1, "", "warning"]], "octoprint.schema.config.server.IpCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "trustedSubnets"]], "octoprint.schema.config.server.OnlineCheckConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "host"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "name"], [82, 13, 1, "", "port"]], "octoprint.schema.config.server.PluginBlacklistConfig": [[82, 13, 1, "", "enabled"], [82, 13, 1, "", "timeout"], [82, 13, 1, "", "ttl"], [82, 13, 1, "", "url"]], "octoprint.schema.config.server.PreemptiveCacheConfig": [[82, 13, 1, "", "exceptions"], [82, 13, 1, "", "until"]], "octoprint.schema.config.server.ReverseProxyConfig": [[82, 13, 1, "", "hostFallback"], [82, 13, 1, "", "hostHeader"], [82, 13, 1, "", "portFallback"], [82, 13, 1, "", "portHeader"], [82, 13, 1, "", "prefixFallback"], [82, 13, 1, "", "prefixHeader"], [82, 13, 1, "", "schemeFallback"], [82, 13, 1, "", "schemeHeader"], [82, 13, 1, "", "serverFallback"], [82, 13, 1, "", "serverHeader"], [82, 13, 1, "", "trustedDownstream"]], "octoprint.schema.config.server.SameSiteEnum": [[82, 13, 1, "", "lax"], [82, 13, 1, "", "none"], [82, 13, 1, "", "strict"]], "octoprint.schema.config.server.ServerConfig": [[82, 13, 1, "", "allowFraming"], [82, 13, 1, "", "allowedLoginRedirectPaths"], [82, 13, 1, "", "commands"], [82, 13, 1, "", "cookies"], [82, 13, 1, "", "diskspace"], [82, 13, 1, "", "firstRun"], [82, 13, 1, "", "heartbeat"], [82, 13, 1, "", "host"], [82, 13, 1, "", "ignoreIncompleteStartup"], [82, 13, 1, "", "ipCheck"], [82, 13, 1, "", "maxSize"], [82, 13, 1, "", "onlineCheck"], [82, 13, 1, "", "pluginBlacklist"], [82, 13, 1, "", "port"], [82, 13, 1, "", "preemptiveCache"], [82, 13, 1, "", "reverseProxy"], [82, 13, 1, "", "secretKey"], [82, 13, 1, "", "seenWizards"], [82, 13, 1, "", "startOnceInSafeMode"], [82, 13, 1, "", "uploads"]], "octoprint.schema.config.server.UploadsConfig": [[82, 13, 1, "", "maxSize"], [82, 13, 1, "", "nameSuffix"], [82, 13, 1, "", "pathSuffix"]], "octoprint.schema.config.slicing": [[82, 10, 1, "", "SlicingConfig"]], "octoprint.schema.config.slicing.SlicingConfig": [[82, 13, 1, "", "defaultProfiles"], [82, 13, 1, "", "defaultSlicer"], [82, 13, 1, "", "enabled"]], "octoprint.schema.config.system": [[82, 10, 1, "", "ActionConfig"], [82, 10, 1, "", "SystemConfig"]], "octoprint.schema.config.system.ActionConfig": [[82, 13, 1, "", "action"], [82, 13, 1, "", "async_"], [82, 13, 1, "", "command"], [82, 13, 1, "", "confirm"], [82, 13, 1, "", "name"]], "octoprint.schema.config.system.SystemConfig": [[82, 13, 1, "", "actions"]], "octoprint.schema.config.temperature": [[82, 10, 1, "", "TemperatureConfig"], [82, 10, 1, "", "TemperatureProfile"]], "octoprint.schema.config.temperature.TemperatureConfig": [[82, 13, 1, "", "cutoff"], [82, 13, 1, "", "profiles"], [82, 13, 1, "", "sendAutomatically"], [82, 13, 1, "", "sendAutomaticallyAfter"]], "octoprint.schema.config.temperature.TemperatureProfile": [[82, 13, 1, "", "bed"], [82, 13, 1, "", "extruder"], [82, 13, 1, "", "name"]], "octoprint.schema.config.terminalfilters": [[82, 10, 1, "", "TerminalFilterEntry"]], "octoprint.schema.config.terminalfilters.TerminalFilterEntry": [[82, 13, 1, "", "name"], [82, 13, 1, "", "regex"]], "octoprint.schema.config.webcam": [[82, 10, 1, "", "TimelapseConfig"], [82, 10, 1, "", "TimelapseOptions"], [82, 10, 1, "", "TimelapseTypeEnum"], [82, 10, 1, "", "WebcamConfig"]], "octoprint.schema.config.webcam.TimelapseConfig": [[82, 13, 1, "", "fps"], [82, 13, 1, "", "options"], [82, 13, 1, "", "postRoll"], [82, 13, 1, "", "type"]], "octoprint.schema.config.webcam.TimelapseOptions": [[82, 13, 1, "", "capturePostRoll"], [82, 13, 1, "", "interval"], [82, 13, 1, "", "retractionZHop"]], "octoprint.schema.config.webcam.TimelapseTypeEnum": [[82, 13, 1, "", "off"], [82, 13, 1, "", "timed"], [82, 13, 1, "", "zchange"]], "octoprint.schema.config.webcam.WebcamConfig": [[82, 13, 1, "", "bitrate"], [82, 13, 1, "", "cleanTmpAfterDays"], [82, 13, 1, "", "defaultWebcam"], [82, 13, 1, "", "ffmpeg"], [82, 13, 1, "", "ffmpegCommandline"], [82, 13, 1, "", "ffmpegThreads"], [82, 13, 1, "", "ffmpegThumbnailCommandline"], [82, 13, 1, "", "ffmpegVideoCodec"], [82, 13, 1, "", "snapshotWebcam"], [82, 13, 1, "", "timelapse"], [82, 13, 1, "", "timelapseEnabled"], [82, 13, 1, "", "watermark"], [82, 13, 1, "", "webcamEnabled"]], "octoprint.schema.webcam": [[82, 10, 1, "", "RatioEnum"], [82, 10, 1, "", "Webcam"], [82, 10, 1, "", "WebcamCompatibility"]], "octoprint.schema.webcam.RatioEnum": [[82, 13, 1, "", "four_three"], [82, 13, 1, "", "sixteen_nine"]], "octoprint.schema.webcam.Webcam": [[82, 13, 1, "", "canSnapshot"], [82, 13, 1, "", "compat"], [82, 13, 1, "", "displayName"], [82, 13, 1, "", "extras"], [82, 13, 1, "", "flipH"], [82, 13, 1, "", "flipV"], [82, 13, 1, "", "name"], [82, 13, 1, "", "rotate90"], [82, 13, 1, "", "snapshotDisplay"]], "octoprint.schema.webcam.WebcamCompatibility": [[82, 13, 1, "", "cacheBuster"], [82, 13, 1, "", "snapshot"], [82, 13, 1, "", "snapshotSslValidation"], [82, 13, 1, "", "snapshotTimeout"], [82, 13, 1, "", "stream"], [82, 13, 1, "", "streamRatio"], [82, 13, 1, "", "streamTimeout"], [82, 13, 1, "", "streamWebrtcIceServers"]], "octoprint.server": [[83, 11, 1, "", "CannotStartServerException"], [83, 10, 1, "", "OctoPrintAnonymousIdentity"], [83, 9, 0, "-", "util"]], "octoprint.server.util": [[83, 11, 1, "", "InvalidApiKeyException"], [83, 8, 1, "", "corsRequestHandler"], [83, 8, 1, "", "corsResponseHandler"], [83, 8, 1, "", "csrfRequestHandler"], [83, 8, 1, "", "csrfResponseHandler"], [83, 9, 0, "-", "flask"], [83, 8, 1, "", "has_permissions"], [83, 8, 1, "", "loginFromApiKeyRequestHandler"], [83, 8, 1, "", "loginFromAuthorizationHeaderRequestHandler"], [83, 8, 1, "", "noCachingExceptGetResponseHandler"], [83, 8, 1, "", "noCachingResponseHandler"], [83, 8, 1, "", "optionsAllowOrigin"], [83, 8, 1, "", "require_fresh_login_with"], [83, 8, 1, "", "require_login"], [83, 8, 1, "", "require_login_with"], [83, 9, 0, "-", "sockjs"], [83, 9, 0, "-", "tornado"], [83, 8, 1, "", "validate_local_redirect"]], "octoprint.server.util.flask": [[83, 10, 1, "", "LessSimpleCache"], [83, 10, 1, "", "OctoPrintFlaskRequest"], [83, 10, 1, "", "OctoPrintFlaskResponse"], [83, 10, 1, "", "OctoPrintJsonProvider"], [83, 10, 1, "", "OctoPrintSessionInterface"], [83, 10, 1, "", "PluginAssetResolver"], [83, 10, 1, "", "PrefixAwareJinjaEnvironment"], [83, 10, 1, "", "SettingsCheckUpdater"], [83, 8, 1, "", "check_lastmodified"], [83, 8, 1, "", "firstrun_only_access"], [83, 8, 1, "", "get_cookie_suffix"], [83, 8, 1, "", "get_flask_user_from_request"], [83, 8, 1, "", "make_api_error"], [83, 8, 1, "", "make_text_response"], [83, 8, 1, "", "no_firstrun_access"], [83, 8, 1, "", "permission_and_fresh_credentials_validator"], [83, 8, 1, "", "permission_validator"], [83, 8, 1, "", "redirect_to_tornado"], [83, 8, 1, "", "require_credentials_checked_recently"], [83, 8, 1, "", "restricted_access"]], "octoprint.server.util.flask.LessSimpleCache": [[83, 12, 1, "", "add"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "set"]], "octoprint.server.util.flask.OctoPrintFlaskRequest": [[83, 14, 1, "", "cookies"], [83, 14, 1, "", "server_name"], [83, 14, 1, "", "server_port"]], "octoprint.server.util.flask.OctoPrintFlaskResponse": [[83, 12, 1, "", "delete_cookie"], [83, 12, 1, "", "set_cookie"]], "octoprint.server.util.flask.OctoPrintJsonProvider": [[83, 12, 1, "", "default"], [83, 12, 1, "", "dumps"]], "octoprint.server.util.flask.OctoPrintSessionInterface": [[83, 12, 1, "", "save_session"], [83, 12, 1, "", "should_set_cookie"]], "octoprint.server.util.flask.PluginAssetResolver": [[83, 12, 1, "", "resolve_output_to_path"], [83, 12, 1, "", "split_prefix"]], "octoprint.server.util.flask.PrefixAwareJinjaEnvironment": [[83, 12, 1, "", "join_path"]], "octoprint.server.util.flask.SettingsCheckUpdater": [[83, 12, 1, "", "build_done"], [83, 12, 1, "", "needs_rebuild"]], "octoprint.server.util.sockjs": [[83, 10, 1, "", "ThreadSafeSession"]], "octoprint.server.util.sockjs.ThreadSafeSession": [[83, 12, 1, "", "remove_handler"], [83, 12, 1, "", "set_handler"]], "octoprint.server.util.tornado": [[83, 10, 1, "", "CorsSupportMixin"], [83, 10, 1, "", "CustomHTTP1Connection"], [83, 10, 1, "", "CustomHTTP1ConnectionParameters"], [83, 10, 1, "", "CustomHTTP1ServerConnection"], [83, 10, 1, "", "CustomHTTPServer"], [83, 10, 1, "", "DeprecatedEndpointHandler"], [83, 10, 1, "", "DynamicZipBundleHandler"], [83, 10, 1, "", "GeneratingDataHandler"], [83, 10, 1, "", "GlobalHeaderTransform"], [83, 10, 1, "", "LargeResponseHandler"], [83, 10, 1, "", "RequestlessExceptionLoggingMixin"], [83, 10, 1, "", "StaticDataHandler"], [83, 10, 1, "", "StaticZipBundleHandler"], [83, 10, 1, "", "SystemInfoBundleHandler"], [83, 10, 1, "", "UploadStorageFallbackHandler"], [83, 10, 1, "", "UrlProxyHandler"], [83, 10, 1, "", "WebcamSnapshotHandler"], [83, 10, 1, "", "WsgiInputContainer"], [83, 8, 1, "", "access_validation_factory"], [83, 8, 1, "", "enable_per_message_deflate_extension"], [83, 8, 1, "", "fix_json_encode"], [83, 8, 1, "", "fix_tornado_xheader_handling"], [83, 8, 1, "", "fix_websocket_check_origin"], [83, 8, 1, "", "path_validation_factory"]], "octoprint.server.util.tornado.CorsSupportMixin": [[83, 12, 1, "", "set_default_headers"]], "octoprint.server.util.tornado.CustomHTTPServer": [[83, 12, 1, "", "handle_stream"], [83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DeprecatedEndpointHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.DynamicZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.GeneratingDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.LargeResponseHandler": [[83, 12, 1, "", "compute_etag"], [83, 12, 1, "", "get_content_type"], [83, 12, 1, "", "get_content_version"], [83, 12, 1, "", "initialize"], [83, 14, 1, "", "original_absolute_path"], [83, 12, 1, "", "set_extra_headers"], [83, 12, 1, "", "streamed_get"]], "octoprint.server.util.tornado.RequestlessExceptionLoggingMixin": [[83, 12, 1, "", "log_exception"]], "octoprint.server.util.tornado.StaticDataHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.StaticZipBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.SystemInfoBundleHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.UploadStorageFallbackHandler": [[83, 13, 1, "", "BODY_METHODS"], [83, 12, 1, "", "data_received"], [83, 12, 1, "", "delete"], [83, 12, 1, "", "get"], [83, 12, 1, "", "head"], [83, 12, 1, "", "initialize"], [83, 12, 1, "", "is_multipart"], [83, 12, 1, "", "on_finish"], [83, 12, 1, "", "options"], [83, 12, 1, "", "patch"], [83, 12, 1, "", "post"], [83, 12, 1, "", "prepare"], [83, 12, 1, "", "put"]], "octoprint.server.util.tornado.UrlProxyHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WebcamSnapshotHandler": [[83, 12, 1, "", "initialize"]], "octoprint.server.util.tornado.WsgiInputContainer": [[83, 12, 1, "", "environ"], [83, 12, 1, "", "handle_request"]], "octoprint.settings": [[84, 10, 1, "", "Settings"], [84, 15, 1, "", "default_settings"], [84, 8, 1, "", "settings"], [84, 15, 1, "", "valid_boolean_trues"]], "octoprint.settings.Settings": [[84, 13, 1, "", "OVERLAY_KEY"], [84, 12, 1, "", "add_overlay"], [84, 12, 1, "", "add_path_update_callback"], [84, 12, 1, "", "backup"], [84, 12, 1, "", "checkBaseFolder"], [84, 14, 1, "", "config"], [84, 14, 1, "", "config_hash"], [84, 14, 1, "", "config_yaml"], [84, 12, 1, "", "deleteApiKey"], [84, 14, 1, "", "effective"], [84, 14, 1, "", "effective_hash"], [84, 14, 1, "", "effective_yaml"], [84, 12, 1, "", "generateApiKey"], [84, 12, 1, "", "get"], [84, 12, 1, "", "getBaseFolder"], [84, 12, 1, "", "getBoolean"], [84, 12, 1, "", "getFloat"], [84, 12, 1, "", "getInt"], [84, 12, 1, "", "has"], [84, 14, 1, "", "last_modified"], [84, 14, 1, "", "last_modified_or_made_dirty"], [84, 12, 1, "", "listScripts"], [84, 12, 1, "", "load"], [84, 12, 1, "", "loadScript"], [84, 12, 1, "", "load_overlay"], [84, 12, 1, "", "load_overlays"], [84, 12, 1, "", "remove"], [84, 12, 1, "", "remove_overlay"], [84, 12, 1, "", "remove_path_update_callback"], [84, 12, 1, "", "sanity_check_folders"], [84, 12, 1, "", "save"], [84, 12, 1, "", "saveScript"], [84, 12, 1, "", "set"], [84, 12, 1, "", "setBaseFolder"], [84, 12, 1, "", "setBoolean"], [84, 12, 1, "", "setFloat"], [84, 12, 1, "", "setInt"], [84, 12, 1, "", "warn_about_risky_settings"]], "octoprint.slicing": [[85, 10, 1, "", "SlicingManager"], [85, 10, 1, "", "SlicingProfile"], [85, 10, 1, "", "TemporaryProfile"], [85, 9, 0, "-", "exceptions"]], "octoprint.slicing.SlicingManager": [[85, 12, 1, "", "all_profiles"], [85, 12, 1, "", "cancel_slicing"], [85, 14, 1, "", "configured_slicers"], [85, 14, 1, "", "default_slicer"], [85, 12, 1, "", "delete_profile"], [85, 12, 1, "", "get_profile_path"], [85, 12, 1, "", "get_slicer"], [85, 12, 1, "", "get_slicer_profile_path"], [85, 12, 1, "", "initialize"], [85, 12, 1, "", "load_profile"], [85, 12, 1, "", "profiles_last_modified"], [85, 14, 1, "", "registered_slicers"], [85, 12, 1, "", "reload_slicers"], [85, 12, 1, "", "save_profile"], [85, 12, 1, "", "set_default_profile"], [85, 12, 1, "", "slice"], [85, 14, 1, "", "slicing_enabled"]], "octoprint.slicing.exceptions": [[85, 10, 1, "", "ProfileAlreadyExists"], [85, 10, 1, "", "ProfileException"], [85, 10, 1, "", "SlicerException"], [85, 10, 1, "", "SlicerNotConfigured"], [85, 10, 1, "", "SlicingCancelled"], [85, 10, 1, "", "SlicingException"], [85, 10, 1, "", "UnknownProfile"], [85, 10, 1, "", "UnknownSlicer"]], "octoprint.slicing.exceptions.ProfileException": [[85, 13, 1, "", "profile"], [85, 13, 1, "", "slicer"]], "octoprint.slicing.exceptions.SlicerException": [[85, 13, 1, "", "slicer"]], "octoprint.util": [[86, 10, 1, "", "CaseInsensitiveSet"], [86, 10, 1, "", "DefaultOrderedDict"], [86, 10, 1, "", "PrependableQueue"], [86, 10, 1, "", "RepeatedTimer"], [86, 10, 1, "", "ResettableTimer"], [86, 11, 1, "", "TypeAlreadyInQueue"], [86, 10, 1, "", "TypedQueue"], [86, 8, 1, "", "chunks"], [86, 9, 0, "-", "commandline"], [86, 8, 1, "", "count"], [86, 8, 1, "", "deprecated"], [86, 8, 1, "", "deserialize"], [86, 8, 1, "", "dict_clean"], [86, 8, 1, "", "dict_contains_keys"], [86, 8, 1, "", "dict_filter"], [86, 8, 1, "", "dict_flatten"], [86, 8, 1, "", "dict_merge"], [86, 8, 1, "", "dict_minimal_mergediff"], [86, 8, 1, "", "dict_sanitize"], [86, 10, 1, "", "fallback_dict"], [86, 8, 1, "", "filter_non_ascii"], [86, 8, 1, "", "get_bom"], [86, 8, 1, "", "get_class"], [86, 8, 1, "", "get_exception_string"], [86, 8, 1, "", "get_formatted_datetime"], [86, 8, 1, "", "get_formatted_size"], [86, 8, 1, "", "get_formatted_timedelta"], [86, 8, 1, "", "get_fully_qualified_classname"], [86, 8, 1, "", "is_allowed_file"], [86, 8, 1, "", "pending_deprecation"], [86, 9, 0, "-", "platform"], [86, 8, 1, "", "pp"], [86, 8, 1, "", "serialize"], [86, 8, 1, "", "to_bytes"], [86, 8, 1, "", "to_native_str"], [86, 8, 1, "", "to_str"], [86, 8, 1, "", "to_unicode"], [86, 8, 1, "", "variable_deprecated"], [86, 8, 1, "", "variable_pending_deprecation"]], "octoprint.util.DefaultOrderedDict": [[86, 12, 1, "", "copy"]], "octoprint.util.RepeatedTimer": [[86, 12, 1, "", "run"]], "octoprint.util.ResettableTimer": [[86, 12, 1, "", "run"]], "octoprint.util.TypedQueue": [[86, 12, 1, "", "get"], [86, 12, 1, "", "put"]], "octoprint.util.commandline": [[86, 10, 1, "", "CommandlineCaller"], [86, 11, 1, "", "CommandlineError"], [86, 10, 1, "", "DelimiterCapture"], [86, 8, 1, "", "clean_ansi"]], "octoprint.util.commandline.CommandlineCaller": [[86, 12, 1, "", "call"], [86, 12, 1, "", "checked_call"], [86, 13, 1, "", "on_log_call"], [86, 13, 1, "", "on_log_stderr"], [86, 13, 1, "", "on_log_stdout"]], "octoprint.util.fallback_dict": [[86, 12, 1, "", "items"], [86, 12, 1, "", "keys"], [86, 12, 1, "", "values"]], "octoprint.util.platform": [[86, 15, 1, "", "CLOSE_FDS"], [86, 8, 1, "", "get_os"], [86, 8, 1, "", "is_os_compatible"], [86, 8, 1, "", "set_close_exec"]]}, "objnames": {"0": ["http", "get", "HTTP get"], "1": ["http", "post", "HTTP post"], "2": ["http", "delete", "HTTP delete"], "3": ["http", "put", "HTTP put"], "4": ["http", "patch", "HTTP patch"], "5": ["js", "class", "JavaScript class"], "6": ["js", "function", "JavaScript function"], "7": ["js", "attribute", "JavaScript attribute"], "8": ["py", "function", "Python function"], "9": ["py", "module", "Python module"], "10": ["py", "class", "Python class"], "11": ["py", "exception", "Python exception"], "12": ["py", "method", "Python method"], "13": ["py", "attribute", "Python attribute"], "14": ["py", "property", "Python property"], "15": ["py", "data", "Python data"]}, "objtypes": {"0": "http:get", "1": "http:post", "2": "http:delete", "3": "http:put", "4": "http:patch", "5": "js:class", "6": "js:function", "7": "js:attribute", "8": "py:function", "9": "py:module", "10": "py:class", "11": "py:exception", "12": "py:method", "13": "py:attribute", "14": "py:property", "15": "py:data"}, "terms": {"": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 42, 43, 46, 47, 48, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "0": [0, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 23, 24, 25, 31, 32, 33, 36, 37, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 61, 66, 74, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96, 97], "000000": 3, "00m": 92, "01": [37, 46, 82, 90], "01378": 9, "02": [9, 31, 92, 95], "02mm": 9, "03": 92, "032": 9, "05": [9, 17, 82], "058": 90, "06": 90, "082": 9, "09": 92, "0rc": 41, "0rc1": [41, 96], "0rc2": 41, "1": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 61, 62, 65, 70, 74, 76, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "10": [4, 9, 11, 14, 18, 23, 24, 34, 37, 42, 51, 66, 70, 82, 84, 85, 90, 92, 95], "100": [2, 3, 17, 37, 40, 46, 57, 70, 81, 82, 86, 90, 92, 95], "10000": 92, "10000k": 82, "100kb": [37, 82, 92], "101": [9, 90], "1024": [39, 92], "102400": [37, 82], "1024kb": 92, "105": [9, 46], "107": 9, "1073741824": [37, 82], "1094933": 86, "10mm": [9, 51, 66], "11": [4, 22, 26, 37, 42, 83, 86, 90, 92, 95], "110": 46, "1107": 82, "1123": 9, "115": 46, "115200": [1, 37, 92], "1188": 3, "12": [47, 95], "122": 90, "12237201408": 31, "1234": [3, 25, 74], "123456": 37, "124": 90, "125": 9, "127": [37, 48, 74, 82, 88, 92], "128": [48, 82], "13": [55, 70, 90], "132": 90, "13205": 31, "1334": 3, "134": 90, "135": 90, "1378847754": [3, 6], "1387144346": 3, "1392628936": 31, "1393158814": 31, "1395651926": 9, "1395651928": 9, "14": 90, "140": 95, "14159430": 90, "1440": [32, 33], "1468987": [3, 6], "1470859680": 7, "1474574597": 7, "15": [3, 37, 82], "150": [10, 33], "15min": 34, "16": [17, 33, 82, 92], "168": [17, 37, 48, 82], "17": [31, 90, 95, 96], "174": 9, "178": 92, "1798419": 31, "18": [90, 92], "180": [37, 82], "19": 90, "192": [17, 37, 48, 82], "19200": 1, "19302": 82, "199": 17, "1gb": [37, 82], "1px": 90, "1st": 96, "2": [3, 4, 9, 10, 11, 14, 17, 21, 22, 24, 25, 32, 33, 37, 39, 41, 42, 45, 46, 47, 51, 54, 55, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "20": [10, 14, 70, 82, 84, 85, 86, 90, 92], "200": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 92, 95], "200mb": [37, 82], "201": [3, 14, 23], "2013": [29, 35, 48], "2014": 31, "2015": [90, 95], "2016": [42, 92], "2018": 92, "2019": 42, "202": [3, 23], "2020": 96, "2020083": 86, "2023": 90, "2028598": [86, 90], "204": [0, 1, 3, 4, 6, 9, 10, 14, 15, 23, 31, 92, 95], "205": [9, 66], "2097152": [37, 39], "20971520": 37, "209715200": [37, 82], "20mb": 37, "20mm": [3, 10], "21": [10, 46, 92, 95], "210": [37, 82, 92], "212": 9, "213": 92, "214": 9, "216": 92, "217": 92, "219": 92, "220": [9, 46, 66, 92], "221": 9, "2298468264184775": 6, "23": [3, 40, 46, 48, 92, 95], "230": 92, "230400": 1, "232": 92, "234": 92, "2342": 95, "24": [37, 82, 89, 92], "242": 92, "243": 92, "246": 3, "24h": 33, "25": [9, 10, 37, 82, 92], "250000": [1, 84], "252": 9, "253": 9, "255": [37, 48, 51, 82], "25mm": 10, "263": 3, "27": 46, "276": 6, "286": 9, "29": 92, "299": 17, "2f": 46, "2gb": 3, "2h": 92, "2mb": 37, "2mm": 66, "3": [3, 4, 8, 9, 11, 14, 17, 18, 21, 22, 23, 24, 26, 28, 31, 33, 34, 36, 37, 40, 42, 46, 47, 50, 51, 55, 56, 57, 65, 70, 74, 80, 81, 82, 83, 84, 86, 88, 90, 92, 93, 95, 97], "30": [37, 82, 86, 90], "300": [10, 17, 22, 37, 83, 92], "3000": 51, "3000mm": 51, "302": 83, "31": [90, 92], "312464": 86, "32": 9, "33": 90, "337942": 6, "34": [46, 90], "342": 92, "3482": [37, 82], "349182": 83, "35": 90, "355": 92, "357": 92, "358": 92, "36": [3, 6, 90], "360": [32, 33], "3785": 9, "38": [90, 92], "38400": 1, "399": 17, "3d": 56, "3df4550c": 42, "3mm": 9, "3rd": 11, "4": [2, 3, 17, 20, 24, 27, 29, 33, 35, 37, 45, 46, 47, 48, 76, 77, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96], "40": [70, 95], "400": [0, 1, 3, 7, 9, 10, 15, 17, 23, 74, 95], "401": 4, "403": [0, 4, 13, 31, 83], "404": [0, 3, 9, 10, 14, 15, 23, 31, 74, 83, 92, 95], "409": [0, 3, 6, 9, 10], "41": 90, "411": 9, "415": 3, "42": [40, 48, 90], "43": [46, 90], "430": 3, "43712": 31, "443": 25, "45": 92, "46": 90, "47": 90, "48": 90, "49": 9, "494": 9, "496c": 42, "499": 17, "5": [3, 6, 9, 11, 12, 14, 17, 23, 24, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 66, 70, 82, 83, 84, 86, 92], "50": [9, 66, 82, 92], "500": [3, 15, 17, 44, 83, 92], "5000": [37, 82, 84], "5000k": 37, "5001": 88, "500m": [11, 70], "500mb": [37, 82], "5088147346030592": [37, 82], "512": 83, "522": 9, "524288000": 82, "53": [17, 37, 74, 82, 90], "54": 90, "54089": 9, "552": 92, "553": 92, "555": 92, "556": 92, "558": 92, "5633521622188032": [37, 82], "57": 40, "57600": 1, "5987": [3, 4], "599": 17, "5mm": [9, 66], "6": [10, 17, 22, 24, 33, 47, 48, 49, 55, 77, 90, 92], "60": [37, 82, 86, 92], "6000": 10, "600px": 90, "634": 90, "63488000": 37, "64": 46, "69": [9, 90], "6h": 33, "7": [8, 17, 28, 31, 33, 37, 42, 47, 50, 65, 80, 82, 88, 90, 92, 95, 96], "70": 9, "731": 9, "748": 9, "75": [3, 9], "779": 9, "786": 90, "792": 90, "8": [3, 4, 11, 17, 23, 24, 33, 37, 42, 47, 48, 49, 57, 70, 74, 82, 83, 86, 87, 90, 92, 95, 96], "808080": 90, "8081": 4, "810": [3, 6], "818": 90, "83763": 9, "85": 9, "85a134": 90, "8601": 47, "861": 92, "866": 9, "868": 9, "87": 9, "8811": 6, "8821": 9, "8859": 4, "8963": 9, "9": [17, 21, 24, 45, 47, 51, 81, 82, 90, 92, 95], "90": [37, 66, 82], "900": 82, "91": 9, "912": 6, "92338": 9, "93": 9, "95": 9, "96": 9, "9600": 1, "97566": 9, "98": 9, "9946": 9, "997": 90, "A": [0, 2, 3, 6, 9, 11, 15, 17, 19, 20, 21, 22, 23, 24, 25, 31, 32, 33, 37, 38, 39, 47, 48, 51, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 94, 95, 96, 97], "And": [33, 46, 48, 92], "As": [24, 39, 40, 49, 51, 52, 57, 88, 90, 92, 95, 96], "At": [23, 44, 57, 78], "Be": [82, 92], "But": [40, 90], "By": [3, 24, 26, 33, 34, 37, 48, 78, 83, 92, 95, 96, 97], "For": [2, 4, 6, 9, 10, 11, 15, 16, 26, 33, 34, 37, 40, 42, 46, 51, 52, 54, 55, 61, 78, 80, 82, 83, 84, 86, 87, 89, 90, 92, 95], "If": [0, 1, 3, 4, 6, 9, 10, 11, 13, 14, 15, 16, 17, 21, 23, 24, 29, 31, 33, 37, 39, 42, 43, 44, 46, 47, 49, 51, 52, 54, 56, 57, 58, 59, 61, 62, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "In": [6, 24, 33, 37, 40, 42, 47, 51, 80, 82, 85, 86, 89, 90, 95, 96, 97], "It": [3, 9, 20, 21, 22, 23, 24, 25, 28, 32, 33, 35, 37, 41, 47, 48, 49, 52, 56, 57, 62, 70, 78, 80, 81, 82, 83, 84, 86, 90, 92, 95, 97], "Its": 56, "NO": 47, "NOT": [17, 33, 37, 47, 52, 80, 81, 82, 90, 92, 96], "No": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 40, 44, 47, 92, 95], "Not": [0, 2, 3, 9, 10, 14, 15, 17, 23, 31, 32, 37, 74, 82, 83, 90], "OR": 57, "Of": [90, 95], "On": [2, 3, 4, 22, 23, 24, 42, 47, 48, 49, 51, 82, 87, 92, 95, 96], "One": [33, 37, 47, 60, 78, 90, 92, 96], "Or": [2, 48], "Such": 49, "That": [4, 9, 11, 48, 52, 80, 83, 90, 92, 96], "The": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 44, 45, 46, 47, 49, 51, 52, 54, 55, 56, 57, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "Their": [92, 97], "Then": [42, 48, 90, 92, 96], "There": [6, 9, 33, 41, 46, 47, 48, 52, 55, 81, 85, 87, 90, 95, 96], "These": [20, 37, 42, 51, 52, 82, 88, 95], "To": [3, 4, 7, 11, 20, 21, 23, 33, 37, 42, 44, 47, 48, 49, 51, 52, 54, 55, 70, 90, 92, 95, 96], "WILL": 81, "Will": [0, 4, 7, 9, 10, 13, 14, 19, 21, 32, 33, 41, 46, 51, 78, 80, 82, 83, 85, 86, 90, 92, 95, 97], "With": [11, 52, 55, 85, 96], "_": [61, 62, 80, 90, 91, 92, 95], "_1st": 95, "_2nd": 95, "__call__": 83, "__currentz": 47, "__data": 47, "__doc__": 86, "__eventnam": 47, "__filenam": 47, "__fileorigin": 47, "__filepath": 47, "__future__": [95, 96], "__init": 89, "__init__": [90, 92, 95, 96], "__name__": [88, 91, 92], "__now": 47, "__overlay__": 84, "__plugin_author__": [88, 90], "__plugin_check__": 88, "__plugin_description__": [88, 90, 92], "__plugin_disable__": 88, "__plugin_enable__": 88, "__plugin_helpers__": 91, "__plugin_hooks__": [24, 32, 33, 88, 92], "__plugin_implementation__": [24, 88, 90, 91, 92, 95], "__plugin_license__": [88, 90], "__plugin_load__": [88, 91, 92], "__plugin_name__": [88, 90, 92, 94, 95], "__plugin_privacypolicy__": 88, "__plugin_pycompat__": 96, "__plugin_pythoncompat__": [88, 90, 92, 95, 96], "__plugin_settings_overlay__": 88, "__plugin_unload__": 88, "__plugin_url__": [88, 90], "__plugin_version__": [88, 90, 92, 94], "__progress": 47, "_about": 95, "_after_": 90, "_analysi": 85, "_analysis_queu": [79, 80, 94], "_app_session_manag": [79, 80], "_apply_xhead": 83, "_async": 86, "_awesometempl": 92, "_basefold": [79, 80, 94], "_build": 42, "_cancel": 85, "_changest": 92, "_config": 95, "_config_vers": 95, "_connectivity_check": [77, 79, 80, 94], "_core": 7, "_current": 78, "_data_fold": [79, 80], "_datafold": 94, "_default": [1, 10, 37, 82], "_detectport": 92, "_disabl": [37, 82], "_div": 92, "_do_abort": [78, 79], "_do_analysi": [78, 79], "_environment_detector": 77, "_error": 85, "_errorvalu": 92, "_event_bu": [77, 79, 80, 94], "_file_manag": [79, 80, 94], "_forcedcompat": [37, 82, 96], "_gcode_hook": 92, "_gcodescript_hook": 92, "_get_free_remote_nam": 92, "_gntp": 91, "_handled_error": 92, "_httprequestcontext": 83, "_identifi": [77, 79, 80, 94], "_import": 22, "_is_external_cli": 4, "_log": 92, "_logger": [77, 79, 80, 90, 92, 94, 95], "_navbar": 95, "_not_": 83, "_plugin_": [92, 95], "_plugin_info": 94, "_plugin_lifecycle_manag": [79, 80], "_plugin_manag": [24, 77, 79, 80, 91, 92, 94], "_plugin_nam": [33, 79, 80, 94], "_plugin_vers": [33, 79, 80, 94], "_pluginmanag": 92, "_printer": [79, 80, 94], "_printer_profile_manag": [79, 80, 94], "_process_multipart_data": 83, "_progress": [85, 95], "_r": 4, "_refresh": 95, "_register_growl": 91, "_server_request_loop": 83, "_set": [77, 90, 91, 92, 94, 95], "_sidebar": 95, "_size": 92, "_slicing_manag": [79, 80, 94], "_someservic": 25, "_sortingord": [37, 82], "_strip": 92, "_tab": 95, "_tcp": 91, "_user_manag": [79, 80, 94], "_webcam": 95, "_wizard": 95, "a1": 86, "a189": 42, "a2": 86, "a4ut": 3, "a_list": 40, "a_turtle_turtl": 2, "aabbccddee1234523452345": 48, "ab": [37, 82], "abandon": 4, "abcdef": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 70, 95], "abcdef1234567890": 23, "abl": [21, 23, 24, 25, 33, 35, 44, 47, 48, 52, 54, 62, 78, 80, 82, 86, 90, 95], "abort": [21, 23, 50, 78, 92, 95], "abortheatuponcancel": [79, 82], "about": [0, 2, 4, 5, 10, 11, 13, 14, 15, 20, 25, 33, 37, 40, 47, 48, 51, 61, 63, 73, 75, 79, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "abov": [4, 20, 21, 32, 33, 37, 39, 40, 42, 48, 49, 51, 52, 57, 62, 63, 66, 80, 81, 82, 83, 84, 85, 90, 92, 95], "abridg": [3, 14], "absolut": [9, 37, 52, 57, 78, 80, 81, 82, 83, 85, 92, 93, 95], "absolute_import": [95, 96], "absolute_path": 78, "abspath": 83, "abstract": 81, "abstractanalysisqueu": [78, 79, 92], "abstractfilewrapp": [78, 79, 92], "abus": [49, 81], "accept": [3, 6, 11, 23, 42, 46, 47, 61, 70, 80, 83, 92, 95], "access": [4, 5, 9, 11, 13, 17, 23, 24, 33, 38, 42, 47, 52, 53, 56, 57, 62, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 93, 94, 95], "access_control": 82, "access_valid": [83, 93], "access_validation_factori": [79, 83], "access_validator_hook": 92, "accesscontrol": [13, 37, 48, 79, 82, 93], "accesscontrolconfig": [79, 82], "accessviewmodel": 92, "accident": [51, 82], "accord": [33, 37, 47, 85, 90], "accordingli": [37, 42, 57, 80, 82, 83, 92, 95, 96, 97], "account": [0, 2, 4, 23, 33, 37, 42, 48, 70, 82, 92], "accumul": 11, "accur": 47, "accuraci": [37, 82], "achiev": [9, 37, 48, 89, 90, 96, 97], "ackmax": [79, 82], "acknowledg": [1, 15, 21, 37, 46, 59, 81, 82], "acl": 97, "acl_keyvalidator_hook": 92, "acquir": 81, "across": [16, 40, 46, 58, 97], "acryl": [37, 82], "act": [22, 33, 90, 92, 97], "action": [6, 13, 15, 24, 29, 30, 37, 46, 48, 52, 53, 56, 71, 74, 79, 82, 85, 86, 93], "action_command_notif": 20, "action_command_prompt": [13, 21], "action_custom": 46, "action_disconnect": 46, "action_paus": 46, "action_resum": 46, "actionconfig": [79, 82], "activ": [0, 2, 3, 4, 6, 10, 11, 13, 26, 29, 33, 34, 37, 42, 45, 46, 49, 52, 73, 76, 78, 80, 81, 82, 83, 86, 90, 96, 97], "actual": [2, 6, 9, 14, 17, 25, 33, 34, 37, 40, 41, 46, 47, 48, 51, 52, 54, 55, 66, 78, 80, 81, 82, 85, 86, 87, 89, 92, 93, 94, 95, 96, 97], "ad": [4, 9, 10, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 47, 48, 49, 50, 51, 54, 55, 57, 78, 80, 83, 86, 87, 92, 93, 95, 96, 97], "adapt": [8, 65, 78, 86], "add": [5, 22, 24, 31, 37, 40, 42, 44, 45, 47, 48, 51, 54, 55, 57, 62, 67, 69, 73, 77, 78, 79, 80, 81, 82, 83, 92, 93, 95, 96], "add_fil": [78, 79], "add_fold": [78, 79], "add_link": [78, 79], "add_overlai": [79, 80, 84], "add_path_update_callback": [79, 84], "add_templatetyp": 92, "add_tornado_rout": 92, "addit": [0, 1, 2, 3, 5, 6, 9, 11, 20, 22, 23, 24, 25, 31, 32, 33, 37, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 80, 81, 82, 86, 90, 92, 94, 95, 97], "addition": [4, 24, 33, 41, 45, 47, 52, 55, 57, 83, 85, 90, 92, 95], "additional_bundle_fil": 93, "additional_bundle_files_hook": 92, "additional_command": 93, "additional_commands_hook": 92, "additional_exclud": 93, "additional_excludes_hook": 24, "additional_permissions_hook": 92, "additional_port_nam": 93, "additional_port_names_hook": 92, "additional_setup_paramet": 90, "additional_state_data": [11, 93], "additional_state_data_hook": 92, "additional_valid": 80, "additionalbaudr": [37, 79, 82], "additionalclass": [51, 79, 82], "additionalnam": 97, "additionalport": [37, 79, 82], "addprofileforslic": [62, 69], "addremoteus": [37, 79, 82], "address": [25, 32, 33, 37, 47, 48, 54, 57, 81, 82, 83, 90], "adher": [24, 41, 42, 45], "adjust": [33, 37, 48, 52, 70, 82, 83, 92, 93, 95, 96], "admin": [0, 2, 4, 13, 17, 19, 23, 31, 47, 48, 64, 71, 73, 74, 75, 92, 95], "admin_group": 92, "admin_onli": 95, "administr": [23, 42, 48, 90, 92, 95], "advanc": [52, 89, 90], "advent": 55, "advis": [4, 37, 81, 82, 92], "affect": [4, 32, 83, 96], "affero": 56, "after": [2, 3, 6, 9, 11, 24, 31, 33, 37, 39, 46, 47, 48, 52, 57, 61, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 93, 95, 96, 97], "after_backup": 93, "after_backup_hook": 24, "after_load": 80, "after_request": [83, 93], "after_request_handlers_hook": 92, "after_restor": 93, "after_restore_hook": 24, "afterprintcancel": [37, 52, 79, 82], "afterprintdon": [37, 52, 79, 82], "afterprinterconnect": [37, 52, 79, 82, 92], "afterprintpaus": [37, 52, 92], "afterprintresum": [79, 82], "aftertoolchang": [52, 79, 82], "afterward": 92, "again": [21, 33, 37, 40, 48, 55, 70, 78, 81, 82, 86, 87, 90, 95, 96], "against": [2, 3, 4, 11, 13, 14, 16, 33, 34, 37, 51, 57, 74, 78, 80, 81, 82, 83, 86, 88, 92, 95, 96], "agent": 95, "agnost": 42, "agplv3": 90, "aim": 96, "ain": 96, "ajax": [4, 37, 57, 62, 82], "ajaxwithdata": [57, 62], "aka": [37, 40], "alarm": 4, "albeit": 83, "alert": [47, 95], "alex": 29, "alia": 78, "all": [2, 4, 5, 7, 9, 11, 13, 16, 17, 19, 23, 25, 29, 31, 32, 33, 34, 37, 40, 41, 42, 43, 46, 47, 48, 51, 52, 54, 55, 57, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "all_asset": 95, "all_profil": [79, 85], "allow": [4, 6, 9, 10, 11, 14, 17, 20, 21, 22, 23, 24, 25, 32, 33, 37, 40, 42, 45, 46, 48, 49, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 84, 86, 89, 90, 92, 95, 96, 97], "allow_client_cach": 83, "allow_create_dir": 17, "allow_fallback": 84, "allow_from_autoenv": 77, "allow_overwrit": [78, 85, 92, 95], "allow_root": 77, "allowcrossorigin": [4, 37, 79, 82], "allowed_path": 83, "allowedloginredirectpath": [79, 82], "allowfram": [37, 79, 82], "allviewmodel": 97, "almost": 48, "alon": [48, 95], "along": [3, 78], "alongsid": 33, "alphabet": 95, "alpn": 83, "alreadi": [0, 1, 2, 3, 6, 10, 11, 14, 19, 21, 24, 33, 37, 42, 55, 57, 61, 63, 78, 80, 81, 82, 83, 84, 85, 88, 90, 92, 95, 96, 97], "already_defin": 92, "also": [0, 3, 4, 9, 11, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 58, 61, 62, 66, 70, 72, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "altern": [11, 23, 24, 51, 82, 90, 92, 95, 97], "although": 80, "altogeth": 95, "alwai": [1, 2, 3, 4, 10, 14, 21, 32, 33, 37, 41, 47, 49, 50, 51, 55, 57, 79, 80, 81, 82, 83, 87, 90, 92, 95, 96], "always_curr": 33, "alwaysdetectneverenum": [79, 82], "alwayssendchecksum": [37, 79, 82], "ambient": 46, "ambienttemperatur": 46, "amd": 57, "among": [4, 10, 37, 77, 81, 82, 86, 92, 94, 95], "amount": [3, 9, 31, 33, 39, 66, 81, 86, 90], "an": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 15, 17, 19, 21, 22, 24, 26, 29, 31, 32, 33, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 62, 66, 67, 72, 73, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "analogu": 92, "analys": [78, 92], "analysi": [38, 47, 56, 70, 79, 82, 85, 93, 94, 95], "analysis_backlog": [78, 79], "analysis_queu": 92, "analysis_queue_factory_hook": 92, "analysisabort": [78, 79], "analysisqueu": [78, 79, 80, 92, 94], "analyz": [78, 94], "and_a_subfold": 3, "android": 95, "anew": 81, "ani": [0, 2, 3, 4, 6, 9, 11, 13, 14, 15, 17, 23, 24, 26, 33, 37, 40, 41, 42, 45, 47, 48, 49, 50, 51, 52, 54, 55, 57, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "anim": [37, 82], "annot": 92, "announc": [13, 30, 56], "annoyingli": 96, "anonym": [4, 30, 33, 48, 56, 83, 95], "anonymousus": [76, 79], "anoth": [4, 21, 33, 37, 40, 42, 48, 61, 78, 82, 83, 85, 86, 90, 92, 95], "anotherkei": 40, "anotherorderedhook": 92, "anotherplugin": 96, "ansi": 86, "anyhow": 96, "anymor": [3, 9, 55, 90, 92], "anyth": [11, 23, 26, 29, 37, 41, 57, 66, 82, 83, 84, 88, 90, 92, 95], "anywai": 14, "anywher": 2, "apach": [37, 82], "apart": [78, 90], "api": [1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 24, 25, 30, 33, 38, 45, 47, 50, 54, 56, 57, 60, 61, 62, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 79, 82, 83, 88, 93, 95, 96, 97], "api_endpoint": 92, "api_kei": 23, "api_password": 33, "api_us": 33, "apiconfig": [79, 82], "apikei": [0, 2, 4, 11, 13, 57, 58, 62, 70, 76, 83, 92], "apikey1": 62, "apikey2": 62, "apius": [76, 79], "app": [4, 23, 33, 37, 42, 62, 79, 82, 83, 97], "app_id": 23, "app_token": 23, "appar": 55, "appdata": [37, 39, 51, 52, 54, 55, 84, 89], "appear": [13, 22, 38, 77, 79, 82, 86, 89, 90, 95, 97], "appearanceconfig": [79, 82], "appearanceviewmodel": 97, "append": [9, 36, 37, 57, 83, 90, 92, 95], "append_valu": 36, "appkei": [23, 82, 95], "appli": [2, 9, 14, 15, 33, 51, 55, 57, 81, 82, 83, 85, 86, 87, 88, 92, 95, 96], "applic": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 30, 31, 37, 39, 42, 51, 52, 54, 55, 56, 57, 62, 82, 83, 84, 88, 89, 90, 92, 95, 96, 97], "approach": [6, 37, 57, 81, 82, 92, 97], "appropri": 95, "approxim": [2, 48], "apt": 42, "ar": [1, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 22, 23, 24, 26, 31, 33, 34, 37, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 62, 65, 70, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "arbitrari": [5, 47, 60, 80, 92, 95], "architectur": 57, "archiv": [32, 33, 54, 90], "area": [2, 10, 46, 78], "aren": [51, 52], "arg": [24, 32, 33, 36, 42, 77, 78, 80, 81, 83, 84, 85, 86, 88, 90, 92, 95], "argument": [9, 23, 24, 31, 32, 33, 37, 42, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 83, 85, 86, 90, 92, 95], "around": [33, 37, 51, 81, 82, 90, 95], "arrai": [2, 3, 9, 10, 17, 31, 40, 66, 96, 97], "articl": 90, "artifact": 42, "as_attach": [83, 92], "as_dict": 76, "ascend": 80, "ascii": [2, 37, 82, 86], "asctim": 39, "asdict": [76, 79, 80], "ask": [23, 82], "aspect": [48, 82], "assembl": 62, "assert": [95, 96], "assertionerror": 86, "asset": [37, 62, 82, 90, 94, 95], "asset_plugin": 95, "asset_url": 62, "assetplugin": [90, 93], "assign": [0, 2, 4, 33, 48, 57, 61, 92], "associ": [9, 10, 11, 21, 23, 25, 31, 33, 37, 40, 57, 61, 78, 81, 82, 83, 86, 92, 94, 95, 97], "assum": [3, 37, 42, 49, 82, 83, 85, 90, 92, 96], "ast": 80, "async": [15, 37, 83, 92], "async_": [79, 82], "asynchron": [3, 9, 15, 82, 83, 85, 92, 95, 97], "asynchttpcli": 83, "at_end": [80, 84], "atcommand": [50, 93], "atom": 22, "attach": [11, 23, 37, 52, 77, 81, 82, 83, 87, 92, 95], "attachment_nam": 83, "attack": 4, "attempt": [1, 4, 9, 17, 24, 37, 47, 55, 70, 80, 81, 82, 88, 92, 97], "attent": 96, "attr": [77, 90], "attr_author": 80, "attr_check": 80, "attr_descript": 80, "attr_dis": 80, "attr_disabling_discourag": 80, "attr_en": 80, "attr_help": 80, "attr_hook": 80, "attr_implement": 80, "attr_licens": 80, "attr_load": 80, "attr_privacypolici": 80, "attr_pythoncompat": 80, "attr_unload": 80, "attr_url": 80, "attr_vers": 80, "attribut": [4, 9, 39, 51, 57, 78, 80, 82, 83, 85, 88, 90, 92, 95], "auth": [4, 11, 25, 30, 47, 62, 82, 93], "auth_dialog": 23, "authent": [4, 9, 11, 23, 33, 37, 47, 48, 57, 58, 82, 92, 95], "author": [5, 7, 13, 37, 62, 79, 80, 82, 83, 88, 90, 92, 96], "auto": [1, 24, 26, 29, 34, 37, 42, 48, 81, 82, 92], "autoconnect": [1, 37, 59, 79, 81, 82], "autodetect": [1, 24, 37, 47, 82, 92], "autogener": 25, "autologin": [53, 82], "autologina": [37, 48, 79, 82], "autologinheadsupacknowledg": [79, 82], "autologinloc": [37, 48, 79, 82], "automat": [1, 3, 9, 23, 24, 33, 37, 41, 45, 48, 52, 57, 82, 85, 89, 90, 92, 95, 96], "autorefresh": [79, 82], "autorefreshinterv": [79, 82], "autoreport": [37, 82], "autoreport_po": [46, 79, 82], "autoreport_sd_statu": 46, "autoreport_sdstatu": [79, 82], "autoreport_temp": [37, 46, 79, 82], "autouppercaseblacklist": [37, 79, 82], "avahi": 25, "avail": [0, 1, 2, 3, 4, 6, 9, 10, 11, 13, 14, 15, 22, 23, 24, 25, 32, 33, 37, 42, 46, 51, 52, 53, 54, 56, 57, 59, 62, 64, 66, 69, 77, 80, 81, 82, 83, 85, 86, 88, 89, 90, 91, 93, 94, 97], "averag": [2, 37, 82], "averageprinttim": 2, "avoid": [33, 42, 48, 92, 96], "awai": [81, 84, 87], "awar": [83, 87, 92], "awesom": [23, 90, 92, 95], "awesometempl": 92, "awk": 48, "ax": [9, 10, 51, 66, 81], "axi": [9, 10, 11, 51, 66, 78, 81], "b": [3, 42, 46, 52, 80, 82, 86, 92, 95, 97], "b6x": 3, "babel": 90, "back": [3, 21, 23, 24, 29, 35, 41, 42, 46, 47, 48, 51, 52, 70, 80, 83, 90, 95, 96], "backend": [9, 83, 90, 92, 95], "background": [3, 11, 90, 96], "backslash": 40, "backup": [30, 39, 48, 56, 79, 84, 93, 96], "backupcount": 39, "backupexcludetestplugin": 24, "backupplugin": 24, "backward": [6, 13, 41, 45, 47, 57, 77, 86, 95, 96], "bad": [0, 1, 3, 7, 9, 10, 15, 23, 74, 95], "band": 82, "bandwidth": [3, 83], "bar": [10, 24, 37, 57, 82, 86, 90, 95, 97], "base": [2, 4, 9, 10, 11, 16, 21, 23, 24, 29, 33, 37, 40, 42, 45, 47, 49, 51, 57, 61, 62, 67, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 94, 95, 96, 97], "base64": [17, 74], "basedir": [77, 84], "basedon": [10, 67], "basefold": [78, 80, 95], "basemodel": [79, 82], "basenam": [83, 92], "baseurl": [37, 57, 58, 62, 70], "bash": 42, "basic": [3, 4, 11, 23, 25, 36, 37, 38, 48, 51, 52, 77, 78, 82, 83, 84, 86, 89, 90, 95, 96], "bat": 96, "batch": 82, "baud": [37, 47, 82], "baudrat": [1, 13, 37, 47, 59, 79, 81, 82, 84, 92], "baudratedetectionpaus": [79, 82], "baudrateopt": 13, "baudrateprefer": [1, 81], "bclpr": [37, 82], "bcml": 3, "bearer": 4, "becam": [55, 86], "becaus": [37, 40, 62, 82, 83, 95], "becom": [37, 56, 57, 62, 82, 86, 90, 97], "bed": [2, 3, 5, 10, 37, 46, 52, 66, 79, 81, 82, 85, 92, 95], "bedformfactor": [79, 81], "bedlevelvisu": 32, "bedorigin": [79, 81], "bedz": [79, 82], "been": [2, 3, 6, 9, 11, 17, 19, 21, 23, 26, 29, 34, 35, 47, 48, 49, 50, 52, 55, 57, 66, 70, 75, 78, 80, 83, 84, 85, 86, 90, 92, 95, 96, 97], "befor": [3, 11, 15, 24, 37, 42, 44, 46, 52, 55, 57, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "before_backup": 93, "before_backup_hook": 24, "before_import": 80, "before_load": 80, "before_request": [83, 93], "before_request_handlers_hook": 92, "before_restor": 93, "before_restore_hook": 24, "beforeprinterdisconnect": [52, 79, 82], "beforeprintpaus": [79, 82], "beforeprintresum": [37, 52], "beforeprintstart": [37, 52, 79, 82, 92], "beforetoolchang": [52, 79, 82], "begin": [2, 6, 37, 46, 82, 83, 90, 92], "behalf": [23, 92], "behav": [95, 96], "behavior": 46, "behaviour": [6, 11, 37, 39, 46, 48, 51, 52, 57, 82, 90, 92, 95, 96], "behind": [36, 37, 82, 90, 92], "being": [2, 3, 9, 10, 11, 16, 31, 33, 37, 39, 40, 41, 42, 47, 48, 51, 57, 66, 73, 78, 80, 81, 83, 85, 86, 90, 92, 95], "belong": [23, 33, 85, 90, 95], "below": [9, 11, 13, 16, 25, 33, 37, 39, 42, 47, 48, 51, 52, 57, 70, 74, 89, 92, 95, 97], "benchi": 48, "beneath": [92, 95], "benefit": 48, "besid": [9, 89, 90], "best": [24, 81, 90, 92, 96], "beta": [13, 89], "better": [34, 37, 40, 90], "between": [2, 9, 11, 16, 21, 33, 37, 42, 48, 70, 81, 82, 84, 85, 86, 90, 92, 95, 96], "big": [41, 95], "bigger": 90, "biggest": 96, "bin": [42, 54, 55, 89, 90, 96], "binari": [37, 42, 57, 82, 90, 95, 96], "bind": [37, 82, 90, 95, 97], "bit": [33, 37, 40, 48, 90, 96], "bitbucket": 33, "bitbucket_commit": 33, "bitbucket_password": 33, "bitbucket_us": 33, "bitrat": [37, 79, 82], "black": [10, 13, 42], "blacklist": [17, 37, 79, 80, 82, 86], "blacklistedbaudr": [79, 82], "blacklistedport": [79, 82], "blame": 42, "bleed": [33, 41], "blindli": [83, 95, 96], "block": [9, 33, 37, 46, 55, 81, 82, 83, 86, 90, 91, 92, 95], "blockedcommand": [37, 79, 82], "blockwhiledwel": [37, 79, 82], "blown": [23, 51, 52, 82], "blue": [10, 37, 79, 82], "blueprint": [57, 83, 92, 95], "blueprintplugin": [57, 92, 93], "bodi": [0, 3, 4, 6, 7, 9, 10, 13, 14, 16, 17, 19, 23, 57, 61, 83, 92, 95], "body_method": [79, 83], "bodys": 93, "bodysize_hook": 92, "bodysizeplugin": 92, "boil": 95, "bold": 95, "bom": 86, "bonjour": 25, "book": 96, "bool": [0, 2, 15, 16, 17, 19, 24, 36, 55, 58, 73, 77, 78, 80, 81, 82, 83, 85, 86, 92, 95], "boolean": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 23, 61, 66, 78, 80, 81, 83, 84, 85, 86, 92, 95], "border": 90, "both": [3, 4, 9, 10, 33, 37, 45, 48, 51, 71, 78, 80, 85, 86, 90, 92, 95, 96], "bottom": [51, 82, 86], "bottom_layer_spe": 14, "bottom_thick": 14, "bound": [2, 10, 78, 81, 90, 95, 97], "boundari": [3, 81], "box": [2, 3, 10, 33, 48, 49, 50, 52, 78, 81, 95, 96], "bracket": 40, "branch": [11, 33, 43, 45, 54, 56, 89, 95], "break": [40, 41, 45, 48, 95], "brew": 42, "brim_line_count": 14, "broader": 17, "broken": 46, "brokenm29": 46, "brows": [25, 42, 91], "browse_result": 91, "browser": [4, 11, 23, 25, 26, 31, 32, 37, 56, 62, 64, 70, 71, 73, 74, 75, 82, 83, 90, 95], "browsing_en": 91, "btn": [51, 82, 90], "btw": 96, "bu": [92, 94, 95], "buffer": [46, 83], "buffer_s": 86, "bug": [4, 9, 26, 41, 42, 45, 54, 55], "bug_report": 90, "bugbear": 42, "bugfix": 41, "buggi": [37, 82], "build": [37, 43, 52, 78, 90, 97], "build_don": [79, 83], "built": [11, 37, 47, 54, 55, 80, 83, 90, 92, 95, 96], "bulk_opt": [77, 79], "bunch": [87, 90, 94, 95], "bundl": [4, 8, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 42, 48, 49, 53, 54, 55, 56, 62, 65, 79, 80, 82, 83, 86, 87, 90, 92, 95, 97], "bundled_str": 80, "buon": 92, "busi": [3, 37, 46, 82], "bust": 82, "busy_protocol": [37, 79, 82], "button": [21, 32, 33, 49, 50, 51, 52, 82, 90, 97], "bypass": 48, "byte": [2, 3, 16, 17, 31, 37, 39, 46, 47, 57, 74, 78, 81, 82, 83, 86, 93, 95], "bytesio": 83, "c": [9, 42, 46, 66, 80, 86, 92, 95, 96, 97], "c3": 3, "cach": [3, 22, 32, 33, 37, 78, 79, 82, 83, 89, 90, 92, 94, 95], "cache_ttl": 33, "cachebust": [79, 82], "calcul": [2, 37, 82, 83, 86, 95, 96], "call": [3, 4, 9, 17, 19, 23, 24, 25, 28, 37, 47, 52, 57, 61, 70, 74, 78, 79, 80, 81, 83, 84, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "call_plugin": [79, 80], "callabl": [33, 77, 78, 80, 85, 86, 92, 95], "callback": [51, 78, 80, 81, 83, 84, 85, 86, 87, 92, 93, 95], "callback_arg": 85, "callback_kwarg": 85, "calle": 85, "caller": [86, 92], "camel_cas": 92, "camera": [92, 95], "can": [0, 2, 4, 7, 9, 10, 11, 13, 14, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 46, 47, 48, 49, 51, 52, 54, 56, 57, 62, 66, 70, 74, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "can_modify_fil": [79, 81], "cancel": [2, 3, 6, 9, 34, 37, 46, 47, 49, 50, 52, 62, 63, 81, 82, 85, 86, 90, 92, 95], "cancel_fanspe": 52, "cancel_posit": 52, "cancel_print": [79, 81], "cancel_sd": 46, "cancel_sl": [79, 85, 95], "cancel_temperatur": 52, "candid": [26, 29, 33, 34, 92], "cannot": [4, 22, 33, 37, 42, 48, 81, 92, 96, 97], "cannotstartserverexcept": [79, 83], "canon": [57, 86], "canonic": [78, 79], "cansnapshot": [79, 82], "cap": 11, "capability_report": 93, "capabl": [37, 46, 79, 82, 93], "capit": 52, "capitan": 42, "captur": [37, 47, 82, 93], "capture_post_hook": 92, "capture_pre_hook": 92, "capturedon": 47, "capturefail": 47, "capturepostrol": [37, 79, 82], "capturestart": 47, "card": [2, 3, 9, 37, 46, 49, 66, 81, 82, 92], "care": [4, 9, 33, 37, 40, 48, 57, 62, 78, 80, 81, 82, 83, 84, 90, 92, 95], "carri": 47, "case": [1, 2, 4, 6, 9, 11, 17, 21, 23, 33, 37, 45, 47, 48, 49, 52, 55, 57, 61, 66, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "caseinsensitiveset": [79, 84, 86], "catch": 81, "categori": 92, "caught": [47, 80], "caus": [4, 26, 37, 42, 46, 47, 52, 54, 55, 80, 81, 82, 83, 90, 92, 95, 96, 97], "caution": [37, 48, 82], "ccm": 81, "cd": [42, 90], "celsiu": [52, 81], "center": [3, 10, 79, 81, 85, 95], "center_i": 51, "center_x": 51, "central": [48, 80], "certain": [11, 37, 46, 80, 88, 92, 95, 97], "certainli": [48, 90], "certif": [82, 83], "cfg": 90, "chamber": [5, 10, 46, 66, 81], "chang": [1, 3, 4, 5, 9, 11, 13, 14, 22, 29, 33, 35, 37, 38, 41, 42, 45, 47, 48, 49, 51, 52, 55, 56, 57, 73, 80, 81, 82, 83, 84, 86, 88, 90, 92, 95, 96, 97], "change_tool": [79, 81], "changeabl": 2, "changelog": [13, 82], "changepassword": [62, 73], "channel": [22, 26, 33, 41, 89], "channel_ord": 22, "chapter": 96, "charact": [2, 4, 22, 37, 40, 78, 82, 86, 97], "charset": [4, 83], "chart": 47, "chartmark": 47, "cheat": 96, "cheatsheet": 4, "check": [0, 4, 13, 17, 23, 30, 34, 37, 42, 48, 56, 74, 78, 79, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96], "check_access": [17, 74], "check_config": [88, 93], "check_lastmodifi": [79, 83], "check_origin": 83, "check_overlay_ttl": 33, "check_overlay_url": 33, "check_typ": [17, 74], "check_writ": 84, "check_writable_dir": 17, "checkbasefold": [79, 84], "checkbasicauthenticationpassword": [37, 79, 82], "checkbox": 4, "checkdecis": 23, "checked_cal": [79, 86], "checker": [33, 94], "checklist": 93, "checkout": [33, 42, 90], "checkout_fold": 33, "checksum": [37, 46, 82], "checksum_mismatch": 46, "checksumrequiringcommand": [37, 79, 82], "checktyp": 17, "child": [61, 78, 86], "children": [2, 3, 37, 51, 61, 78, 79, 82], "choic": [21, 39], "choos": 21, "chosen": [6, 40], "chromestatu": [37, 82], "chunk": [79, 83, 86], "ci": 41, "cidr": [17, 37, 82], "circular": [10, 79, 81, 97], "circumst": [4, 24, 92], "circumv": 87, "class": [24, 39, 51, 57, 62, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 94, 95, 97], "classes_cont": 95, "classes_link": 95, "classes_wrapp": 95, "classic": 82, "classicwebcam": 95, "classmethod": [81, 83, 95], "claus": 24, "clean": [42, 86, 88, 95], "clean_ansi": [79, 86], "clean_on_startup": [37, 79, 82], "cleanedprinttim": 92, "cleaner": 90, "cleanli": 95, "cleantmpafterdai": [37, 79, 82], "cleanup": 83, "clear": [20, 49, 90, 92], "clearer": 40, "cli": [24, 38, 56, 79, 93], "cli_commands_hook": 92, "cli_group": 92, "click": [21, 25, 32, 33, 42, 49, 50, 51, 52, 77, 82, 90, 92, 97], "client": [3, 4, 8, 9, 11, 17, 25, 30, 37, 47, 56, 57, 58, 65, 66, 70, 80, 82, 83, 92, 95, 97], "client1": 62, "client2": 62, "client_error": 17, "clientauth": 47, "clientclass": 57, "clientclos": 47, "clientj": 95, "clientopen": 47, "clitest_command": 92, "clockwis": [37, 82], "clone": [42, 90], "close": [21, 47, 52, 78, 79, 81, 86, 90, 92, 97], "close_exec": 86, "close_fd": [79, 86], "closed_with_error": 81, "closedorerror": [2, 9, 81], "closemodalswithclick": [79, 82], "closer": 51, "cloud": 95, "cloudflar": 82, "clumsi": 6, "cmd": [42, 88, 92], "cmd_name": 77, "cmd_type": [88, 92], "cm\u00b3": [2, 78], "code": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 30, 37, 41, 43, 45, 47, 74, 78, 80, 81, 83, 85, 86, 89, 90, 92, 95, 96, 97], "code_or_except": 95, "codeactionsonsav": 42, "codec": [37, 82], "collect": [10, 40, 77, 90, 95, 96, 97], "colon": 40, "color": [10, 13, 37, 39, 79, 81, 82, 95, 97], "colorenum": [79, 82], "coloricon": [79, 82], "colortranspar": [37, 79, 82], "com": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 31, 32, 33, 37, 42, 54, 58, 62, 70, 74, 82, 83, 86, 90, 95], "combin": [24, 48, 83, 92, 95], "come": [20, 21, 22, 23, 24, 25, 32, 33, 40, 46, 90, 95, 96, 97], "comm": [49, 50, 88, 93], "comm_error_handler_test": 92, "comm_inst": [88, 92], "comma": [9, 66], "command": [2, 5, 11, 13, 14, 17, 25, 30, 36, 37, 39, 42, 43, 47, 48, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 66, 71, 74, 77, 79, 81, 82, 86, 87, 88, 90, 93, 95], "command1": 95, "command2": 95, "command_lin": 33, "command_phas": 92, "commandbuff": 46, "commandlin": [42, 56, 79], "commandlinecal": [79, 86], "commandlineerror": [79, 86], "commandsconfig": [79, 82], "commandsuppress": 47, "comment": [40, 49, 92], "commentstripp": 92, "commerror": 34, "commit": [33, 41, 42, 45], "commitish": 33, "common": [5, 40, 48, 52, 56, 80, 91, 93], "commonli": 86, "commun": [1, 9, 11, 13, 30, 34, 35, 37, 39, 42, 46, 49, 56, 62, 79, 81, 82, 84, 92], "communicationbusi": [37, 79, 82], "compact": 90, "compar": [33, 83, 86, 92, 96], "comparison": 33, "compat": [6, 37, 45, 47, 57, 77, 79, 80, 82, 86, 88, 92, 95, 96], "compatibility_entri": 86, "compatibility_ignored_list": 80, "compens": [37, 82], "compil": [37, 81, 82, 90], "complet": [2, 3, 6, 7, 11, 14, 23, 34, 37, 40, 46, 47, 52, 57, 61, 78, 81, 82, 83, 87, 92, 95, 97], "complex": [40, 51, 90], "complianc": 26, "complic": [21, 90], "compon": [9, 13, 33, 37, 39, 42, 48, 57, 62, 77, 79, 80, 81, 82, 92, 93, 95, 97], "componentconfig": [79, 82], "componentdisabledconfig": [79, 82], "componentorderconfig": [79, 82], "comprehens": 96, "comprehensive_json": 86, "compress": [83, 86], "compromis": 48, "comput": [83, 97], "computation": 92, "compute_etag": [79, 83], "concaten": [77, 78, 80, 97], "concept": [45, 56, 84, 93], "concern": [37, 45], "concurr": [57, 86], "condit": [46, 86], "config": [4, 5, 9, 11, 13, 15, 20, 21, 22, 24, 25, 32, 33, 35, 36, 38, 42, 46, 47, 51, 54, 55, 56, 72, 79, 80, 83, 84, 88, 90, 92, 95, 96, 97], "config_hash": [11, 79, 84], "config_version_kei": 95, "config_yaml": [79, 84], "configfil": [77, 84], "configur": [1, 2, 4, 8, 9, 10, 11, 13, 14, 15, 30, 31, 37, 39, 40, 42, 43, 49, 51, 52, 54, 55, 56, 65, 67, 70, 71, 72, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 95, 97], "configured_slic": [79, 85], "confirm": [15, 23, 37, 51, 79, 82, 92, 97], "confirmation_prompt": 77, "conflict": [0, 3, 6, 9, 10], "confus": [4, 40, 90, 96], "congratul": 90, "conjunct": 95, "conn": 83, "connect": [2, 5, 6, 9, 10, 13, 17, 34, 35, 37, 46, 47, 48, 49, 52, 56, 62, 70, 79, 81, 82, 83, 84, 88, 92, 94, 95, 97], "connection_str": 81, "connection_timeout": 92, "connectionviewmodel": 97, "connectivitychang": 47, "connectivitycheck": [80, 94], "consecut": [3, 37, 40, 70, 78, 80, 82, 84, 95], "consequ": [9, 47], "consid": [2, 9, 17, 23, 27, 28, 32, 37, 41, 48, 55, 56, 78, 80, 82, 83, 84, 86, 92, 95, 97], "consist": [11, 23, 37, 40, 52, 57, 70, 78, 84, 92, 95, 97], "consol": [23, 39, 44, 57, 61, 90, 92, 95, 97], "console_log": 92, "const": 70, "construct": [4, 25, 78, 80, 84, 92, 95, 97], "constructor": [57, 62, 70, 78, 83, 86, 90, 96, 97], "consum": [37, 56, 92], "consumpt": [11, 14, 89], "contain": [0, 2, 3, 4, 7, 9, 11, 12, 13, 14, 15, 18, 19, 25, 32, 33, 37, 40, 41, 42, 45, 47, 52, 57, 60, 61, 72, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96, 97], "containerconfig": [79, 82], "containerformat": 82, "content": [5, 12, 15, 17, 18, 23, 31, 42, 44, 57, 61, 74, 78, 83, 90, 92, 95, 96], "content_typ": [78, 79, 83, 92], "content_type_blacklist": 17, "content_type_whitelist": 17, "contenttyp": 57, "contenttypedetector": [78, 79], "contenttypemap": [78, 79], "context": [4, 9, 37, 51, 53, 60, 77, 80, 81, 82, 83, 84, 92, 95], "contextmanag": 81, "continu": [16, 23, 37, 41, 48, 81, 82, 86, 92, 95], "contract": [45, 92], "contrari": [50, 57], "contribut": [4, 43], "control": [4, 5, 10, 13, 15, 21, 38, 47, 49, 52, 53, 56, 62, 79, 80, 81, 82, 83, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97], "controlconfig": [79, 82], "controlinputconfig": [79, 82], "controlsliderinputconfig": [79, 82], "controlviewmodel": [51, 82, 97], "convei": [37, 82], "conveni": [23, 80, 84, 90], "convent": 90, "convers": [80, 84, 96], "convert": [40, 78, 80, 81, 83, 86, 96], "conveyor": 47, "cooki": [4, 37, 57, 58, 79, 82, 83, 97], "cookiecutt": [89, 90], "cookiesconfig": [79, 82], "cool": [10, 47, 51], "cool_head_lift": 14, "cool_min_feedr": 14, "cool_min_layer_tim": 14, "coordin": [2, 3, 9, 10, 47, 52, 78, 81, 85], "copi": [3, 23, 32, 37, 47, 54, 61, 62, 78, 79, 82, 83, 86, 89, 90, 92, 95], "copy_fil": [78, 79], "copy_fold": [78, 79], "cor": [4, 83, 92], "core": [4, 7, 13, 15, 31, 37, 56, 71, 79, 82, 84, 88, 90, 92, 94, 95, 97], "corner": [32, 33, 81, 90], "coroutin": 83, "correct": [9, 17, 37, 41, 57, 62, 77, 78, 80, 82, 95, 96], "correctli": [33, 37, 48, 52, 55, 82], "correspond": [4, 9, 33, 37, 47, 49, 52, 57, 60, 73, 78, 80, 81, 83, 86, 92, 95, 96], "correspondingli": 87, "corruptuserstorag": [76, 79], "corsrequesthandl": [79, 83], "corsresponsehandl": [79, 83], "corssupportmixin": [79, 83, 92], "could": [3, 15, 17, 37, 39, 40, 47, 52, 61, 80, 81, 82, 84, 85, 86, 90, 92, 96], "couldnotdeleteprofil": 85, "couldnotoverwriteerror": [79, 81], "count": [2, 10, 14, 37, 52, 77, 79, 81, 82, 86, 90, 95], "countdown": 33, "counter": [37, 82, 86], "counterpart": 83, "coupl": [37, 41, 70, 90], "cours": [90, 92, 95], "cover": 66, "cp": 48, "cpu": 95, "creat": [4, 5, 10, 11, 14, 17, 23, 24, 32, 33, 37, 39, 40, 42, 46, 47, 48, 51, 52, 55, 57, 61, 77, 78, 80, 82, 83, 84, 85, 88, 89, 90, 92, 94, 95, 96], "create_backup_help": 24, "create_estimator_factori": 92, "create_plugin_setup_paramet": 90, "createcustomexcept": [57, 62], "createfold": [61, 62], "createrejecteddef": [57, 62], "creation": [3, 16, 17, 24, 49, 61, 83, 85], "credenti": [0, 4, 23, 58, 83, 95], "crf": 83, "criteria": [74, 92], "critic": [37, 47, 79, 82], "cronjob": 24, "cross": [5, 37, 57, 82, 83], "csrf": [5, 57, 82, 83, 95], "csrf_exempt": 95, "csrf_token": 4, "csrf_token_p": 4, "csrfrequesthandl": [79, 83], "csrfresponsehandl": [79, 83], "css": [37, 42, 79, 82, 92, 93, 95], "ctrl": 42, "ctx": [77, 83, 92], "culprit": 55, "cura": [3, 13, 14], "curaengin": 90, "curalegaci": [13, 14, 37], "curios": 90, "curl": 42, "current": [0, 1, 2, 3, 5, 10, 14, 15, 17, 22, 23, 24, 31, 32, 33, 37, 41, 42, 46, 47, 49, 50, 51, 52, 54, 56, 57, 61, 63, 66, 68, 70, 72, 73, 74, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 95, 96, 97], "current_max_body_s": 92, "current_o": 86, "current_ord": 92, "current_rul": 92, "current_vers": 33, "currenturl": 90, "currentus": 4, "currentz": [11, 81], "custom": [4, 5, 10, 15, 32, 33, 37, 41, 42, 45, 46, 47, 52, 53, 54, 56, 57, 60, 70, 71, 77, 80, 81, 82, 83, 86, 88, 92, 93, 95], "custom_action_command": 92, "custom_action_handl": 92, "custom_add_entri": 92, "custom_add_ord": 92, "custom_append": 92, "custom_atcommand_handl": 92, "custom_bind": [90, 95], "custom_box": [10, 81], "custom_cli_command": 92, "custom_command": 50, "custom_gcode_analysis_queu": 92, "custom_keyvalid": 92, "custom_prepend": 92, "custom_template_consum": 92, "custom_template_consumer_awesometempl": 92, "custom_template_provid": 92, "custom_template_provider_set": 92, "customactioncommandplugin": 92, "customhttp1connect": [79, 83], "customhttp1connectionparamet": [79, 83], "customhttp1serverconnect": [79, 83], "customhttpserv": [79, 83], "customis": 48, "customiz": 80, "customprinttimeestim": 92, "customtemplatetypeconsum": 92, "customtemplatetypeprovid": 92, "cut": [52, 82, 83], "cutoff": [79, 82], "cwd": 42, "cycl": [27, 28, 47, 52], "d": [37, 39, 47, 51, 81, 82, 86, 90, 95], "daemon": [77, 86, 92], "daemon_opt": [77, 79], "dai": [37, 82], "danc": 51, "danger": [2, 37, 51, 82, 92], "darwin": 86, "dash": 40, "dat": 57, "data": [5, 24, 30, 33, 37, 38, 46, 47, 51, 52, 56, 57, 58, 59, 61, 66, 67, 69, 70, 74, 75, 78, 79, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 96, 97], "data_bind": 95, "data_fold": 95, "data_receiv": [79, 83], "databas": 83, "datapoint": 9, "datatyp": 57, "date": [2, 3, 6, 11, 16, 31, 33, 47, 61, 78, 81, 83, 85, 90, 95, 96, 97], "datetim": [83, 86, 95], "dd": 86, "de": [7, 87, 90], "deactiv": [0, 4], "dead": [37, 82], "deauthent": 92, "debian": 42, "debug": [33, 37, 39, 42, 43, 44, 49, 56, 57, 77, 79, 80, 82, 92, 95, 96], "debugg": 42, "decid": [81, 89, 90, 95], "decim": 86, "decis": [82, 95, 96], "declar": [33, 77, 80, 87, 91, 92, 95, 97], "decod": [4, 17, 78, 86, 92], "decoded_lin": 92, "decompress": 86, "decor": [77, 83, 86, 95], "decreas": [37, 70, 82], "decreaser": [62, 70], "dedic": [6, 23, 48], "deem": 39, "deep": 86, "deep_check_writ": 84, "deeper": [81, 90], "def": [24, 32, 33, 80, 86, 88, 90, 91, 92, 95], "defatul": 78, "default": [0, 1, 2, 3, 6, 10, 11, 14, 17, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 37, 39, 42, 46, 47, 48, 49, 51, 52, 57, 61, 66, 70, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 95, 96, 97], "default_addit": 95, "default_factori": 86, "default_filenam": 83, "default_group": [2, 92], "default_max_body_s": 83, "default_set": [79, 84], "default_slic": [79, 85], "default_template_filt": 95, "default_timeout": 83, "defaultextrusionlength": [10, 81], "defaultinterpreterpath": 42, "defaultlanguag": [37, 79, 82], "defaultordereddict": [79, 86], "defaultprofil": [37, 79, 82], "defaultreauthenticationtimeout": [37, 79, 82], "defaultslic": [37, 79, 82], "defaultwebcam": [79, 82], "defer": 57, "defin": [4, 9, 10, 11, 15, 21, 32, 33, 37, 39, 40, 46, 47, 49, 51, 52, 57, 60, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 92, 95, 97], "definit": [9, 17, 21, 33, 37, 51, 52, 73, 82, 92, 95, 97], "deflat": 83, "degc": 81, "degre": 52, "delet": [2, 5, 10, 17, 23, 24, 37, 41, 47, 57, 61, 62, 64, 67, 69, 72, 73, 78, 79, 81, 82, 83, 85, 90], "delete_backup_help": 24, "delete_cooki": [79, 83], "delete_profil": [79, 85], "deleteapikei": [79, 84], "deletelog": 31, "deleteprofileforslic": [62, 69], "deleteunrend": [62, 72], "delimit": 86, "delimitercaptur": [79, 86], "deliv": [92, 95], "deliveri": [83, 92], "delta": 90, "demand": [95, 97], "demonstr": [92, 95], "deni": [4, 23, 48], "denot": 92, "depend": [1, 2, 3, 9, 15, 32, 37, 42, 44, 45, 47, 52, 57, 62, 77, 80, 81, 82, 83, 85, 88, 89, 90, 92, 93, 95, 96], "dependency_link": [32, 90], "depict": 95, "deprec": [2, 8, 23, 37, 47, 57, 65, 76, 79, 80, 81, 82, 83, 84, 86, 92, 97], "deprecatedendpointhandl": [79, 83, 92], "depth": [2, 10, 51, 61, 78, 81, 96], "deriv": [78, 83, 85, 86, 97], "describ": [7, 10, 11, 33, 42, 48, 52, 57, 62, 78, 80, 82, 85, 90, 92, 95], "descript": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 22, 23, 25, 31, 33, 51, 52, 57, 78, 79, 80, 81, 83, 85, 88, 90, 92, 95, 96], "deseri": [79, 86], "design": [52, 90], "desir": [37, 42, 49, 92], "desktop": [90, 95], "dest_loc": 11, "dest_path": [11, 85], "destin": [3, 11, 56, 61, 79, 85, 95], "destination_extens": 95, "destination_loc": 95, "destination_nam": 47, "destination_path": [47, 95], "destination_typ": 47, "detach": 83, "detail": [4, 13, 16, 19, 23, 25, 26, 31, 33, 34, 35, 52, 57, 59, 60, 61, 63, 64, 66, 70, 90, 92, 95, 97], "detect": [1, 4, 9, 11, 13, 16, 17, 21, 26, 33, 34, 37, 46, 79, 80, 81, 82, 90, 92, 95, 97], "detect_baudr": 81, "detect_machine_typ": 92, "detect_seri": 81, "detectionconsecut": [79, 82], "detectionfirst": [79, 82], "detector": [78, 79], "determin": [11, 18, 33, 37, 45, 51, 70, 78, 80, 81, 82, 83, 86, 95], "deutsch": 7, "dev": [1, 37, 41, 42, 56, 79, 84, 90], "dev114": 41, "dev12": 41, "dev123": 41, "dev3": 41, "dev68": 45, "devel": [33, 37, 41, 42, 79, 82, 90], "develcacheconfig": [79, 82], "develconfig": [79, 82], "develop": [11, 13, 14, 33, 34, 35, 38, 41, 44, 53, 56, 77, 80, 81, 82, 89, 90, 92, 95, 96], "develwebassetsconfig": [79, 82], "deviat": 37, "devic": [14, 25, 37, 48, 95], "diagnos": 54, "diagram": 93, "dialog": [4, 15, 19, 20, 21, 22, 24, 30, 31, 32, 33, 37, 48, 49, 51, 75, 82, 90, 93, 95, 97], "diamet": [3, 10, 52, 78, 81], "dict": [11, 33, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95], "dict_clean": [79, 86], "dict_contains_kei": [79, 86], "dict_filt": [79, 86], "dict_flatten": [79, 86], "dict_merg": [79, 86, 90], "dict_minimal_mergediff": [79, 86], "dict_sanit": [79, 86], "dictionari": [3, 17, 33, 37, 52, 57, 78, 80, 81, 82, 85, 86, 90, 92, 95], "did": [4, 11, 24, 31, 47, 80, 90, 95, 96], "didn": [4, 15, 44, 80], "diff": 86, "differ": [3, 4, 10, 11, 14, 23, 37, 39, 40, 42, 53, 80, 81, 82, 83, 85, 88, 90, 92, 95, 96, 97], "difficult": 92, "dilig": 96, "dimens": [2, 78], "dir": [17, 37], "direct": [3, 4, 10, 23, 51, 82, 86], "direct_passthrough": 83, "directli": [3, 6, 8, 13, 15, 20, 21, 25, 28, 32, 37, 42, 47, 57, 62, 65, 77, 78, 80, 81, 82, 86, 89, 90, 92, 94, 95, 97], "directori": [3, 17, 33, 42, 52, 61, 78, 83, 84, 87, 89, 90, 95], "dirti": 45, "disabl": [3, 4, 9, 20, 21, 22, 23, 24, 32, 37, 42, 47, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "disable_b": [52, 82], "disable_color": 77, "disable_hotend": [37, 52, 82], "disable_plugin": [79, 80], "disablesdprintingdetect": [79, 82], "disabling_discourag": [79, 80], "disallow": [17, 83], "disappoint": 95, "disconnect": [1, 2, 9, 37, 46, 47, 49, 52, 59, 62, 70, 79, 81, 82, 92, 97], "disconnectonerror": [37, 79, 82], "discourag": [48, 80], "discov": [25, 80, 90], "discover": 90, "discoveri": [30, 39, 56, 88, 91], "discoveryplugin": 91, "discuss": 96, "disk": [3, 31, 33, 37, 47, 78, 80, 82, 83, 84, 92, 95], "diskfilewrapp": [78, 79], "diskspac": [37, 79, 82], "diskspaceconfig": [79, 82], "displai": [2, 3, 7, 10, 14, 15, 20, 21, 22, 23, 24, 32, 33, 37, 47, 51, 55, 78, 80, 82, 85, 90, 92, 95], "display": [7, 82, 85], "display_limit": 22, "display_nam": 85, "display_vers": [11, 95], "displaynam": [14, 33, 79, 82], "displayvers": 33, "disposit": [3, 4, 83], "disrupt": [15, 54], "distanc": [9, 51, 81], "distinct": 96, "distinguish": [9, 37, 92], "distribut": [42, 48, 56, 93], "div": [90, 92, 95], "dive": [78, 90], "divid": [15, 37, 40, 81, 82, 96], "divis": 93, "dn": [17, 25, 37, 82], "do": [4, 11, 14, 24, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 58, 61, 62, 70, 78, 81, 82, 83, 86, 88, 89, 92, 93, 95, 96, 97], "do_slic": [85, 95], "do_something_with_the_passed_lin": 86, "doc": [33, 37, 42, 48, 52, 82, 95], "docstr": 86, "document": [8, 9, 11, 14, 24, 25, 26, 27, 28, 35, 39, 41, 42, 44, 45, 52, 53, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 80, 83, 89, 90, 91, 94, 95, 96, 97], "doe": [0, 2, 3, 6, 9, 10, 13, 17, 24, 33, 37, 48, 52, 61, 63, 80, 81, 82, 83, 84, 85, 90, 92, 94, 96], "doesn": [0, 9, 14, 17, 23, 24, 33, 37, 42, 50, 52, 55, 57, 61, 80, 81, 82, 83, 85, 86, 87, 88, 90, 95, 96], "dom": 90, "domain": [37, 57, 82, 83], "don": [9, 33, 37, 40, 46, 48, 51, 52, 54, 55, 70, 78, 81, 82, 83, 89, 90, 92, 95, 96, 97], "done": [3, 21, 23, 40, 47, 57, 58, 61, 62, 63, 66, 70, 74, 80, 83, 86, 90, 92, 95, 96, 97], "dont": 48, "dont_answ": 46, "dosometh": 57, "doubl": [4, 25, 40, 83], "down": [37, 47, 48, 78, 82, 84, 95, 96], "download": [2, 3, 16, 31, 33, 37, 42, 57, 61, 62, 72, 78, 82, 92], "downloadlog": 31, "downstream": [82, 83], "drag": 82, "drop": [11, 13, 14, 46, 82], "drop_connect": 46, "dropdown": 37, "due": [2, 3, 7, 21, 37, 40, 42, 45, 47, 49, 52, 57, 80, 81, 85, 86, 90, 92, 95, 96, 97], "dumb": [37, 82], "dummi": [92, 95], "dummy_mobile_ui": 95, "dummy_mobile_ui_index": 95, "dummymobileuiplugin": 95, "dump": [78, 79, 83, 86], "duplic": [33, 95], "durat": [33, 37, 82], "dure": [9, 11, 23, 33, 35, 37, 41, 52, 78, 80, 82, 83, 87, 90, 92, 93, 95, 97], "dwell": [37, 47, 82], "dynam": [86, 90, 95], "dynamiczipbundlehandl": [79, 83], "e": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "e5": 52, "e55f2f8b01c": 42, "e627": 9, "e628": 9, "each": [4, 10, 11, 22, 25, 37, 46, 47, 57, 61, 70, 78, 80, 81, 82, 83, 86, 87, 92, 94, 95, 97], "eager": [77, 95], "earli": 34, "earlier": [6, 37, 42, 77, 82, 88, 90], "easi": [24, 33, 40, 90, 95, 96], "easier": [55, 90], "easiest": [48, 96], "easili": [42, 48, 92], "echo": [37, 46, 82, 92, 95], "echoonm117": 46, "ecosystem": 96, "edg": [33, 41, 46], "edit": [10, 20, 21, 32, 33, 37, 40, 42, 51, 55, 90, 96], "editor": [39, 40, 42, 48, 51, 55], "editorconfig": 90, "educ": 92, "eebd": 42, "eeprom": [46, 51, 82], "effect": [2, 3, 4, 36, 78, 79, 84, 90, 92], "effective_hash": [79, 84], "effective_print": 47, "effective_select": 47, "effective_yaml": [79, 84], "effectiveprint": 3, "effectiveselect": 3, "eg": [46, 95], "ega": 86, "egg": 90, "either": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 15, 16, 17, 19, 20, 21, 23, 26, 32, 33, 37, 40, 47, 48, 51, 54, 55, 57, 61, 71, 74, 78, 80, 81, 82, 83, 85, 86, 90, 92, 94, 95, 97], "eject": 47, "el": 42, "elaps": [37, 47, 81, 82, 92], "eleg": 89, "element": [51, 57, 61, 78, 90, 95, 97], "elif": 95, "els": [52, 57, 74, 77, 78, 82, 83, 86, 89, 92, 95, 96], "elsewher": [50, 80], "email": [11, 13, 14, 33, 90], "emb": [37, 48, 62, 95], "embed": [37, 82, 90, 95], "emerg": [1, 9, 21, 47, 82], "emergency_pars": [46, 79, 82], "emergencycommand": [79, 82], "emit": [52, 93], "empti": [0, 2, 3, 6, 9, 10, 23, 31, 32, 33, 40, 42, 46, 52, 57, 61, 77, 78, 80, 83, 85, 86, 92, 95], "en": [33, 82, 90], "enabl": [2, 4, 9, 11, 13, 20, 21, 22, 25, 26, 29, 32, 33, 34, 37, 42, 43, 47, 48, 49, 51, 52, 54, 55, 79, 80, 81, 82, 83, 87, 88, 90, 92, 95], "enable_eeprom": 46, "enable_emergency_send": 21, "enable_per_message_deflate_extens": [79, 83], "enable_plugin": [79, 80], "enable_popup": 20, "enable_sign": 21, "enablecsrfprotect": [79, 82], "enabled_channel": 22, "enabled_plugin": 92, "enabled_str": 80, "enabled_unreleas": 26, "enabledragdropupload": [79, 82], "enableratelimit": [79, 82], "enableshutdownactioncommand": [37, 79, 82], "encapsul": 85, "enclosur": 81, "encod": [3, 5, 17, 24, 37, 79, 82, 83, 86, 92, 96], "encount": [41, 47, 80, 81, 96], "encrypt": [37, 82], "end": [4, 40, 46, 52, 56, 57, 80, 83, 90, 92], "endasset": 62, "endfor": [37, 51, 52, 82, 92], "endif": [51, 52, 82], "endless": 48, "endpoint": [4, 8, 13, 23, 33, 34, 37, 54, 57, 82, 83, 88, 92, 95, 96], "endswith": 92, "enforc": 95, "enforcereallyuniversalfilenam": [37, 79, 82], "engin": [3, 52, 80, 81, 95], "english": [7, 90], "enhanc": 60, "enjoi": 56, "enqueu": [46, 66, 78, 79, 92], "enrich": 95, "ensur": [42, 48, 54, 55, 77, 78, 80, 81, 83, 86, 90, 92, 95, 96], "ensure_ascii": 83, "ensurepip": 42, "entail": 57, "enter": [17, 23, 42, 51, 55, 62, 83, 90, 92, 95, 96], "entir": [3, 48, 92], "entri": [2, 9, 10, 16, 22, 25, 33, 37, 47, 61, 66, 78, 80, 81, 82, 86, 87, 89, 90, 92, 95, 97], "entryforpath": [61, 62], "entrypointorigin": 80, "enumer": [2, 9, 82], "env": 90, "environ": [24, 33, 39, 43, 44, 56, 77, 79, 83, 88, 89, 90, 92, 93, 95], "environbuild": 95, "eol": [92, 96], "epoch": 47, "equal": [80, 95], "equival": [6, 37, 63, 74, 77, 78, 82, 84, 92], "era": 86, "err": 86, "error": [0, 1, 2, 3, 4, 5, 6, 7, 10, 12, 13, 14, 15, 17, 18, 23, 24, 30, 31, 34, 37, 43, 46, 47, 52, 56, 57, 74, 78, 81, 82, 83, 85, 86, 90, 93, 95, 96, 97], "error_callback": 80, "error_handler_test": 92, "error_messag": 92, "error_on_path": 84, "errorhandl": 95, "errortrack": 26, "escap": [40, 83, 90], "especi": [26, 40, 90, 95, 96], "essenti": 42, "establish": [11, 17, 37, 81, 82, 92], "estim": [2, 38, 78, 79, 81, 82, 93], "estimatedprinttim": [2, 3, 6, 78, 81], "estimationconfig": [79, 82], "estop": 47, "etag": [33, 83, 95], "etag_gener": 83, "etc": [10, 11, 37, 52, 57, 80, 81, 82, 83, 84, 87, 88, 92, 94, 95, 97], "eth0": [25, 48], "eval": [51, 82], "evalu": [0, 37, 40, 51, 80, 82, 95, 97], "even": [0, 4, 9, 21, 26, 33, 37, 48, 54, 80, 82, 87, 88, 90, 92, 95, 96], "event": [13, 20, 30, 34, 38, 39, 53, 54, 56, 70, 79, 80, 82, 90, 93, 94, 95, 97], "event_bu": 92, "eventhandlerplugin": 93, "eventmanag": [80, 92, 94], "eventnam": 97, "eventobj": 70, "eventsconfig": [79, 82], "eventsubscript": [79, 82], "ever": [29, 35, 37, 48, 81, 82, 95], "everi": [11, 23, 33, 37, 46, 52, 82, 86, 90, 95], "everyon": [48, 90], "everyth": [48, 52, 57, 77, 90, 96], "ex": [42, 96], "exact": [37, 44, 45, 54, 80, 82, 89, 90, 96], "exactli": [86, 95], "exampl": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 22, 23, 24, 29, 30, 31, 32, 33, 37, 38, 39, 42, 45, 46, 48, 53, 54, 57, 58, 61, 62, 63, 66, 70, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 97], "examplebackup": 24, "exampleplugin": 32, "exc": 80, "exce": 83, "exceed": 10, "excel": 40, "except": [9, 13, 26, 37, 56, 57, 76, 78, 79, 80, 82, 83, 86, 88, 92, 95, 96], "excerpt": 91, "exchang": [11, 23], "exclud": [9, 24, 37, 42, 66, 80, 82], "exclus": [9, 51, 79, 82], "execut": [5, 17, 33, 37, 46, 47, 49, 51, 52, 54, 71, 74, 81, 82, 83, 86, 90, 93, 97], "executecommand": [62, 71], "executor": 83, "exemplari": 95, "exempt": 95, "exhaust": [6, 48, 53], "exist": [0, 1, 3, 4, 5, 8, 11, 14, 17, 22, 24, 31, 42, 48, 55, 57, 58, 61, 64, 65, 67, 70, 71, 73, 74, 75, 77, 78, 80, 81, 82, 83, 85, 87, 90, 92, 94, 95, 96, 97], "exit": [24, 33, 36, 37, 92, 96], "expand": [39, 92], "expans": 92, "expect": [0, 3, 4, 7, 9, 10, 11, 13, 14, 16, 17, 19, 23, 24, 33, 37, 39, 52, 57, 59, 66, 70, 78, 80, 82, 83, 86, 92, 95, 96], "expens": 92, "experi": [95, 96], "experienc": [37, 39, 82], "expir": 83, "expiri": 83, "explain": 40, "explan": [47, 66], "explicit": [95, 96], "explicitli": [11, 37, 82, 83, 92, 95, 96, 97], "explor": 25, "export": [24, 32, 91], "expos": [15, 24, 33, 48, 91], "express": [37, 39, 51, 81, 82, 86, 92], "ext": [39, 84], "extend": [4, 14, 37, 46, 52, 54, 81, 82, 85, 86, 90, 92, 95], "extenddoc": 86, "extended_m20": [46, 79, 82], "extens": [2, 3, 7, 24, 42, 53, 78, 79, 80, 83, 86, 93, 95, 96], "extension_tre": [93, 95], "extern": [4, 33, 37, 42, 45, 82, 95], "externalheatupdetect": [37, 79, 82], "extra": [79, 82, 83, 89, 90], "extra_data": 82, "extract": [29, 35, 80, 92, 95], "extrem": 48, "extrud": [9, 10, 14, 37, 46, 47, 52, 62, 66, 78, 79, 81, 82], "extrus": [9, 10, 52, 81, 85], "eyal0": 32, "f": [24, 37, 46, 47, 51, 52, 77, 80, 81, 82, 95], "f3000": 51, "f4500": 52, "f5": 42, "f6000": 92, "fa": 95, "fab": 95, "fact": [37, 40, 81, 82, 92], "factor": [9, 10, 11, 66, 81, 86], "factori": [57, 80, 84, 93], "fail": [2, 3, 9, 17, 23, 24, 33, 42, 47, 74, 81, 83, 92, 96, 97], "failur": [2, 3, 17, 37, 47, 80, 92, 95], "failure_callback": 92, "fake": [1, 59, 81, 95], "fake_ack": [1, 79, 81], "fakeack": [1, 59, 62], "fall": [23, 24, 92, 95, 96], "fallback": [4, 47, 80, 83, 86, 95], "fallback_dict": [79, 86], "fallbackhandl": 83, "fals": [0, 1, 2, 3, 4, 9, 10, 11, 12, 14, 16, 17, 19, 23, 24, 25, 26, 29, 32, 33, 34, 37, 40, 42, 46, 47, 51, 61, 66, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 95, 97], "fan": [37, 51, 52, 82, 88, 92], "faq": [9, 47, 56], "far": [37, 48, 52, 53, 82, 83, 90, 95], "fast": [11, 70], "faster": 70, "favor": [90, 97], "featur": [4, 13, 24, 31, 38, 41, 48, 49, 56, 79, 82, 90, 97], "feature_request": 90, "featureconfig": [79, 82], "feed": [9, 22, 32, 52, 81], "feed_rat": [79, 81], "feedback": [51, 81, 97], "feedrat": [9, 47, 52, 66], "fetch": [3, 5, 22, 33, 37, 78, 82, 83, 92, 95], "few": [2, 41, 52, 90, 95], "ffmpeg": [13, 37, 47, 79, 82], "ffmpegcommandlin": [79, 82], "ffmpegpath": 13, "ffmpegthread": [37, 79, 82], "ffmpegthumbnailcommandlin": [79, 82], "ffmpegvideocodec": [37, 79, 82], "fiction": 33, "field": [0, 3, 4, 7, 9, 10, 13, 14, 16, 25, 33, 42, 47, 51, 57, 66, 78, 82, 83, 90, 92, 95], "field1": 25, "field2": 25, "fig": [51, 55], "figur": [48, 95], "filament": [2, 3, 6, 9, 21, 37, 49, 52, 66, 78, 81, 82], "filamentchang": 47, "file": [4, 5, 6, 7, 9, 11, 13, 14, 16, 17, 24, 30, 32, 33, 37, 39, 40, 41, 42, 43, 48, 49, 50, 51, 54, 56, 57, 62, 64, 65, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 93, 94, 95, 96, 97], "file_exist": [78, 79], "file_extension_hook": 92, "file_in_path": [78, 79], "file_manag": 92, "file_object": [78, 92], "file_prefix": 83, "file_preprocessor_hook": 92, "file_suffix": 83, "filead": 47, "filebas": [37, 82], "filebasedgroupmanag": 82, "filebasedusermanag": [37, 82, 92], "filedeselect": 47, "fileinput": 57, "filemanag": [39, 56, 79, 80, 93, 94, 95], "filemov": 47, "filenam": [3, 4, 24, 31, 37, 39, 46, 47, 57, 61, 62, 72, 78, 81, 82, 83, 86, 92, 95], "filepath": [42, 78], "filepo": [2, 6, 81], "fileposit": 47, "fileremov": 47, "files": 46, "files_delet": 3, "files_list": 3, "files_select": 3, "files_upload": 3, "fileselect": 47, "filesviewmodel": 97, "filesystem": [37, 82, 83], "fill": [46, 80, 95], "fill_dens": 3, "filter": [11, 13, 32, 38, 78, 80, 82, 83, 86, 92, 93, 95], "filter_funct": 86, "filter_non_ascii": [79, 86], "final": [4, 33, 35, 37, 40, 45, 48, 51, 78, 81, 82, 88, 89, 90, 92, 95], "financi": 56, "find": [39, 41, 42, 48, 52, 53, 80, 87, 89, 90, 95, 96], "findus": 92, "fine": [37, 46, 57, 81, 82, 90, 96], "finer": 81, "finish": [3, 5, 37, 47, 52, 53, 62, 75, 78, 81, 82, 83, 85, 86, 90, 92, 95, 97], "finished_callback": 78, "fire": [33, 47, 92, 95, 97], "firmare_nam": 46, "firmwar": [9, 30, 34, 35, 37, 46, 47, 49, 52, 56, 81, 82, 93], "firmware_cap": 92, "firmware_capability_hook": 92, "firmware_capability_report_hook": 92, "firmware_data": 92, "firmware_info_hook": 92, "firmware_nam": [46, 92], "firmware_vers": 92, "firmwaredetect": [37, 79, 82], "firmwareerror": 47, "firmwarenam": 46, "first": [2, 3, 4, 9, 10, 26, 29, 30, 34, 35, 37, 40, 42, 43, 46, 47, 48, 55, 57, 60, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 96, 97], "first_tri": 3, "firstrun": [19, 37, 79, 82, 95], "firstrun_only_access": [79, 83], "firstrunviewmodel": 97, "fit": [2, 83, 95], "fix": [4, 41, 42, 45, 46, 55, 83, 86], "fix_json_encod": [79, 83], "fix_tornado_xheader_handl": [79, 83], "fix_websocket_check_origin": [79, 83], "flag": [0, 2, 4, 9, 12, 16, 19, 24, 32, 37, 49, 55, 66, 80, 81, 82, 84, 86, 90, 92, 95, 96, 97], "flag_valu": 77, "flake8": 42, "flake8en": 42, "flask": [9, 56, 79, 91, 92, 95], "flat": 95, "flatten": 86, "fledg": [90, 95, 97], "flip": [37, 82], "fliph": [37, 79, 82], "flipv": [37, 79, 82], "float": [2, 9, 10, 11, 16, 36, 47, 66, 78, 80, 81, 82, 83, 85, 86, 96], "flood": [11, 96], "flow": [9, 81, 83], "flow_rat": [79, 81], "flowrat": [9, 66], "fluctuat": [37, 82], "flush": 78, "fly": [78, 90, 95], "fmt": 86, "fnmatch": 80, "fnord": 86, "focus": 56, "folder": [5, 13, 17, 24, 31, 33, 38, 39, 42, 46, 47, 52, 54, 55, 61, 78, 79, 80, 81, 82, 84, 85, 87, 89, 90, 92, 94, 95], "folder_exist": [78, 79], "folder_typ": 80, "foldera": 3, "folderad": 47, "folderconfig": [79, 82], "foldermov": 47, "foldernam": 3, "folderorigin": 80, "folderremov": 47, "follow": [3, 4, 6, 9, 11, 13, 17, 20, 21, 22, 23, 24, 25, 26, 29, 32, 33, 34, 37, 39, 40, 41, 42, 45, 46, 47, 48, 51, 52, 55, 56, 57, 62, 66, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 96, 97], "font": 95, "foo": [24, 83, 86, 92, 95], "foosel": 33, "footer": 42, "footnot": [45, 51, 54, 89, 90], "forbidden": [0, 4, 13, 31], "forc": [3, 10, 32, 33, 37, 40, 46, 80, 81, 82, 84, 89, 95], "force_refresh": 78, "force_reinstal": 33, "force_reload": 80, "forcechecksum": 46, "forced_channel": 22, "forced_compat": [79, 82], "forced_dis": [79, 80], "forced_head": 83, "forcedumbaftermin": [37, 79, 82], "forcedumbfromperc": [37, 79, 82], "forev": 81, "forget": [55, 62, 78, 89, 90, 96], "forgot": 90, "form": [3, 4, 7, 10, 15, 17, 49, 50, 57, 81, 83, 90, 92], "format": [9, 11, 16, 17, 22, 32, 33, 36, 37, 39, 40, 42, 45, 46, 51, 59, 80, 81, 82, 83, 86, 92, 95, 96, 97], "formatonsav": 42, "formatstr": 82, "formatt": [38, 42], "formdata": 57, "former": [8, 47, 65], "formerli": [28, 31], "formfactor": [10, 81], "forthcom": 95, "forum": [42, 56, 96], "forward": [37, 77, 78, 80, 82, 83, 90, 92], "forwardfor": 37, "found": [0, 3, 4, 9, 10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 39, 42, 46, 54, 56, 74, 80, 81, 82, 83, 86, 89, 90, 91, 92, 95, 97], "found_fil": 92, "four": [40, 92, 95], "four_thre": [79, 82], "fourth": [80, 92], "fp": [16, 37, 79, 82], "fqcn": 86, "frame": [16, 17, 37, 47, 82, 92, 96], "framer": [37, 82], "framework": [4, 9], "free": [3, 31, 33, 46, 56, 86, 95, 96], "freebsd": 86, "fresh": [23, 37, 82, 83, 90], "freshli": 95, "friendli": 90, "from": [1, 2, 4, 5, 6, 9, 10, 11, 13, 14, 15, 17, 22, 23, 24, 25, 32, 33, 36, 37, 40, 41, 42, 46, 47, 48, 49, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 66, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 92, 93, 94, 95, 97], "from_vers": 33, "fromcurrentdata": 97, "fromhistorydata": 97, "fromtimelapsedata": 97, "front": [37, 82, 96], "frontend": [25, 51, 87, 92, 93, 95, 97], "frozendict": 83, "fssl": 42, "fulfil": 3, "full": [3, 4, 11, 13, 14, 15, 23, 25, 33, 36, 39, 42, 46, 47, 48, 51, 52, 61, 62, 66, 70, 80, 82, 83, 86, 90, 92, 95, 97], "full_nam": 90, "fulli": [21, 35, 37, 45, 49, 52, 78, 80, 82, 84, 86, 87, 90, 92, 95], "fun": [51, 93, 96], "func": [83, 95], "function": [4, 23, 24, 31, 33, 37, 41, 45, 48, 50, 54, 55, 57, 58, 61, 62, 63, 66, 70, 74, 77, 78, 80, 82, 83, 86, 87, 89, 91, 92, 93, 95, 96, 97], "funni": 61, "further": [11, 16, 17, 33, 37, 41, 47, 48, 57, 66, 78, 82, 83, 92, 93, 95], "furthermor": 46, "futur": [1, 3, 14, 34, 37, 41, 54, 57, 78, 81, 83, 86, 90, 92, 96], "fuzzytim": [79, 82], "g": [1, 2, 3, 4, 6, 9, 10, 11, 17, 21, 22, 23, 24, 25, 31, 32, 33, 37, 39, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 58, 62, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "g0": [47, 92], "g1": [9, 47, 51, 52, 92], "g21": 3, "g28": [37, 47, 51, 82], "g29": [37, 82], "g30": [37, 82], "g32": [37, 82], "g4": [37, 47, 51, 82], "g46c7a9c": 45, "g90": [3, 37, 51, 52, 82, 92], "g90influencesextrud": [37, 79, 82], "g91": [37, 51, 52, 82, 92], "g92": 52, "galor": 93, "garbag": 92, "gather": 26, "gco": [2, 3, 51, 61], "gcode": [3, 6, 9, 10, 11, 13, 21, 24, 30, 38, 46, 48, 49, 50, 53, 56, 78, 79, 81, 82, 83, 88, 93, 94, 95, 97], "gcode_analysi": 82, "gcode_error_hook": 92, "gcode_loc": 47, "gcode_received_hook": 92, "gcode_script_vari": 92, "gcodeanalysi": [2, 3, 37, 79, 82], "gcodeanalysisconfig": [79, 82], "gcodeanalysisqueu": [78, 79, 92, 95], "gcodefilesviewmodel": 97, "gcodescript": [13, 37, 47, 52, 82, 92], "gcodescriptafterprintdonefinish": 52, "gcodescriptafterprintdonerun": 52, "gcodescriptsconfig": [79, 82], "gcodeview": [13, 29, 37], "gcodeviewmodel": 97, "gcodevisu": [13, 37], "gen": 86, "gener": [0, 2, 3, 5, 9, 10, 11, 13, 14, 15, 23, 24, 26, 29, 33, 34, 37, 39, 40, 41, 42, 45, 47, 56, 57, 66, 68, 73, 77, 79, 82, 83, 84, 86, 89, 90, 93], "generateapikei": [62, 68, 73, 79, 84], "generatekei": 23, "generatingdatahandl": [79, 83], "genuin": 18, "german": [7, 90], "get": [3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 33, 34, 36, 37, 40, 41, 42, 46, 47, 48, 51, 56, 57, 59, 61, 62, 63, 67, 68, 72, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97], "get_additional_bundle_fil": 92, "get_additional_command": 92, "get_additional_metadata": [78, 79], "get_additional_permiss": 92, "get_api_command": 95, "get_asset": [90, 95], "get_asset_fold": 95, "get_blueprint": 95, "get_blueprint_api_prefix": 95, "get_blueprint_kwarg": 95, "get_bom": [79, 86], "get_boolean": [79, 80, 95], "get_class": [79, 86], "get_cli_command": 92, "get_command": [77, 79], "get_compression_opt": 83, "get_connection_opt": [79, 81], "get_content_typ": [79, 83], "get_content_vers": [79, 83], "get_cookie_suffix": [79, 83], "get_current_connect": [79, 81], "get_current_data": [79, 81], "get_current_job": [79, 81], "get_current_temperatur": [79, 81], "get_default_set": 95, "get_exception_str": [79, 86], "get_filtered_implement": [79, 80], "get_flask_user_from_request": [79, 83], "get_float": [79, 80], "get_formatted_datetim": [79, 86], "get_formatted_s": [79, 86], "get_formatted_timedelta": [79, 86], "get_fully_qualified_classnam": [79, 86], "get_help": [24, 79, 80, 91], "get_hook": [79, 80, 92], "get_implement": [79, 80, 95], "get_int": [79, 80, 95], "get_lastmodifi": [78, 79], "get_latest": 33, "get_metadata": [78, 79], "get_o": [79, 86], "get_plugin": [79, 80], "get_plugin_data_fold": [24, 79, 80, 94, 95], "get_plugin_info": [79, 80], "get_plugin_logfile_path": [79, 80, 92], "get_preprocessor": 80, "get_profile_path": [79, 85], "get_settings_default": [80, 90, 95], "get_settings_preprocessor": 95, "get_settings_restricted_path": 95, "get_settings_vers": 95, "get_siz": [78, 79], "get_slic": [79, 85], "get_slicer_default_profil": 95, "get_slicer_extension_tre": 95, "get_slicer_profil": 95, "get_slicer_profile_path": [79, 85], "get_slicer_profiles_lastmodifi": 95, "get_slicer_properti": 95, "get_sorting_kei": [79, 80, 92, 95], "get_state_id": [47, 79, 81], "get_state_str": [79, 81], "get_temperature_histori": [79, 81], "get_template_config": [90, 92, 95], "get_template_fold": 95, "get_template_var": [90, 95], "get_timelapse_extens": 92, "get_transport": [79, 81], "get_ui_additional_etag": 95, "get_ui_additional_key_data_for_cach": 95, "get_ui_additional_request_data_for_preemptive_cach": 95, "get_ui_additional_tracked_fil": 95, "get_ui_custom_etag": 95, "get_ui_custom_lastmodifi": 95, "get_ui_custom_template_filt": 95, "get_ui_custom_tracked_fil": 95, "get_ui_data_for_preemptive_cach": 95, "get_ui_permiss": 95, "get_ui_preemptive_caching_additional_unless": 95, "get_ui_preemptive_caching_en": 95, "get_update_inform": [33, 88, 89], "get_webcam_configur": 95, "get_wizard_detail": [95, 97], "get_wizard_vers": 95, "getadditionalcontrol": [51, 97], "getallkei": 23, "getattr": 86, "getbasefold": [79, 80, 84], "getbaseurl": [57, 62], "getbedst": [62, 66], "getblueprinturl": [57, 62], "getboolean": [79, 80, 84], "getchamberst": [62, 66], "getcommand": [62, 71], "getcommandsforsourc": [62, 71], "getconfig": [62, 72], "getcooki": [4, 57, 62], "getcustomcontrol": [60, 62], "geterrorstr": 92, "getfloat": [79, 80, 84], "getfullst": [62, 66], "gethead": 4, "getint": [79, 80, 84, 91], "getkei": 23, "getlogg": [88, 91, 92], "getpluginset": [62, 68], "getprofileforslic": [62, 69], "getrequesthead": [57, 62], "getsdstat": [62, 66], "getset": [59, 62, 73], "getsimpleapiurl": [57, 62], "getter": [80, 84, 95], "gettext": 92, "gettoolst": [62, 66], "getwithqueri": [57, 62], "gh": 90, "gif": [17, 74, 92], "gina": [7, 90], "giorno": 92, "gist": 33, "gistid": 33, "git": [33, 42, 45, 54, 90, 95], "git_commit": 33, "github": [27, 28, 32, 33, 41, 42, 54, 82, 88, 89, 90], "github_commit": 33, "github_releas": 33, "github_usernam": 90, "githubusercont": [33, 42], "gitignor": 90, "give": [0, 11, 13, 14, 37, 48, 54, 70, 82, 90, 92, 96], "given": [9, 14, 17, 23, 31, 61, 66, 77, 78, 80, 81, 83, 85, 86, 92, 95], "glob": [37, 82, 92], "global": [4, 23, 57, 62, 77, 80, 81, 82, 83, 86, 88, 90, 91, 92, 97], "global_get": [79, 80, 92], "global_get_basefold": [79, 80, 92], "global_get_boolean": [79, 80], "global_get_float": [79, 80], "global_get_int": [79, 80], "global_set": [79, 80], "global_set_boolean": [79, 80], "global_set_float": [79, 80], "global_set_int": [79, 80], "globalheadertransform": [79, 83], "gm": [37, 82], "gnu": 56, "go": [24, 40, 41, 42, 47, 51, 81, 92, 93, 95, 96], "go_awol": 46, "goal": 96, "goe": [23, 52, 92], "good": [41, 48, 90, 92, 96, 97], "googl": [37, 82], "got": [1, 4, 23, 37, 47, 90, 92, 95], "gotourl": 90, "grace": 95, "graduat": 41, "grant": [23, 47, 48], "granular": [34, 48, 92, 95], "graph": [37, 82], "great": 90, "greater": 80, "green": [10, 37, 79, 82], "greet": [90, 92], "greet_command": 92, "grep": 48, "group": [4, 5, 48, 51, 76, 82, 90, 92, 97], "groupfil": [79, 82], "groupmanag": [79, 82], "grow": 93, "growl": [47, 54, 90, 91], "growl_inst": 91, "guarante": [33, 61, 81, 90, 95], "guess": [40, 48, 83, 90], "guest": [4, 48, 97], "guest_group": 92, "guid": [33, 42, 82, 96], "guidelin": 43, "gz": [7, 32, 83], "gzip": 83, "h": 37, "h1": 95, "h3": 92, "h4": 92, "ha": [2, 3, 6, 9, 10, 11, 17, 19, 21, 23, 26, 29, 31, 32, 34, 35, 37, 40, 47, 48, 49, 52, 54, 55, 57, 64, 66, 71, 73, 74, 75, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 95, 96, 97], "had": [49, 50, 90, 95], "hai": 92, "half": [70, 95], "hallo": 90, "hand": [14, 32, 42, 48, 92, 95], "handl": [5, 9, 19, 37, 49, 50, 56, 70, 75, 82, 83, 86, 92, 95, 96], "handle_connect": 93, "handle_error": 92, "handle_gcode_s": 88, "handle_request": [79, 83], "handle_stream": [79, 83], "handler": [24, 32, 33, 37, 38, 49, 50, 70, 80, 83, 86, 87, 88, 92], "handshak": [37, 82, 83], "happen": [3, 11, 13, 14, 17, 41, 47, 78, 80, 83, 84, 85, 86, 92, 95, 96, 97], "happili": 48, "haproxi": [37, 82], "hard": [46, 54], "hardcod": 90, "harder": 48, "has_analysi": [78, 79], "has_any_of_hook": [79, 80], "has_any_of_mixin": [79, 80], "has_obsolete_hook": [79, 80], "has_permiss": [79, 83], "has_restart_needing_hook": [79, 80], "has_restart_needing_implement": [79, 80], "hasb": 46, "haschamb": 46, "hash": [2, 3, 11, 33, 45, 78, 80, 82, 83, 95, 97], "hasn": 95, "have": [3, 6, 9, 11, 15, 23, 24, 25, 31, 32, 33, 37, 40, 41, 42, 44, 47, 48, 51, 52, 54, 55, 57, 61, 62, 70, 72, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96, 97], "haven": 90, "he": 49, "head": [4, 5, 10, 11, 13, 14, 17, 33, 37, 47, 52, 57, 66, 79, 81, 82, 83, 90, 92, 95, 96], "header": [3, 4, 17, 23, 33, 37, 42, 51, 57, 74, 82, 83, 92, 95, 96], "header_method": 33, "header_nam": 33, "header_prefix": 33, "header_url": 33, "heart": 95, "heartbeat": [79, 82, 83], "heat": [2, 9, 10, 46, 52, 66, 81, 82], "heatedb": [10, 52, 81, 82], "heatedchamb": [10, 81], "heater": [9, 37, 46, 48, 52, 81, 82], "heatup": [37, 82], "heavi": 97, "heavili": 35, "hei": 92, "height": [2, 10, 11, 14, 37, 47, 78, 81, 82, 85, 90], "held": [81, 84], "hello": [20, 24, 37, 86, 92, 93, 95], "hello_m": 95, "hello_world": [90, 95], "hello_y": 95, "hellocommand": [37, 79, 82], "helloworld": [89, 90, 95], "helloworld_navbar": 90, "helloworld_set": 90, "helloworld_tab": 90, "helloworldplugin": 90, "helloworldviewmodel": 90, "help": [24, 26, 33, 34, 36, 37, 39, 40, 41, 42, 46, 56, 77, 82, 83, 87, 89, 90, 92, 96], "helper": [30, 56, 77, 79, 80, 83, 86, 87, 93], "henc": [9, 11, 14, 33, 78, 81, 83, 90, 92, 95, 97], "henceforth": 45, "here": [3, 4, 9, 10, 11, 14, 23, 24, 31, 33, 37, 40, 41, 42, 47, 48, 51, 52, 54, 57, 64, 66, 70, 71, 73, 74, 75, 78, 82, 83, 89, 92, 93, 95, 96, 97], "hesit": 51, "hex": 46, "hh": 86, "hi": [51, 82, 92], "hiccup": 42, "hidden": [32, 42, 77, 79, 80, 84, 97], "hidden_opt": [77, 79], "hiddenopt": [77, 79], "hide_input": 77, "hierarch": [51, 95], "hierarchi": [47, 57, 80], "high": [2, 14, 22, 37, 49, 78, 82], "high_prior": 78, "high_qual": [3, 14], "higher": [33, 70, 95], "highest": 39, "highli": [48, 89], "highlight": 40, "hint": [33, 90, 95, 96], "histor": 9, "histori": [9, 66, 81, 97], "hit": 9, "hola": 92, "hold": [3, 10, 19, 78, 81, 90, 95, 96, 97], "home": [9, 21, 33, 37, 47, 62, 66, 79, 81, 82, 90, 96], "homebrew": 42, "homepag": [24, 90], "honest": 92, "hood": 40, "hook": [11, 30, 37, 42, 47, 49, 50, 52, 53, 56, 77, 79, 80, 82, 87, 88, 93, 95, 97], "hook_matches_hook": [79, 80], "hop": [16, 37, 82], "hope": 95, "hopefulli": 91, "horizont": [37, 51, 79, 82, 90], "horribli": 57, "host": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 25, 31, 33, 37, 42, 46, 48, 49, 50, 54, 62, 74, 77, 79, 82, 83, 84, 88, 91, 95], "hostfallback": [37, 79, 82], "hosthead": [37, 79, 82], "hostnam": [17, 37, 82, 91], "hotend": [9, 46, 52, 66, 81, 82], "hotfix": 45, "hour": [22, 89, 92], "how": [4, 14, 21, 34, 37, 42, 48, 53, 54, 66, 70, 81, 82, 87, 89, 91, 92, 93, 95, 97], "howev": [4, 29, 35, 47, 57, 62, 81, 83, 84, 90, 92, 95, 96], "href": [78, 90], "html": [4, 37, 42, 44, 82, 90, 92, 95], "http": [1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 23, 25, 31, 32, 33, 34, 37, 42, 47, 48, 54, 57, 58, 62, 70, 74, 82, 83, 86, 90, 93, 95], "http1connect": 83, "http1connectionparamet": 83, "http1serverconnect": 83, "httpclient": 83, "httperror": 83, "httpheader": 33, "httponli": 83, "httppassword": 25, "httpserver": 83, "httpserverrequest": 83, "httpstatu": 83, "httpusernam": 25, "httputil": 83, "huge": 48, "human": [0, 2, 11, 23, 33, 40, 47, 80, 81, 82, 86, 90, 92, 95], "h\u00e4u\u00dfg": 7, "i": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 41, 42, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61, 62, 63, 66, 70, 72, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 95, 97], "icon": [25, 32, 33, 95, 97], "id": [1, 4, 9, 10, 11, 13, 23, 32, 33, 43, 46, 47, 67, 70, 81, 83, 85, 90, 92, 95, 97], "idea": [9, 48, 90, 92], "ideal": [40, 47, 48], "ident": [37, 82, 95], "identicalresendscount": 37, "identicalresendscountdown": [79, 82], "identif": 55, "identifi": [0, 2, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 24, 26, 29, 32, 33, 34, 37, 45, 47, 51, 55, 57, 64, 66, 67, 69, 71, 75, 78, 80, 81, 82, 83, 85, 86, 88, 90, 92, 94, 95, 97], "idiom": 96, "idl": [13, 37, 79, 82], "idonotexist": 74, "ifram": 90, "iga": 86, "ignor": [3, 9, 10, 11, 15, 16, 19, 21, 33, 37, 42, 48, 49, 80, 82, 83, 86, 90, 92, 95, 96], "ignore_blacklist": 77, "ignore_exist": 78, "ignore_throttl": 33, "ignoredcommand": [37, 79, 82], "ignoredidenticalresend": 37, "ignoreemptyport": [79, 82], "ignoreerrorsfromfirmwar": [37, 79, 82], "ignoreidenticalresend": [37, 79, 82], "ignoreincompletestartup": [37, 79, 82], "ignorerevsfil": 42, "iknowwhatimdo": 77, "illeg": 40, "ilo": 86, "imag": [17, 37, 47, 74, 82, 95, 96], "immedi": [33, 47, 49, 52, 61, 63, 83, 86, 90, 92], "immin": 95, "impact": [37, 82], "implement": [4, 6, 8, 13, 23, 24, 31, 37, 49, 50, 52, 57, 62, 65, 70, 77, 78, 79, 80, 82, 83, 85, 86, 87, 88, 90, 92, 94, 95, 96, 97], "implementat": 23, "impli": 33, "implic": 82, "implicit": [2, 95, 97], "implicitli": [3, 33], "import": [11, 22, 24, 33, 39, 40, 42, 54, 57, 62, 82, 84, 86, 88, 90, 92, 93, 95], "importantli": 85, "importerror": [86, 88, 96], "imposs": [4, 9, 90], "improperli": 48, "improv": [41, 83], "in_plac": 86, "inact": 52, "incl": [14, 92], "includ": [1, 2, 3, 4, 7, 9, 11, 14, 16, 17, 18, 29, 31, 33, 35, 37, 39, 40, 42, 46, 48, 50, 51, 52, 57, 61, 62, 66, 78, 80, 82, 83, 85, 86, 89, 90, 92, 94, 95, 96], "include_bodi": 83, "includecurrenttoolintemp": 46, "includedoc": 86, "includefilenameinopen": 46, "inclus": 97, "incom": [37, 70, 82, 83, 95], "incompat": [4, 13, 41, 79, 80, 95, 96], "incomplet": [37, 82, 97], "incomplete_startup": 12, "inconvi": 48, "increas": [39, 41, 45, 70, 86, 92, 95], "increase_bodys": 92, "increaser": [62, 70], "increment": [95, 96], "inde": 18, "indent": [40, 48], "index": [7, 9, 11, 21, 32, 36, 42, 47, 54, 78, 95, 96], "indic": [11, 12, 23, 45, 47, 52, 70, 78, 80, 81, 83, 84, 85, 92, 95], "individu": [0, 16, 37, 39, 42, 46, 47, 52, 54, 62, 78, 80, 82, 85, 92, 95], "infil": 3, "infinit": 92, "influenc": [37, 82, 92, 95], "info": [47, 79, 82, 86, 88, 90, 91, 93, 94, 95], "inform": [0, 1, 5, 10, 11, 14, 16, 17, 19, 23, 25, 26, 33, 37, 39, 47, 49, 51, 52, 56, 61, 63, 66, 73, 75, 80, 81, 82, 86, 87, 88, 89, 90, 92, 95, 96, 97], "infowarnneverenum": [79, 82], "ing": [33, 96], "inherit": [2, 25, 95, 96], "init": [9, 66, 80, 84], "init_platform": 77, "init_platform_for_cli": [77, 79], "initi": [2, 9, 10, 11, 24, 37, 46, 48, 66, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 92, 95, 97], "initialize_implement": 80, "initsd": [62, 66], "inject": [4, 11, 37, 52, 56, 57, 77, 80, 87, 92, 93, 97], "inlin": [46, 51], "input": [37, 51, 52, 57, 79, 80, 82, 83, 86, 90, 92, 95], "input_nam": 92, "input_stream": 78, "insecur": [37, 48, 82], "insensit": [23, 33, 83, 86], "insert": [36, 80], "insert_valu": 36, "insid": [42, 47, 50, 51, 78, 83, 90, 92], "insight": [34, 90], "instal": [5, 11, 23, 24, 25, 32, 33, 34, 37, 42, 44, 48, 53, 55, 80, 82, 87, 90, 91, 92, 93, 94, 95, 96], "instanc": [11, 18, 23, 24, 25, 26, 29, 33, 34, 37, 42, 45, 46, 48, 57, 62, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 92, 94, 95, 97], "instanti": [57, 62, 88, 90, 92, 97], "instead": [1, 2, 6, 9, 21, 23, 24, 33, 37, 44, 46, 48, 50, 51, 54, 55, 57, 62, 80, 82, 83, 85, 86, 88, 89, 90, 92, 93, 94, 95, 97], "instruct": [1, 2, 33, 37, 39, 42, 48, 54, 66, 70, 82, 89, 90, 95, 97], "int": [2, 7, 10, 16, 17, 19, 36, 46, 74, 78, 80, 81, 82, 83, 84, 86, 92, 95], "intact": 57, "integ": [2, 9, 11, 17, 37, 40, 66, 80, 82, 92, 93], "intent": 92, "interact": [23, 37, 49, 66, 82, 90, 97], "interest": [38, 39, 43, 49, 52, 56, 92, 95, 96, 97], "interfac": [3, 4, 9, 11, 13, 14, 23, 24, 25, 26, 33, 36, 37, 45, 46, 51, 54, 55, 56, 62, 78, 80, 81, 82, 92, 93, 95, 96], "interfer": [9, 49], "intern": [3, 9, 11, 15, 21, 23, 24, 37, 39, 44, 45, 46, 47, 49, 51, 56, 81, 82, 83, 90, 92, 95], "internet": [33, 47, 48], "interpret": [3, 9, 36, 42, 81, 92], "interv": [16, 24, 34, 37, 46, 79, 82, 86], "introduc": [55, 81], "intuit": 77, "invalid": [0, 3, 4, 9, 23, 47, 57, 78, 80, 81, 84, 92, 95], "invalid_syntax": [79, 80], "invalidapikeyexcept": [79, 83], "invalidargumenterror": [57, 62], "invalidfileloc": 81, "invalidfiletyp": 81, "invalidprofileerror": [79, 81], "invalidtoolreport": 47, "invalidusernam": [76, 79], "invalu": [37, 82], "invers": 77, "invert": [10, 81], "investig": [1, 47], "invit": 90, "invoc": [80, 92], "invok": [78, 80, 86, 92, 95], "involv": [48, 81, 92], "io": [24, 26, 78, 83], "iobas": 78, "ioerror": [85, 95], "iostream": 83, "ip": [17, 25, 33, 37, 47, 48, 82, 83], "ipad": 95, "ipcheck": [37, 79, 82], "ipcheckconfig": [79, 82], "iphon": 95, "ipv4": [48, 82], "ipv6": 48, "irrelev": [80, 92], "is_allowed_fil": [79, 86], "is_api_adminonli": 95, "is_blueprint_csrf_protect": 95, "is_blueprint_protect": 95, "is_cancel": [79, 81], "is_client": 83, "is_closed_or_error": [79, 81], "is_current_fil": [79, 81], "is_error": [79, 81], "is_flag": 77, "is_hidden_path": 92, "is_lan_address": 17, "is_multipart": [79, 83], "is_null_sess": 83, "is_obsolete_hook": [79, 80], "is_oper": [79, 81], "is_os_compat": [79, 86], "is_paus": [79, 81], "is_plugin_mark": [79, 80], "is_pre_compress": 83, "is_print": [79, 81], "is_readi": [79, 81], "is_restart_needing_hook": [79, 80], "is_restart_needing_plugin": [79, 80], "is_san": 92, "is_slicer_configur": 95, "is_wizard_ignor": 95, "is_wizard_requir": 95, "isfold": 61, "isinst": [86, 92, 96], "isn": [3, 23, 48, 90, 96], "iso": [4, 47], "isol": 48, "issu": [2, 4, 5, 26, 33, 35, 37, 39, 42, 48, 52, 54, 55, 57, 59, 61, 63, 66, 81, 82, 88, 96], "issuecommand": [57, 62], "italian": 7, "italiano": 7, "item": [2, 3, 22, 31, 37, 40, 78, 79, 82, 83, 86, 92, 95], "item_typ": 86, "iter": [6, 52, 78, 83, 92, 93, 95, 97], "its": [2, 3, 4, 10, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 39, 40, 42, 46, 47, 48, 49, 51, 55, 56, 57, 61, 65, 66, 77, 78, 80, 82, 83, 85, 86, 87, 88, 90, 91, 92, 95, 96, 97], "itself": [15, 23, 25, 33, 37, 40, 52, 55, 57, 80, 82, 84, 87, 90, 92, 95, 96], "j": [4, 11, 30, 37, 62, 65, 82, 90, 92, 95], "januari": 96, "javascript": [4, 30, 37, 51, 56, 79, 82, 83, 93, 95, 97], "jinja": [52, 90, 92, 95], "jinja2": [51, 52, 62, 90, 92, 95], "jneilliii": 32, "job": [3, 5, 9, 11, 15, 16, 34, 37, 47, 49, 50, 52, 56, 62, 81, 82, 85, 87, 92, 95, 97], "job_on_hold": [79, 81], "job_typ": 92, "jog": [9, 62, 66, 79, 81, 92], "join": [24, 78, 83, 95], "join_path": [78, 79, 83], "jpeg": [74, 95], "jqueri": [23, 31, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 97], "js_client": 62, "jsclient": 95, "json": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 31, 32, 33, 36, 37, 42, 46, 57, 61, 78, 82, 83, 86, 95, 96], "json_encod": 83, "jsondata": 33, "jsonencod": 83, "jsonifi": [91, 92, 95], "jump": 21, "just": [3, 9, 14, 25, 37, 40, 42, 44, 47, 48, 49, 50, 51, 52, 54, 55, 78, 81, 82, 83, 88, 89, 90, 92, 95, 96, 97], "k": [86, 92], "keep": [48, 52, 57, 70, 78, 86, 90, 92, 95], "kei": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 20, 21, 22, 24, 25, 26, 29, 30, 31, 33, 34, 36, 37, 39, 40, 47, 48, 52, 56, 57, 60, 62, 66, 68, 70, 73, 78, 79, 80, 81, 82, 83, 84, 86, 90, 92, 95], "kept": [41, 77], "key1": 86, "key2": 86, "keyboard": [37, 82], "keyboardcontrol": [37, 79, 82], "keyvalid": 93, "keyword": [77, 80, 83, 85, 86, 92, 95], "kib": 90, "kill": [9, 46], "kind": [11, 48, 92, 95, 96], "kindli": 26, "knockout": [90, 95], "knockoutj": 97, "know": [9, 40, 90, 95, 96, 97], "known": [25, 37, 47, 50, 52, 82, 92, 95], "ko": 90, "konnichiwa": 92, "kw": 86, "kwarg": [24, 32, 33, 77, 78, 80, 81, 83, 84, 85, 86, 88, 92, 95], "l": [82, 86], "l1": 86, "l2": 86, "label": [42, 47, 51, 57, 82, 90], "lack": [3, 9, 11, 42, 52], "lai": [51, 82], "lambda": [80, 86, 92, 95, 96], "lan": [17, 48], "languag": [5, 37, 52, 55, 56, 62, 82, 90], "language_pack": 7, "larg": [9, 37, 82], "larger": [10, 39, 92], "largeresponsehandl": [79, 83, 92], "last": [2, 3, 5, 7, 11, 31, 33, 37, 46, 47, 52, 55, 70, 78, 81, 82, 83, 84, 85, 86], "last_fanspe": 52, "last_modifi": [78, 79, 84], "last_modified_or_made_dirti": [79, 84], "last_posit": 52, "last_temperatur": 52, "last_upd": 7, "lastlinebuffers": [79, 82], "lastmodifi": [83, 95], "lastn": 46, "lastprinttim": [2, 81], "latenc": 82, "later": [41, 42, 62, 88, 90, 92, 95, 96, 97], "latest": [24, 33, 42, 49], "latin_1": [37, 82], "latter": [51, 92, 95, 97], "launch": [42, 44, 95], "lax": [37, 79, 82], "layer": [14, 39, 40, 47, 48, 81, 85, 92], "layer_height": 14, "layout": [37, 51, 79, 82], "layoutenum": [79, 82], "lazili": 95, "lcd": [37, 82], "lead": [37, 48, 78, 82, 86, 92, 95, 96], "leaf": 92, "leaf_merg": 86, "learn": [48, 90], "least": [3, 37, 48, 57, 61, 62, 82, 85, 92, 96], "leav": [33, 37, 82, 86, 90, 95], "left": [0, 1, 2, 10, 14, 23, 37, 51, 57, 61, 78, 81, 82, 85, 86, 90, 92, 95], "legaci": [13, 14, 77, 90, 96], "legacy_opt": [77, 79], "len": [86, 92], "length": [2, 3, 6, 10, 78, 81, 83, 92, 95], "less": [37, 41, 42, 56, 79, 80, 82, 83, 90, 92, 95], "lessj": 90, "lesssimplecach": [79, 83], "let": [48, 51, 89, 90, 92, 95], "letter": 97, "level": [2, 3, 31, 37, 38, 40, 47, 78, 82, 86, 87, 90, 95], "levelnam": 39, "lfn_write": [46, 79, 82], "lgz0trf8by": 11, "li": [92, 95], "lib": [62, 90], "librari": [4, 11, 30, 37, 39, 51, 52, 54, 55, 56, 57, 61, 65, 66, 82, 84, 89, 95], "libx264": 82, "libyaml": 42, "licens": [13, 37, 42, 56, 79, 80, 82, 88, 90], "life": [47, 90], "lifecycl": [81, 92, 93], "lifecyclemanag": [80, 92], "light": [23, 40], "like": [3, 4, 11, 33, 37, 40, 42, 46, 47, 48, 49, 50, 51, 52, 62, 74, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96], "likewis": [80, 85, 87], "limit": [9, 11, 16, 17, 22, 23, 33, 37, 48, 52, 66, 70, 71, 80, 82, 83, 95], "line": [1, 2, 9, 11, 15, 25, 30, 36, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 55, 78, 81, 82, 86, 87, 90, 92, 95], "linear": [2, 37, 82], "lineno": 39, "linenumb": [37, 46, 82], "lineprocessorstream": [78, 79, 92, 96], "link": [9, 32, 33, 47, 78, 90, 92, 95], "lint": 42, "linter": 42, "linux": [25, 37, 39, 43, 48, 51, 52, 54, 55, 84, 86, 87, 89], "list": [2, 3, 4, 5, 6, 9, 11, 13, 17, 19, 22, 24, 25, 32, 33, 36, 37, 39, 42, 46, 47, 48, 49, 51, 52, 53, 54, 60, 61, 62, 64, 66, 67, 69, 70, 71, 72, 73, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 97], "list_command": [77, 79], "list_fil": [78, 79], "listallslicersandprofil": [62, 69], "listen": [48, 83, 95], "listforloc": [61, 62], "listlog": 31, "listprofilesforslic": [62, 69], "listrend": [62, 72], "listscript": [79, 84], "listunrend": [62, 72], "liter": [40, 96], "littl": [32, 33, 90, 95], "live": [22, 32, 33, 37, 82, 92, 96], "ll": [4, 9, 24, 37, 40, 42, 47, 48, 52, 54, 57, 62, 78, 82, 90, 92, 95, 96, 97], "load": [4, 10, 33, 37, 57, 79, 80, 81, 82, 84, 85, 86, 87, 88, 90, 95, 96, 97], "load_overlai": [79, 84], "load_profil": [79, 85], "load_user_from_request": 83, "loadabl": 90, "loader": 83, "loadscript": [79, 84], "local": [2, 3, 4, 6, 7, 11, 31, 32, 33, 37, 42, 45, 47, 48, 51, 57, 61, 62, 64, 74, 80, 81, 82, 83, 84, 90, 92, 95], "local_filenam": 92, "local_vers": 33, "locale_displai": 7, "locale_english": 7, "localfilestorag": [78, 79], "localhost": [4, 37, 82], "localnetwork": [37, 48, 79, 82], "localpipcommand": [37, 79, 82], "locat": [2, 5, 10, 11, 14, 23, 31, 37, 39, 42, 47, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 94, 95], "location_str": 80, "lock": [37, 81, 82], "lodash": 62, "log": [0, 5, 9, 11, 13, 21, 23, 26, 30, 33, 37, 38, 43, 47, 48, 52, 56, 57, 58, 61, 62, 77, 79, 80, 81, 82, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97], "log_cal": 86, "log_color": 39, "log_except": [79, 83], "log_lin": [79, 81], "log_stderr": 86, "log_stdout": 86, "logfil": [37, 80, 97], "logger": [37, 39, 80, 83, 90, 92, 94, 95], "logging_config": 77, "logging_prefix": 80, "logic": [32, 51, 80, 82, 83, 95], "login": [5, 11, 13, 24, 33, 37, 42, 47, 57, 58, 62, 70, 82, 83, 92, 95, 97], "login_requir": 83, "loginfromapikeyrequesthandl": [79, 83], "loginfromauthorizationheaderrequesthandl": [79, 83], "loginst": 97, "loginstateviewmodel": 97, "loginui_them": 92, "loglevel": 39, "logon": [37, 82], "logout": [5, 11, 58, 62, 92], "logpositiononcancel": [79, 82], "logpositiononpaus": [79, 82], "logrecord": 39, "logresend": [37, 79, 82], "logsviewmodel": 97, "long": [9, 13, 24, 37, 39, 40, 48, 52, 57, 70, 79, 80, 82, 83, 92, 95, 96], "long_str": [79, 80], "longer": [21, 33, 48, 70, 80, 82, 86, 90, 96], "longnam": 46, "longrunningcommand": [37, 79, 82], "look": [4, 9, 37, 48, 49, 51, 57, 61, 80, 81, 83, 89, 90, 92, 95, 96, 97], "looks_like_plugin": [79, 80], "lookup": [17, 83], "loop": [86, 92, 95], "loss": 24, "lost": [1, 46, 47, 81], "lot": [33, 37, 40, 57, 82, 92], "low": 82, "lower": [70, 81, 86, 90, 92, 95, 97], "lower_error": 92, "lowerleft": [10, 79, 81], "lowlat": [79, 82], "lru": 78, "ly": 81, "m": [42, 81, 86, 90, 92], "m0": [37, 47, 82], "m1": [37, 47, 82], "m104": [37, 52, 82], "m105": [37, 46, 82, 92], "m105notargetformatstr": 46, "m105targetformatstr": 46, "m106": [9, 37, 51, 52, 88, 92], "m107": [37, 51, 52, 88, 92], "m108": 82, "m109": [3, 46], "m110": [37, 82, 92], "m112": [46, 47, 82], "m114": [47, 51, 52, 82], "m115": [37, 46, 47, 92], "m115_geometry_report": 46, "m115formatstr": 46, "m115reportarea": 46, "m115reportcap": 46, "m117": [37, 46, 47, 51, 82, 92], "m118": [37, 82], "m140": [52, 82], "m18": [9, 52], "m20": [46, 82], "m226": [37, 47, 82], "m23": 46, "m240": 47, "m245": 47, "m25": [37, 82], "m27": [37, 82, 92], "m29": [37, 46, 82], "m300": 47, "m40": 47, "m400": [37, 82], "m410": 82, "m500": 46, "m503": 46, "m600": [37, 47, 82], "m701": 47, "m702": 47, "m80": [47, 92], "m81": 47, "m82": 52, "m83": 52, "m84": 52, "m876": 21, "mac": [43, 51, 54, 89], "machin": [4, 11, 25, 37, 47, 49, 78, 82, 83, 85, 92, 95, 96], "machine_typ": 92, "machinecod": [2, 3, 47, 78, 81, 92], "machinecode_path": 95, "machinecodepath": 97, "machinecom": 92, "maco": [25, 37, 39, 42, 52, 55, 84, 86], "made": [1, 3, 4, 9, 21, 23, 24, 33, 37, 40, 41, 47, 82, 83, 90, 92, 95, 96], "magic": 96, "mai": [2, 3, 4, 9, 11, 14, 15, 23, 24, 25, 33, 37, 46, 47, 49, 50, 51, 52, 54, 57, 61, 70, 73, 78, 80, 81, 82, 83, 85, 86, 87, 90, 92, 95, 97], "mail": 90, "main": [32, 37, 41, 48, 82, 90, 92, 95, 97], "maintain": [45, 95], "mainten": [33, 41, 45, 96], "major": [41, 45], "make": [4, 9, 11, 13, 14, 16, 21, 23, 24, 37, 39, 40, 41, 42, 43, 44, 46, 47, 48, 51, 52, 54, 57, 62, 70, 81, 82, 83, 86, 87, 88, 89, 91, 92, 93, 94, 95, 96, 97], "make_api_error": [79, 83], "make_respons": [92, 95], "make_text_respons": [79, 83], "malform": 15, "malici": 49, "malwar": 48, "manag": [3, 5, 7, 10, 13, 14, 23, 24, 30, 31, 37, 39, 42, 47, 48, 49, 54, 55, 56, 65, 78, 79, 80, 81, 82, 84, 85, 87, 90, 92, 93, 94, 95, 96, 97], "mandat": 45, "mandatori": [0, 10, 17, 33, 48, 92, 95, 97], "mani": [34, 37, 46, 66, 81, 82, 92], "manifest": 90, "manipul": [36, 49, 92], "manual": [4, 22, 23, 24, 32, 33, 37, 42, 51, 55, 62, 77, 82, 87, 90, 92, 93], "map": [2, 7, 9, 11, 13, 14, 19, 22, 25, 37, 40, 46, 52, 66, 78, 80, 82, 83, 85, 86, 92, 93, 95, 97], "mark": [0, 8, 14, 33, 42, 47, 65, 80, 85, 87, 92, 95, 96], "mark_plugin": [79, 80], "markdown": 96, "marlin": 46, "mask": 48, "master": [32, 33, 41, 42, 54, 90, 95], "match": [3, 6, 9, 11, 33, 37, 48, 51, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95], "materi": 81, "math": 57, "matter": [40, 93, 96], "max": [37, 51, 79, 80, 82, 83], "max_ag": 83, "max_body_s": 83, "max_cookie_s": 83, "max_default_body_s": 83, "max_i": 10, "max_x": 10, "max_z": 10, "maxbyt": 39, "maxcommunicationtimeout": [13, 37, 79, 82], "maxconsecutiveresend": [79, 82], "maxextrud": [37, 79, 82], "maxi": [2, 78], "maxim": [11, 70], "maximum": [2, 9, 10, 37, 51, 70, 78, 81, 82, 83, 86, 92, 95, 97], "maxnotsdprint": [79, 82], "maxsiz": [37, 79, 82, 86], "maxtimeoutsidl": 13, "maxtimeoutslong": 13, "maxtimeoutsprint": 13, "maxwritepass": [37, 79, 82], "maxx": [2, 78], "maxz": [2, 78], "mb": [33, 39], "md": [89, 90], "md5": 2, "me": [4, 11, 13, 14, 23, 37, 58, 82, 95, 96, 97], "mean": [3, 4, 9, 37, 48, 52, 54, 57, 80, 82, 86, 89, 90, 92, 95, 96], "meaning": 4, "meantim": 33, "measur": [48, 70], "mechan": [4, 31, 33, 57, 61, 95, 96, 97], "media": [3, 90], "medium": 14, "medium_qu": 14, "memori": [37, 82, 83], "mention": [37, 49, 52, 88, 90, 96], "menu": [15, 37, 55, 82, 89, 90, 92], "mere": [48, 92], "merg": [0, 10, 37, 41, 73, 78, 80, 82, 86, 90, 92, 95], "mess": 96, "messag": [1, 4, 6, 9, 11, 20, 21, 24, 32, 33, 36, 37, 39, 46, 47, 57, 62, 70, 80, 81, 82, 83, 85, 86, 90, 92, 95, 97], "message_on_connect": 92, "met": [51, 82, 83, 95], "meta": [7, 41, 80, 85, 95], "metadata": [3, 47, 77, 78, 80, 87, 88, 90, 92], "metadataanalysisfinish": 47, "metadataanalysisstart": 47, "method": [14, 17, 24, 31, 57, 62, 64, 65, 70, 71, 73, 74, 75, 78, 80, 81, 83, 84, 85, 86, 88, 89, 90, 91, 92, 95, 96, 97], "method_nam": 95, "metric": 34, "mi": 46, "microsoft": 25, "might": [2, 3, 9, 11, 13, 14, 15, 31, 33, 37, 39, 41, 42, 47, 48, 49, 52, 54, 57, 70, 71, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "migrat": [24, 41, 56, 84, 93, 95], "millimet": 81, "mime": 83, "mime_type_guess": 83, "mimetyp": [74, 83], "min": [9, 10, 51, 62, 79, 80, 81, 82, 90], "min_i": 10, "min_x": 10, "min_z": 10, "mind": [40, 78, 90, 92], "mindelai": 16, "mini": [2, 78], "minif": [37, 82], "minifi": [37, 79, 82], "minify_plugin": [37, 79, 82], "minim": [78, 83, 86, 95], "minimum": [2, 9, 10, 33, 51, 70, 78, 81, 82], "minimum_free_storag": 33, "minor": 45, "mintemp": 9, "minut": [22, 33, 37, 82], "minx": [2, 78], "minz": [2, 78], "mirror": 92, "misc": 46, "misconfigur": 47, "mismatch": [0, 4, 46], "miss": [0, 4, 9, 23, 46, 47, 80, 88, 90, 92, 95], "missing_fil": 17, "missing_lineno": 46, "mistaken": 40, "mitig": 4, "mix": [2, 37, 82, 95], "mixin": [56, 80, 83, 87, 88, 90, 92, 93, 94], "mixtur": [2, 37, 82], "mjpeg": 82, "mjpg": [37, 82], "mm": [2, 3, 9, 10, 66, 78, 81, 86], "mobil": [37, 90, 95], "mobilesizethreshold": [13, 29, 37], "mod": 86, "mode": [12, 16, 37, 42, 53, 54, 56, 57, 62, 80, 82, 90, 95], "model": [5, 25, 30, 37, 43, 46, 47, 51, 52, 56, 78, 81, 82, 85, 90, 92, 95, 97], "model_path": 95, "modelpath": 97, "modelsizedetect": [37, 79, 82], "modern": 90, "modif": [47, 78, 81, 84, 85, 95], "modifi": [2, 20, 21, 31, 32, 33, 37, 41, 47, 73, 78, 80, 81, 83, 84, 86, 88, 90, 92, 97], "modul": [31, 33, 42, 44, 54, 56, 57, 62, 65, 66, 80, 81, 83, 84, 85, 86, 87, 89, 90, 95], "modulenotfounderror": 44, "moduleorigin": 80, "modulesdkpath": 42, "moment": [11, 17, 57, 78, 92], "monitor": [9, 92], "monitor_termin": 9, "more": [9, 11, 14, 17, 21, 23, 25, 31, 33, 39, 40, 41, 42, 47, 48, 51, 54, 57, 59, 60, 61, 64, 66, 74, 78, 80, 82, 84, 88, 89, 92, 93, 95, 96, 97], "moreov": 62, "morn": 92, "most": [3, 7, 33, 37, 40, 45, 52, 55, 73, 82, 85, 86, 88, 89, 90, 95, 96], "mostli": [9, 13, 83], "motor": [37, 48, 52, 82], "mount": 37, "move": [2, 3, 8, 9, 10, 47, 51, 52, 61, 62, 65, 78, 81, 83, 90, 92, 96], "move_fil": [78, 79], "move_fold": [78, 79], "movement": [9, 78], "movi": [37, 47, 48, 82], "movie_basenam": 47, "moviedon": 47, "moviefail": 47, "movierend": 47, "movierenderdon": 11, "mozilla": 82, "mpeg2video": 37, "msvcv142": 42, "much": [9, 48, 89, 90, 92, 96], "multi": [14, 52, 92], "multi_gcode_test": 92, "multicommand": [77, 92], "multilin": 40, "multipart": [3, 4, 7, 57, 83, 92], "multipl": [0, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 19, 23, 31, 33, 37, 40, 46, 47, 51, 52, 57, 62, 77, 78, 81, 86, 89, 90, 92, 95, 97], "multipli": [11, 66], "multistream": [78, 79], "multitud": 52, "must": [1, 3, 4, 6, 7, 9, 11, 22, 23, 33, 37, 47, 52, 57, 61, 78, 81, 82, 83, 85, 86, 92, 95, 96], "must_exist": 85, "mutual": [9, 51, 82], "mv": 96, "my": [10, 23, 37, 57, 88, 96], "my_collect": 96, "my_custom_ev": 92, "my_custom_reprap": 3, "my_custom_tag": 92, "my_default_profil": 85, "my_error_callback": 80, "my_fil": 95, "my_funny_apikei": 83, "my_host": 80, "my_other_custom_ev": 92, "my_other_fil": 95, "my_overrid": 85, "my_permiss": 92, "my_plugin": 33, "my_port": 80, "my_printer_profil": 1, "my_profil": 10, "my_repo": 33, "my_slic": 85, "my_styl": 95, "my_sub_packag": 96, "my_success_callback": 80, "my_us": 33, "myblueprintplugin": 95, "myclass": 95, "mycommand": 57, "mycustomexcept": 57, "mycustomgcodeanalysisqueu": 92, "mycustomviewmodel": 97, "myecho": 95, "myendpoint": 57, "myfilenam": 57, "mygrowlserv": 47, "myotherclass": 95, "mypassword": [58, 70], "myplugin": [52, 57, 88, 92, 95, 96], "myplugin_about": 95, "myplugin_first_tab": 95, "myplugin_first_tab_jinja2": 95, "myplugin_navbar": 95, "myplugin_othertab": 95, "myplugin_second_tab": 95, "myplugin_second_tab_jinja2": 95, "myplugin_set": 95, "myplugin_sidebar": 95, "myplugin_tab": 95, "myplugin_webcam": 95, "myplugin_wizard": 95, "myplugincli": 57, "myprintersymlink": 37, "myself": 42, "mysettingsplugin": 95, "mysimpleapiplugin": 95, "myusernam": [58, 70], "myvari": [52, 92], "n": [0, 2, 4, 9, 15, 24, 37, 41, 46, 51, 82, 86, 92, 95], "n0": [37, 82], "n2685": 9, "n2686": 9, "n2687": 9, "n2688": 9, "n2689": 9, "n2690": 9, "n2691": 9, "n2692": 9, "name": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 22, 23, 24, 25, 31, 32, 33, 37, 39, 42, 44, 46, 47, 51, 52, 57, 58, 60, 61, 70, 72, 73, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 97], "name_gener": 83, "namespac": [80, 90], "namesuffix": [37, 79, 82], "nano": 48, "nativ": 82, "natur": [9, 97], "nav": 90, "navbar": [13, 37, 79, 82, 90, 95], "navbartemp": 90, "navig": [33, 37, 82, 90, 95, 97], "navigationviewmodel": [90, 97], "nearest": 45, "neat": 90, "necessari": [11, 33, 37, 39, 42, 52, 57, 70, 78, 82, 83, 86, 90, 92, 95, 96, 97], "necessarili": [52, 81, 92], "necessit": [88, 95], "need": [3, 4, 9, 10, 11, 17, 19, 21, 23, 24, 32, 33, 37, 39, 40, 42, 44, 47, 48, 51, 57, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97], "needs_rebuild": [79, 83], "needs_restart": [79, 80], "neg": [9, 23, 86], "neither": [3, 11, 52, 57, 83, 85, 88, 92], "net": 90, "netloc": 83, "network": [4, 25, 37, 48, 82], "never": [2, 21, 33, 37, 40, 50, 79, 82, 83, 92, 95], "never_curr": 33, "neversendchecksum": [79, 82], "new": [1, 3, 5, 7, 8, 9, 11, 13, 14, 16, 22, 23, 24, 32, 33, 34, 37, 39, 41, 42, 45, 47, 48, 52, 57, 58, 61, 62, 65, 66, 67, 68, 70, 73, 78, 80, 81, 82, 83, 85, 86, 89, 90, 92, 95, 96, 97], "new_flag": 95, "newer": [33, 42, 92], "newli": [24, 42, 48, 80, 89], "newlin": 92, "newplugin": 90, "newurl": 90, "next": [9, 16, 23, 33, 37, 41, 46, 55, 82, 89, 90, 92, 95, 96, 97], "nginx": [37, 82, 83], "nice": 90, "nicer": 90, "nifti": [37, 82], "nm106": [37, 82], "nm140": 37, "nm84": [37, 82], "no_color": 39, "no_firstrun_access": [79, 83], "no_fram": 47, "nocachingexceptgetresponsehandl": [79, 83], "nocachingresponsehandl": [79, 83], "node": [2, 47, 49, 78, 90], "nois": 46, "non": [2, 4, 9, 15, 37, 47, 57, 74, 82, 86, 90, 95], "none": [17, 24, 33, 37, 52, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "nonsens": 92, "nop_upload_to_sd": 92, "nor": [3, 11, 83, 85, 88, 92], "normal": [17, 23, 24, 32, 33, 37, 53, 78, 82, 83, 89, 92], "nosuchstorag": [78, 79], "notat": [37, 82], "note": [0, 2, 3, 6, 9, 13, 24, 33, 37, 40, 42, 47, 48, 51, 52, 57, 61, 62, 66, 70, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 96, 97], "noth": [6, 33, 37, 46, 47, 63, 78, 81, 82, 85, 90, 92, 95], "notic": [32, 90, 95], "notices_ttl": 32, "notif": [22, 30, 33, 37, 55, 56, 82], "notifi": [33, 57, 92, 95], "notify_us": 33, "notifysuppressedcommand": [79, 82], "now": [3, 8, 21, 33, 37, 41, 42, 44, 48, 54, 55, 65, 70, 82, 86, 90, 95, 96], "nozzl": [10, 29, 46, 52, 81], "nozzlediamet": [10, 81], "npn": 83, "null": [2, 9, 19, 37, 46, 97], "num": 86, "number": [1, 2, 9, 11, 25, 31, 37, 39, 40, 41, 45, 46, 47, 48, 52, 57, 62, 70, 78, 80, 82, 83, 86, 92, 95, 96], "numextrud": 46, "o": [24, 37, 43, 46, 82, 86, 92, 95], "obj": 83, "object": [0, 2, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 19, 23, 31, 33, 37, 47, 52, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 80, 81, 83, 84, 85, 86, 90, 92, 94, 95, 97], "object_": 83, "obligatori": [25, 95], "observ": [54, 55, 90, 92], "obsolet": 80, "obtain": [11, 23, 33, 43, 51, 82, 90], "obviou": 92, "obvious": 96, "occas": 52, "occur": [2, 9, 15, 17, 47, 90], "octet": [3, 57, 83], "octopi": [33, 37, 54, 55, 62, 74, 82, 89, 90, 96], "octoprint": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 39, 40, 42, 43, 44, 46, 47, 49, 50, 51, 52, 53, 54, 57, 58, 61, 62, 63, 64, 65, 66, 67, 70, 74, 79, 87, 88, 89, 91, 93, 94, 95, 97], "octoprint1": 62, "octoprint2": 62, "octoprint_": 90, "octoprint_app": 83, "octoprint_backup_restore_unsupport": 24, "octoprint_daemon": 77, "octoprint_helloworld": 90, "octoprint_logo": 47, "octoprint_setuptool": 90, "octoprint_viewmodel": [90, 97], "octoprintanonymousident": [79, 83], "octoprintcli": [4, 23, 30, 56, 62], "octoprintcontext": [77, 79], "octoprintdevelcommand": [77, 79], "octoprintflaskrequest": [79, 83], "octoprintflaskrespons": [79, 83], "octoprintjsonprovid": [79, 83], "octoprintpermiss": 95, "octoprintplugin": [24, 79, 80, 92, 94, 95], "octoprintplugincommand": [77, 79, 92], "octoprintsessioninterfac": [79, 83], "od": 86, "off": [9, 16, 37, 48, 52, 70, 79, 82, 92], "offend": 86, "offer": [6, 9, 14, 33, 37, 57, 78, 81, 82, 84, 87, 90, 92, 95], "offici": [24, 32, 54, 56, 90, 93, 96], "offlin": [6, 47, 51, 81, 82], "offset": [9, 10, 11, 66, 81], "often": [3, 11, 34, 45, 95], "oh": 92, "ok": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 19, 23, 31, 37, 46, 59, 81, 82, 95], "okafterresend": 46, "okbeforecommandoutput": 46, "okformatstr": 46, "okwithlinenumb": 46, "old": [47, 48, 52, 57, 90, 95, 97], "old_flag": 95, "older": [37, 41, 82, 95], "omg": 9, "on_after_startup": [90, 91, 92, 95], "on_api_command": 95, "on_api_get": [91, 95], "on_cancel": 86, "on_condition_fals": 86, "on_ev": 95, "on_finish": [79, 83, 86], "on_log_cal": [79, 86], "on_log_stderr": [79, 86], "on_log_stdout": [79, 86], "on_plugin_dis": [79, 80, 87, 88], "on_plugin_en": [79, 80, 87, 88], "on_plugin_pending_uninstal": [79, 80, 87], "on_print_progress": 95, "on_printer_add_log": [79, 81], "on_printer_add_messag": [79, 81], "on_printer_add_temperatur": [79, 81], "on_printer_received_registered_messag": [79, 81], "on_printer_send_current_data": [79, 81], "on_printer_send_initial_data": [79, 81], "on_progress": [85, 95], "on_progress_arg": [85, 95], "on_progress_kwarg": [85, 95], "on_reset": 86, "on_settings_cleanup": 95, "on_settings_initi": 95, "on_settings_load": 95, "on_settings_migr": 95, "on_settings_sav": 95, "on_shutdown": 95, "on_slicing_progress": 95, "on_startup": [80, 90, 92, 95], "on_ui_rend": 95, "on_wizard_finish": [19, 95], "onafterbind": 97, "onaftertabchang": 97, "onafterwizardtabchang": 97, "onallbound": 97, "onbeforebind": [90, 97], "onbeforeprintstart": 97, "onbeforewizardfinish": 97, "onbeforewizardtabchang": 97, "onc": [33, 37, 44, 46, 48, 52, 55, 61, 83, 86, 89, 92, 95, 96, 97], "ondataupdaterpluginmessag": 97, "ondataupdaterreconnect": 97, "one": [1, 3, 4, 6, 7, 9, 10, 11, 12, 14, 17, 23, 25, 33, 37, 40, 41, 42, 45, 47, 50, 51, 52, 54, 55, 57, 59, 61, 62, 70, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 92, 95, 96], "oneorderedhook": 92, "ones": [11, 22, 23, 33, 42, 57, 73, 80, 82, 89, 92, 95], "oneself": 78, "onev": 97, "oneventprintdon": 97, "ongo": [9, 15, 37, 41, 46, 47, 82, 92, 95, 96], "onli": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 17, 21, 22, 23, 24, 25, 26, 32, 33, 37, 40, 41, 45, 46, 47, 48, 49, 51, 52, 55, 57, 61, 62, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "onlin": [37, 47, 74, 82, 96], "onlinecheck": [37, 79, 82], "onlinecheckconfig": [79, 82], "onmessag": [62, 70], "onratetoohigh": [62, 70], "onratetoolow": [62, 70], "onserverdisconnect": 97, "onsettingsbeforesav": 97, "onsettingshidden": 97, "onsettingsshown": 97, "onslicingprogress": 97, "onstartup": 97, "onstartupcomplet": 97, "ontabchang": 97, "onuserloggedin": 97, "onuserloggedout": 97, "onuserpermissionschang": 97, "onusersettingsbeforesav": 97, "onusersettingshidden": 97, "onusersettingsshown": 97, "onwebcamrefresh": 97, "onwebcamvisibilitychang": 97, "onwizarddetail": [95, 97], "onwizardfinish": 97, "onwizardtabchang": 95, "op": 92, "open": [6, 23, 24, 32, 33, 42, 46, 48, 78, 90, 92, 95, 96, 97], "open_seri": 81, "oper": [1, 2, 5, 7, 14, 15, 19, 24, 31, 47, 48, 53, 56, 57, 66, 67, 78, 80, 81, 92, 94, 95, 96, 97], "opposit": 78, "oprint": [54, 55, 89, 90, 96], "opt": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 95], "option": [1, 3, 4, 6, 9, 11, 16, 17, 21, 23, 24, 25, 31, 32, 33, 36, 37, 39, 43, 47, 48, 51, 52, 55, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 88, 89, 90, 92, 95, 96, 97], "optionsalloworigin": [79, 83], "orang": [10, 37, 79, 82], "order": [4, 6, 9, 11, 13, 15, 16, 22, 24, 33, 37, 39, 40, 48, 51, 52, 57, 62, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 93, 96, 97], "orderedhook": 92, "ordertest": 92, "ordertestplugin": 92, "org": [9, 17, 32, 33, 34, 37, 42, 54, 56, 74, 82, 90], "organ": [40, 54], "organizeimport": 42, "origin": [2, 3, 5, 6, 10, 37, 47, 52, 79, 80, 81, 82, 83, 86, 92, 95], "original_absolute_path": [79, 83], "orward": 80, "oserror": 78, "other": [2, 3, 4, 7, 9, 10, 11, 14, 15, 23, 24, 25, 26, 34, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 57, 61, 78, 81, 82, 83, 86, 87, 90, 91, 92, 94, 95, 97], "other_kei": 86, "other_valu": 86, "otherparamet": 57, "othervalu": 57, "otherwis": [0, 2, 3, 4, 9, 10, 15, 17, 23, 25, 37, 42, 46, 48, 52, 57, 78, 80, 81, 83, 85, 86, 90, 92, 95], "our": [23, 78, 83, 88, 90, 92, 95, 97], "ourselv": 92, "out": [0, 1, 2, 9, 10, 11, 14, 23, 33, 34, 37, 41, 42, 47, 48, 49, 50, 51, 52, 58, 78, 81, 82, 85, 88, 90, 92, 95, 96, 97], "outdat": [95, 96], "outgo": 46, "outlin": [48, 95], "output": [9, 21, 36, 39, 42, 46, 48, 51, 57, 80, 81, 82, 83, 86, 90, 92], "output_timeout": 86, "outright": [4, 33, 54], "outsid": [9, 40, 47, 80, 92, 96], "outskirt": 96, "over": [37, 48, 51, 70, 78, 81, 82, 83, 88, 90, 92, 95, 97], "overal": [17, 84], "overcom": 96, "overhead": [78, 92], "overlai": [33, 77, 80, 82, 84, 87, 88, 95], "overlay_kei": [79, 84], "overload": 95, "overrid": [3, 14, 37, 51, 78, 80, 81, 82, 83, 85, 86, 88, 90, 95], "overridden": [3, 37, 78, 82, 83, 86, 95], "overview": [94, 95], "overwrit": [78, 81, 83, 90, 92, 95], "overwritten": [10, 14, 70, 78, 85, 86, 90], "owasp": 4, "own": [21, 27, 28, 29, 33, 35, 37, 49, 57, 62, 80, 82, 86, 87, 90, 92, 95, 96, 97], "owner": [23, 47], "p": [15, 25, 37, 46, 48, 51, 77, 82, 95], "p1": 21, "p500": 51, "pack": [5, 55, 62, 64, 90], "packag": [33, 54, 87, 88, 90, 93, 94, 96], "packed_cli": 62, "page": [4, 10, 33, 54, 57, 62, 77, 81, 82, 89, 93, 95, 97], "pai": 96, "pain": 90, "pair": [9, 40, 52, 57, 60, 66, 86, 95], "pane": [46, 95], "panel": [20, 24, 37, 82, 95, 97], "paragraph": 40, "param": [77, 78, 81, 83, 86, 92, 95], "param_decl": 77, "paramet": [0, 1, 3, 4, 6, 7, 9, 11, 14, 15, 16, 17, 19, 21, 23, 24, 31, 33, 37, 42, 44, 46, 47, 50, 51, 52, 55, 57, 59, 60, 61, 70, 74, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 97], "parametr": 51, "parametric_command": 37, "paramtyp": 77, "parent": [3, 61, 78, 80, 83, 95], "pariti": 92, "parity_non": 92, "parity_odd": 92, "park": 81, "park_printhead": 81, "pars": [3, 17, 36, 47, 77, 80, 83, 92, 95], "parse_firmware_lin": 92, "parse_vers": 33, "parsed_metadata": [79, 80], "parsed_temp": 92, "parsed_temperatur": 92, "parser": 82, "part": [1, 4, 10, 13, 17, 24, 31, 40, 48, 50, 51, 53, 54, 78, 80, 82, 83, 85, 87, 92, 93, 95, 96], "parti": [4, 11, 13, 23, 37, 54, 55, 62, 82, 92, 96], "partial": [10, 13, 73, 92], "particular": [9, 81, 95, 97], "pass": [4, 17, 37, 57, 74, 77, 82, 83, 86, 88, 92, 95, 96, 97], "pass_context": 92, "pass_octoprint_ctx": [77, 79, 92], "passiv": [4, 11, 58, 97], "passivelogin": [58, 62, 70], "password": [4, 25, 33, 37, 58, 70, 73, 82, 83, 91], "passwordhash": 76, "past": [2, 17, 23, 37, 47, 82, 96], "patch": [0, 10, 14, 45, 55, 57, 62, 79, 83], "patchjson": [57, 62], "path": [2, 3, 6, 8, 11, 24, 25, 31, 32, 33, 36, 37, 39, 42, 47, 57, 61, 74, 78, 80, 81, 82, 83, 84, 85, 90, 92, 94, 95, 96], "path_filt": 83, "path_in_storag": [78, 79], "path_on_disk": [78, 79], "path_processor": 83, "path_valid": [83, 92], "path_validation_factori": [79, 83, 92], "pathforentri": [61, 62], "pathnam": 39, "pathprefix": 25, "pathsuffix": [37, 79, 82], "pattern": [11, 37, 41, 57, 80, 82, 92, 95], "paus": [2, 6, 9, 21, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81, 82, 92], "pause_fanspe": 52, "pause_posit": 52, "pause_print": [79, 81], "pause_temperatur": 52, "pausetrigg": [79, 82], "pausingcommand": [37, 79, 82], "payload": [24, 32, 33, 47, 52, 57, 70, 92, 95, 97], "pbn": [37, 82], "pc": 48, "penalti": 96, "pend": [33, 80, 86, 92], "pending_deprec": [79, 86], "peopl": [52, 90], "pep440": 45, "per": [10, 11, 16, 22, 23, 33, 37, 51, 52, 81, 82, 83, 92, 95, 97], "percent": [47, 81], "percentag": [2, 3, 9, 11, 37, 47, 57, 66, 81, 82, 97], "perform": [3, 4, 16, 17, 24, 33, 37, 57, 58, 77, 78, 80, 82, 83, 87, 92, 95, 96, 97], "perform_upd": 33, "perfprofil": 44, "period": [86, 95], "perman": 83, "permessag": 83, "permiss": [1, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 23, 24, 76, 78, 80, 82, 83, 93, 95, 97], "permission_and_fresh_credentials_valid": [79, 83], "permission_valid": [79, 83], "permissionmanag": [79, 82], "permit": 48, "persist": [4, 16, 24, 33, 37, 46, 52, 58, 80, 84, 95, 97], "person": [0, 2, 33, 94], "pertain": 37, "phase": [80, 88, 93, 96], "phew": 40, "physic": [10, 37, 48, 82], "pi": [33, 48, 90, 96], "pick": [33, 90, 92], "pickl": 83, "pickleerror": 83, "pictur": [37, 82], "pid": 77, "piec": [40, 88], "pin": 46, "ping": 34, "pinnedextrud": 46, "pip": [32, 33, 37, 42, 44, 54, 55, 82, 90, 93, 96], "pip_arg": 32, "pip_command": 33, "pip_cwd": 33, "pip_force_us": 32, "pisupport": 33, "pitfal": 93, "pkg_resourc": 33, "pla": [37, 82], "place": [3, 11, 37, 41, 52, 54, 78, 81, 82, 83, 84, 86, 90, 92, 95, 96], "placehold": [21, 33, 37, 46, 51, 56, 60, 80, 82, 83, 92, 95], "plai": [40, 84], "plain": [17, 57, 83], "plan": [48, 54, 57, 96], "platform": [4, 42, 48, 56, 77, 79, 80, 92, 95], "pleas": [4, 6, 9, 21, 26, 33, 34, 35, 37, 42, 43, 48, 51, 52, 54, 55, 56, 70, 80, 82, 83, 87, 89, 90, 92, 95, 96], "plot": 11, "plu": [9, 37, 41, 85, 95, 97], "plug": 87, "plugin": [4, 7, 8, 11, 13, 19, 27, 28, 38, 39, 42, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 57, 62, 65, 68, 79, 81, 82, 84, 87, 88, 91, 94, 97], "plugin_": [37, 80, 90, 92, 95], "plugin_a": 95, "plugin_achiev": 82, "plugin_achievements_2": 82, "plugin_action_command_notification_clear": 20, "plugin_action_command_notification_show": 20, "plugin_action_command_prompt": 13, "plugin_additional_data": 90, "plugin_additional_packag": 90, "plugin_announc": [13, 37, 82], "plugin_appkei": [37, 82], "plugin_appkeys_admin": [23, 92], "plugin_appkeys_gr": 23, "plugin_asset": 95, "plugin_author": 90, "plugin_author_email": 90, "plugin_b": 95, "plugin_backup": [37, 82], "plugin_backup_backup_cr": 24, "plugin_bas": 80, "plugin_blacklist": 80, "plugin_c": 95, "plugin_considered_bundl": 80, "plugin_corewizard_acl": [37, 82], "plugin_corewizard_onlinecheck": 82, "plugin_curalegaci": 13, "plugin_custom_template_provider_awesometempl": 92, "plugin_d": 95, "plugin_descript": 90, "plugin_disabled_list": 80, "plugin_entry_point": 80, "plugin_errortrack": [37, 82], "plugin_eventmanag": 82, "plugin_example_my_permiss": 92, "plugin_firmware_check": 37, "plugin_firmware_check_info": 82, "plugin_firmware_check_warn": 82, "plugin_fold": 80, "plugin_gcodeview": [37, 82], "plugin_hash": 11, "plugin_helloworld": 37, "plugin_helloworld_url": 90, "plugin_homepag": 90, "plugin_hook": [79, 80], "plugin_id": 13, "plugin_identifi": 90, "plugin_ignored_packag": 90, "plugin_installurl": 90, "plugin_kei": 80, "plugin_licens": 90, "plugin_lifecycle_manag": 92, "plugin_log": [13, 37, 82], "plugin_logging_plugintimingslog": 82, "plugin_logging_seriallog": 82, "plugin_manag": [77, 79, 80, 92], "plugin_myplugin": 95, "plugin_myplugin_1": 95, "plugin_myplugin_1st": 95, "plugin_myplugin_2": 95, "plugin_myplugin_2nd": 95, "plugin_myplugin_my_custom_ev": 92, "plugin_myplugin_my_other_custom_ev": 92, "plugin_nam": [13, 54, 90], "plugin_obsolete_hook": 80, "plugin_packag": 90, "plugin_pi_support": [37, 82], "plugin_pluginmanag": [13, 37, 82], "plugin_pluginmanager_about_thirdparti": 13, "plugin_pluginmanager_disabled_plugin": 32, "plugin_pluginmanager_enable_plugin": 32, "plugin_pluginmanager_install_plugin": 32, "plugin_pluginmanager_uninstall_plugin": 32, "plugin_printer_safety_check": 13, "plugin_requir": 90, "plugin_restart_needing_hook": 80, "plugin_set": [79, 80, 92], "plugin_settings_for_settings_plugin": 92, "plugin_settings_from_settings_plugin": 92, "plugin_softwareupd": [13, 37, 82], "plugin_softwareupdate_upd": 82, "plugin_softwareupdate_update_fail": 33, "plugin_softwareupdate_update_succeed": 33, "plugin_sorting_ord": 80, "plugin_sourc": 90, "plugin_track": [37, 82], "plugin_url": 90, "plugin_valid": 80, "plugin_vers": 90, "plugin_virtual_printer_seri": 46, "plugina": 95, "pluginassetresolv": [79, 83], "pluginb": 95, "pluginblacklist": [37, 79, 82], "pluginblacklistconfig": [79, 82], "pluginc": 95, "plugind": 95, "plugininfo": [79, 80, 94], "pluginmanag": [13, 77, 79, 80, 93, 94, 95], "pluginnam": 95, "pluginname_eventtyp": 47, "pluginsconfig": [79, 82], "pluginset": [47, 79, 80, 92, 94], "pluginsettingsmanag": 95, "plugintim": [79, 82], "png": [17, 47], "po": 81, "point": [9, 11, 44, 52, 57, 78, 80, 81, 83, 87, 89, 90, 97], "polici": [26, 34, 80, 88], "poll": [37, 82, 92], "pollwatch": [37, 79, 82], "pop": 41, "popen": 86, "popul": [2, 57, 78, 83, 90, 95], "popup": [20, 81], "port": [1, 4, 13, 17, 25, 37, 47, 57, 59, 74, 77, 79, 81, 82, 83, 84, 88, 91, 92, 95, 96], "portfallback": [79, 82], "porthead": [79, 82], "portopt": 13, "portprefer": [1, 81], "posautoreport": [79, 82], "posit": [2, 3, 9, 23, 47, 51, 52, 77, 78, 81, 82, 85, 86, 92, 95], "positionlogwait": [79, 82], "positionupd": 47, "possibl": [3, 4, 8, 9, 14, 17, 22, 24, 33, 37, 39, 40, 46, 47, 48, 51, 54, 56, 65, 70, 78, 80, 81, 82, 88, 90, 92, 95, 96, 97], "possibli": [2, 92, 95], "post": [0, 1, 3, 4, 6, 7, 9, 10, 13, 15, 16, 17, 19, 23, 37, 57, 62, 79, 82, 83, 93, 95], "postfix": [80, 92], "postjson": [57, 62], "postprocess": 92, "postrol": [16, 37, 79, 82], "potenti": [2, 10, 41, 42, 70, 80], "power": [92, 95], "poweroff": 47, "poweron": 47, "pp": [79, 86], "practic": 97, "pragma": 83, "pre": [41, 42, 80, 82, 83, 89, 90, 93], "precaut": 88, "preced": [49, 92], "precondit": 6, "preconfigur": [22, 83, 92], "predefin": [48, 53, 92, 95], "predic": 86, "preemptiv": [37, 79, 82, 95], "preemptive_cach": 92, "preemptivecach": [37, 79, 82, 92], "preemptivecacheconfig": [79, 82], "prefer": [1, 37, 42, 62, 81, 82, 96], "preferred_stylesheet": 95, "prefil": 90, "prefix": [3, 18, 25, 33, 37, 40, 41, 47, 62, 82, 83, 86, 90, 92, 95], "prefixawarejinjaenviron": [79, 83], "prefixfallback": [37, 79, 82], "prefixhead": [37, 79, 82], "prelaunchtask": 42, "preliminari": 95, "prepar": [41, 46, 62, 79, 83, 89, 90, 92, 96], "prepare_ok": 46, "preparedok": 46, "prepend": [37, 57, 92], "prependablequeu": [79, 86], "preprocess": [61, 92, 95], "preprocessor": [80, 84, 93, 95], "prereleas": 33, "prerelease_branch": [33, 89], "prerelease_channel": 33, "prerequisit": 42, "presenc": [0, 4, 33, 37, 82, 95], "present": [0, 2, 3, 4, 9, 15, 16, 17, 37, 42, 47, 49, 52, 62, 66, 81, 82, 86, 88, 92, 95, 96], "preserv": 78, "press": [42, 51, 82, 86], "pretti": [9, 48, 89, 90, 96], "prevent": [11, 16, 24, 37, 51, 82, 83, 90, 92, 95, 97], "preview": [29, 41], "previou": [2, 4, 11, 52, 90, 97], "previous": 95, "primari": 90, "primarili": [56, 96], "prime": [29, 52], "primer": [38, 48, 51, 55, 56], "print": [1, 3, 5, 6, 10, 11, 13, 14, 15, 16, 21, 34, 37, 46, 48, 49, 50, 51, 52, 57, 61, 66, 78, 79, 80, 81, 82, 85, 86, 90, 92, 95, 97], "print_funct": 96, "print_time_estimator_factori": 92, "printabl": [47, 92], "printafterselect": 81, "printcancel": [47, 52], "printcancelconfirm": [37, 79, 82], "printdon": [47, 52], "printer": [1, 3, 5, 6, 11, 13, 15, 21, 28, 30, 32, 34, 38, 43, 48, 49, 50, 51, 52, 56, 59, 60, 62, 67, 78, 79, 82, 85, 88, 93, 94, 97], "printer_data": 92, "printer_factory_hook": 92, "printer_paramet": 82, "printer_profil": [37, 51, 52, 78, 81, 82, 92, 95], "printer_profile_id": 85, "printer_profile_manag": [85, 92], "printer_safety_check": [13, 34], "printercallback": [79, 81, 92], "printerinst": 92, "printerinterfac": [79, 80, 81, 92, 94], "printerparamet": [79, 82], "printerparametersconfig": [79, 82], "printerprofil": [1, 3, 10, 13, 37, 56, 59, 62, 78, 79, 82], "printerprofilemanag": [79, 80, 81, 85, 92, 94], "printerprofilemodifi": 47, "printerprofileprefer": 1, "printerprofilesconfig": [79, 82], "printerprofilesviewmodel": 97, "printerstatechang": 47, "printerstateviewmodel": 97, "printfail": [11, 47], "printhead": [9, 92], "printingarea": [2, 78], "printjob": 34, "printpaus": [47, 52], "printresum": [47, 52], "printstart": [47, 52], "printstartconfirm": [79, 82], "printtim": [2, 6, 37, 79, 81, 82, 92], "printtimeestim": 92, "printtimeestimationconfig": [79, 82], "printtimegeniu": 32, "printtimeleft": [2, 6, 81, 92], "printtimeleftorigin": 2, "prior": [6, 48, 57, 78, 81, 92, 95, 97], "priorit": 78, "prioriti": [22, 37, 78, 82], "privaci": [26, 34, 37, 80, 88], "privacypolici": [79, 80], "privat": 33, "privileg": 42, "pro": 33, "probabl": [33, 40, 47, 48, 89, 95, 96], "problem": [9, 33, 34, 37, 82, 90, 92, 96], "problemat": 96, "proce": [21, 23, 24, 48, 83, 85, 92, 97], "proceed": [21, 48, 90], "process": [2, 3, 7, 16, 21, 24, 37, 46, 51, 54, 57, 66, 70, 77, 78, 80, 82, 83, 86, 90, 92, 95], "process_lin": [78, 79, 92, 96], "produc": [11, 21, 83, 86, 90, 95], "product": [37, 80, 82, 92], "profil": [1, 2, 3, 5, 9, 13, 38, 42, 43, 52, 56, 67, 69, 78, 79, 82, 85, 92, 94, 95, 97], "profile_nam": 85, "profile_path": [85, 95], "profilealreadyexist": [79, 85], "profileexcept": [79, 85], "profileid": 69, "profiles_last_modifi": [79, 85], "program": [9, 42, 90], "programm": 90, "programmat": [15, 95], "progress": [3, 6, 11, 47, 54, 57, 81, 85, 92, 95, 97], "progress_report": 95, "progressavail": 47, "progressoutput": 57, "progressplugin": 93, "project": [27, 28, 42, 90, 96], "projectfiledir": 42, "promis": [23, 31, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75], "prompt": [13, 20, 23, 26, 30, 49, 56, 77, 90], "prompt_begin": 21, "prompt_button": 21, "prompt_choic": 21, "prompt_end": 21, "prompt_requir": 77, "prompt_show": 21, "prone": 92, "pronterfac": 49, "proper": [57, 90, 93, 95], "properli": [1, 33, 37, 48, 54, 57, 82, 89, 90, 95], "properti": [0, 2, 3, 9, 10, 13, 19, 33, 37, 51, 52, 56, 57, 61, 66, 70, 72, 77, 78, 80, 81, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97], "protect": [5, 82, 95], "proto": 83, "protocol": [17, 37, 49, 50, 74, 82, 83, 88, 93], "protocol_action_hook": 92, "protocol_atcommandphase_hook": 92, "protocol_gcodephase_hook": 92, "protocol_scripts_hook": 92, "protocol_temperatures_received_hook": 92, "protocol_vers": [46, 92], "prototyp": 57, "proven": 96, "provid": [0, 3, 8, 9, 10, 11, 13, 16, 17, 19, 23, 24, 26, 29, 33, 34, 35, 36, 37, 42, 47, 48, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 65, 68, 69, 70, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 97], "proxi": [37, 82, 83, 92], "pubkei": 37, "public": [25, 33, 48, 56, 90], "publicli": [48, 95], "publicport": 25, "publish": [25, 33, 89, 90, 91, 95], "pull": [42, 96], "pure": [33, 95], "purpos": [4, 37, 80, 90, 92, 95], "push": [4, 5, 9, 23, 24, 33, 41, 47, 56, 62, 70, 90, 92, 96, 97], "put": [0, 14, 17, 37, 48, 57, 62, 79, 81, 83, 84, 86, 90, 95, 96], "putjson": [57, 62], "py": [32, 33, 42, 47, 88, 89, 90, 92, 95, 96], "py2": 96, "py311": 90, "py__": 89, "pybonjour": 91, "pyc": 90, "pycharm": 43, "pyenv": 90, "pyinstrument": 44, "pyinterpreterdirectori": 42, "pylinten": 42, "pypi": [33, 54], "pypi_releas": 33, "pyseri": 92, "pytest": 42, "python": [32, 33, 37, 39, 40, 42, 47, 51, 54, 56, 78, 80, 82, 86, 87, 88, 89, 90, 92, 93, 95], "python2": 96, "python3": [42, 96], "python37": 96, "python3execut": 96, "python_check": 33, "python_requir": 90, "python_updat": 33, "pythoncompat": [79, 80], "q": 82, "qualifi": [78, 86], "qualiti": [14, 81], "queri": [2, 3, 4, 6, 9, 23, 33, 37, 57, 82, 92, 95], "question": [4, 9, 23, 33, 83, 92], "queu": [81, 92], "queue": [21, 78, 86, 92, 94, 95, 96], "queue_factori": 78, "queueentri": [78, 79], "quick": [82, 90], "quick_test": 14, "quickli": [37, 55, 90, 96], "quirk": 35, "quit": [40, 90, 92, 96], "quo": [11, 14], "quot": [40, 49], "quoted_str": 40, "r": [17, 37, 74, 77, 80, 83, 92], "r0lgodlhaqabaiaaaaaaap": 17, "rais": [78, 80, 81, 83, 84, 85, 86, 95], "ran": 86, "random": [78, 82, 92], "random_greet_command": 92, "randomli": [37, 82], "randrang": 92, "rang": [4, 9, 17, 37, 48, 51, 52, 82, 83, 92, 96], "rare": 4, "raspberri": [33, 48, 90], "raspi": 47, "rate": [9, 11, 16, 33, 37, 47, 52, 70, 81, 82, 97], "rateslidingwindows": 70, "rather": [4, 37, 82], "ratio": [2, 46, 82], "ratioenum": [79, 82], "raw": [17, 33, 36, 42, 57, 74, 80, 84, 92], "rawiobas": 78, "rc": [26, 33, 41], "re": [33, 81, 82, 92, 95], "reach": [17, 51, 56, 92], "reachabl": [17, 25, 48, 74, 92, 95], "react": [24, 54, 80, 87, 90, 92, 95], "read": [4, 9, 10, 17, 37, 43, 48, 51, 54, 57, 74, 78, 81, 82, 83, 89, 90, 92, 93, 95], "read_m115_respons": 92, "read_timeout": 92, "readabl": [0, 2, 11, 17, 23, 33, 40, 47, 78, 79, 80, 81, 82, 83, 86, 90, 92, 95], "reader": 22, "readi": [2, 4, 9, 33, 48, 66, 81, 89, 90, 92, 93, 95], "readlin": 92, "readm": 90, "readonly_group": 92, "real": [11, 46, 83, 86, 92], "realli": [15, 33, 37, 48, 55, 82, 90], "really_univers": 78, "reason": [1, 3, 4, 9, 11, 12, 24, 47, 52, 77, 80, 86, 88, 90, 92, 95], "reauthent": [11, 37, 82], "reauthrequir": 11, "reboot": 15, "rebuild": 42, "rebuilt": 83, "receiv": [2, 11, 17, 21, 23, 33, 44, 46, 47, 49, 51, 52, 70, 78, 80, 81, 82, 83, 90, 93, 95, 97], "recent": [0, 23, 33, 83, 86, 95], "recogn": [11, 33, 49, 80, 86, 87, 88, 90, 95], "recommend": [4, 23, 24, 33, 47, 89, 90, 92, 95, 96], "reconnect": [1, 32, 62, 70, 93], "reconnect_hook": 93, "reconnect_hooks_hook": 32, "record": [0, 4, 16, 25, 37, 47, 82, 95], "recov": 47, "recover": 92, "recoveri": [4, 55, 82, 92], "rectangular": [10, 79, 81], "recurs": [2, 3, 61, 78, 86, 90], "recursivelyprintnam": 61, "recv": [9, 11, 37, 82], "red": [10, 22, 37, 51, 79, 82, 95], "redefin": [37, 39], "redirect": [17, 30, 82, 83, 95], "redirect_to_tornado": [79, 83], "reduc": [37, 82, 90], "redund": [2, 90], "reenqueu": 78, "reestablish": 97, "ref": [2, 3, 31], "refer": [3, 8, 9, 15, 26, 34, 35, 54, 55, 65, 70, 78, 82, 83, 90, 92, 94, 95, 96, 97], "referenc": [39, 92], "reflect": [9, 13, 17, 66, 90], "refresh": [3, 9, 42, 66, 82, 89, 97], "refreshsd": [62, 66], "refus": [37, 78, 96], "regard": [1, 2, 3, 6, 12, 18, 31, 95, 96], "regardless": [37, 62, 82, 87, 92, 95, 96], "regener": [5, 11, 37, 82], "regex": [11, 37, 51, 79, 81, 82, 83, 97], "regist": [0, 5, 13, 14, 23, 33, 37, 42, 57, 62, 70, 73, 75, 78, 80, 81, 82, 83, 85, 87, 90, 91, 93, 95, 96], "register_callback": [79, 81], "register_custom_ev": [47, 93], "register_custom_events_hook": 92, "register_finish_callback": 78, "register_message_receiv": [79, 80], "registered_slic": [79, 85], "registerplugincompon": [57, 62], "registr": [57, 78, 89, 92, 96], "registri": 57, "regret": 48, "regular": [22, 24, 37, 41, 42, 46, 48, 51, 54, 56, 80, 81, 82, 92, 95], "regular_express": 82, "regularli": [33, 54], "reinstal": [24, 33, 90], "reject": [23, 37, 57, 82], "rel": [2, 9, 10, 24, 37, 52, 57, 62, 78, 81, 82, 83, 90, 94, 95, 96], "rel_path": 83, "relat": [3, 5, 24, 34, 41, 46, 78, 81, 85, 89, 96], "releas": [9, 22, 26, 27, 28, 29, 33, 34, 35, 41, 42, 45, 48, 56, 66, 93, 96], "release_compar": 33, "releasesd": [62, 66], "relev": [2, 9, 20, 31, 37, 77, 80, 83, 95], "reli": [4, 37, 57, 82, 95, 96], "reload": [80, 87, 90, 95, 97], "reload_plugin": [79, 80], "reload_slic": [79, 85], "reloadneedingplugin": [79, 80, 87, 93], "remain": 90, "rememb": [4, 37, 58, 82, 90, 95, 97], "rememberfilefold": [79, 82], "remind": 55, "remot": [17, 33, 37, 47, 82, 90, 92], "remote_filenam": 92, "remote_ip": 83, "remote_nam": 92, "remote_us": [37, 82], "remote_vers": 33, "remoteaddress": 47, "remoteuserhead": [37, 79, 82], "remov": [1, 2, 5, 11, 33, 36, 37, 47, 49, 57, 70, 78, 79, 80, 81, 83, 84, 86, 90], "remove_additional_metadata": [78, 79], "remove_fil": [78, 79], "remove_fold": [78, 79], "remove_handl": [79, 83], "remove_link": [78, 79], "remove_overlai": [79, 80, 84], "remove_path_update_callback": [79, 84], "remove_valu": 36, "removed_head": 83, "removemessag": [62, 70], "renam": [86, 90], "render": [9, 37, 44, 47, 51, 52, 55, 72, 81, 82, 90, 92, 95], "render_kwarg": 95, "render_templ": 95, "renderunrend": [62, 72], "rendit": [51, 82, 95], "reorder": 37, "repeat": [42, 61], "repeatedli": 86, "repeatedtim": [79, 86], "repeti": [37, 46, 82], "repetierstyleresend": 46, "repetierstyletargettemperatur": 46, "repetiertargettemp": [37, 79, 82], "repetit": 51, "replac": [4, 9, 11, 37, 39, 51, 60, 76, 80, 81, 82, 84, 86, 90, 92, 95], "repli": [9, 17, 46], "replic": [57, 92], "repo": 33, "repo_nam": 90, "report": [9, 33, 37, 41, 42, 46, 47, 51, 52, 54, 55, 82, 83, 85, 92, 95, 96], "repositori": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 41, 42, 54, 56, 88, 90, 93, 95, 96], "repository_ttl": 32, "reprap": [10, 49], "repres": [0, 2, 10, 11, 31, 40, 51, 66, 78, 80, 81, 84, 86, 92, 95], "represent": [2, 6, 7, 36, 40, 47, 51, 57, 78, 80], "reproduc": [46, 55], "request": [1, 2, 3, 5, 6, 7, 11, 12, 13, 15, 16, 17, 18, 19, 31, 33, 37, 42, 43, 46, 47, 49, 52, 56, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 80, 82, 83, 85, 90, 91, 92, 95, 96, 97], "requestforus": 23, "requesthandl": [83, 92], "requestlessexceptionloggingmixin": [79, 83], "requir": [0, 1, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 33, 37, 42, 51, 64, 70, 71, 73, 74, 75, 80, 82, 83, 85, 86, 87, 89, 90, 92, 95], "require_configur": 85, "require_credentials_checked_rec": [79, 83], "require_en": 80, "require_exist": 85, "require_fresh_login_with": [79, 83], "require_login": [79, 83], "require_login_with": [79, 83], "required_en": 80, "rerend": [37, 82], "resembl": 90, "resend": [11, 37, 46, 47, 82, 92], "resend_loop": 47, "resend_ratio": 46, "resend_with_timeout": 46, "resendok": [79, 82], "resendratiostart": [79, 82], "resendratiothreshold": [37, 79, 82], "reserv": [33, 41], "reset": [37, 39, 46, 52, 73, 82, 83, 86, 92], "resetapikei": [62, 73], "resetlin": 46, "resettabletim": [79, 86], "reshow": 95, "resid": [37, 80, 87, 92], "resolut": 82, "resolv": [17, 23, 57, 61, 66, 72, 74, 78, 80, 90, 97], "resolve_output_to_path": [79, 83], "resourc": [2, 3, 4, 9, 10, 14, 15, 31, 83, 92, 95], "resp": 83, "respect": [33, 37, 52, 57, 78, 82, 83, 86, 87, 92, 95], "respond": [9, 15, 17, 46, 81, 83], "respons": [2, 10, 12, 13, 14, 16, 17, 18, 37, 44, 46, 47, 48, 52, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 81, 82, 83, 85, 92, 95, 96, 97], "rest": [9, 11, 37, 45, 47, 52, 56, 66, 90, 92, 95], "restart": [6, 11, 15, 16, 33, 37, 42, 48, 49, 51, 55, 58, 62, 63, 80, 82, 87, 90, 92, 95, 96], "restartneedingplugin": [79, 80, 87, 93], "restor": [24, 48], "restore_unsupport": 24, "restrict": [3, 15, 23, 92, 95], "restricted_access": [79, 83], "result": [3, 9, 15, 23, 24, 37, 44, 47, 51, 57, 66, 74, 78, 80, 81, 82, 83, 85, 86, 92, 95, 96], "result1": 96, "result2": 96, "resum": [6, 37, 46, 47, 49, 50, 62, 63, 78, 79, 81], "resume_print": [79, 81], "retract": [9, 16, 37, 52, 66, 81, 82], "retractionzhop": [16, 37, 79, 82], "retriev": [1, 4, 5, 12, 15, 18, 23, 33, 36, 46, 51, 52, 59, 60, 61, 63, 64, 66, 67, 68, 69, 70, 71, 72, 75, 78, 80, 81, 82, 83, 84, 85, 86, 90, 91, 95], "return": [0, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 31, 32, 33, 37, 47, 51, 57, 58, 59, 60, 61, 63, 64, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 90, 91, 92, 94, 95, 96, 97], "returncod": [47, 86], "retval": 92, "reus": [4, 33, 90], "reusabl": 52, "rev": 42, "revers": [9, 37, 77, 78, 82], "reverseproxi": [37, 79, 82], "reverseproxyconfig": [79, 82], "revert": [37, 47, 82], "revis": 42, "revisit": 96, "revoc": 23, "revok": [4, 23], "revokekei": 23, "revokekeyforapp": 23, "rewrit": [37, 82, 83, 92], "rewrite_foo": 92, "rewrite_m107": 92, "rewritem107plugin": 92, "rewritten": [83, 92], "rfc": [3, 4], "rfc6454": 83, "right": [0, 2, 3, 4, 11, 13, 23, 24, 31, 32, 33, 37, 42, 47, 48, 51, 54, 64, 71, 73, 74, 75, 81, 82, 87, 90, 92, 95, 96], "risk": [48, 49], "roadmap": 96, "rock": 41, "role": [2, 48, 76, 84, 92, 95, 97], "roll": [16, 37, 82], "rollov": 39, "root": [2, 3, 4, 37, 42, 54, 57, 61, 78, 82, 83, 90], "rotat": [37, 82], "rotate90": [37, 79, 82], "rotatingfilehandl": 39, "roughli": [48, 92, 96], "round": [57, 70, 86, 92, 96], "roundtrip": 11, "rout": [48, 93, 95], "route_hook": 92, "router": 92, "rpi1": 37, "rsa": 37, "rss": 22, "rubi": 42, "rule": [38, 42, 92, 95, 96], "run": [3, 9, 12, 14, 15, 19, 24, 25, 26, 33, 34, 37, 39, 41, 43, 47, 48, 51, 52, 54, 55, 63, 79, 81, 82, 86, 88, 89, 90, 92, 95, 96, 97], "run_first": 86, "run_serv": [77, 79], "runat": [79, 82], "runatenum": [79, 82], "runawai": 47, "runout": 21, "runtim": [46, 87, 95, 96], "runtimeexcept": 81, "rx": 46, "rxbuffer": 46, "s0": [9, 21, 37, 52, 82, 92], "s220": [3, 46], "s3g": 92, "s_or_u": 86, "sadli": [42, 53, 90, 95, 96, 97], "safari": 25, "safe": [10, 12, 37, 52, 53, 54, 56, 80, 82, 86], "safe_mod": 77, "safemod": [12, 55], "safeti": [13, 28, 34], "sai": [48, 55, 88, 93], "said": [37, 47, 48, 82], "sake": 92, "salt": [48, 79, 82], "salv": 92, "same": [2, 3, 4, 9, 10, 11, 14, 21, 23, 24, 25, 32, 33, 37, 40, 44, 46, 47, 48, 50, 52, 54, 70, 77, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "same_devic": 95, "samedevic": 14, "samesit": [37, 79, 82, 83], "samesiteenum": [79, 82], "sampl": 62, "sane": [92, 95], "sanit": [78, 79, 86, 92], "saniti": [37, 82, 92], "sanitize_filenam": 78, "sanitize_nam": [78, 79], "sanitize_path": [78, 79], "sanitize_temperatur": 92, "sanity_check_fold": [79, 84], "sanitychecktool": [79, 82], "sarg": 86, "save": [1, 3, 5, 10, 14, 16, 37, 42, 47, 59, 62, 68, 72, 73, 78, 79, 80, 81, 84, 85, 90, 92, 95], "save_profil": [79, 85], "save_sess": [79, 83], "save_slicer_profil": [85, 95], "saveconfig": [62, 72], "saveerror": [79, 81], "savepluginset": [62, 68], "savescript": [79, 84], "saveset": [62, 73], "saw": 40, "scalabl": 95, "scale": 95, "scan": 25, "scan_dep": 42, "scari": [37, 48], "scenario": 96, "schema": [56, 79], "scheme": [25, 37, 41, 82, 83], "schemefallback": [37, 79, 82], "schemehead": [37, 79, 82], "scope": [42, 83], "screen": [48, 90, 95], "script": [9, 13, 33, 38, 42, 47, 49, 50, 53, 56, 57, 60, 62, 79, 81, 82, 83, 84, 90, 93, 94, 96], "script_nam": 92, "script_typ": [84, 92], "scriptlin": 92, "scriptnam": [47, 92], "scriptsconfig": [79, 82], "sd": [2, 3, 5, 25, 37, 46, 47, 49, 52, 66, 81, 82, 92], "sd_card_upload_hook": 92, "sd_eject": 49, "sd_insert": 49, "sd_status_pol": 92, "sd_updat": 49, "sd_upload_fail": 92, "sd_upload_failur": 92, "sd_upload_start": 92, "sd_upload_succeed": 92, "sd_upload_success": 92, "sdalwaysavail": [37, 79, 82], "sdcancelcommand": [79, 82], "sdcard": [2, 3, 11, 47, 61, 81, 92], "sdcardupload": 93, "sdfile": 46, "sdist": 90, "sdk": 42, "sdlowercas": [79, 82], "sdreadi": [2, 9, 81], "sdrelativepath": [37, 79, 82], "sdstatu": [13, 37, 79, 82, 84], "sdstatusautoreport": [79, 82], "sdsupport": [37, 79, 82], "search": 29, "sec": 37, "second": [2, 4, 9, 10, 11, 16, 17, 23, 34, 37, 46, 47, 66, 70, 78, 80, 81, 82, 83, 86, 92, 95, 96, 97], "secret": [37, 82], "secretkei": [37, 79, 82], "section": [4, 24, 33, 37, 40, 51, 80, 82, 83, 90, 92, 95, 96], "section_featur": [13, 37, 82], "section_octoprint": [13, 37, 82], "section_plugin": [13, 37], "section_print": [13, 37, 82], "secur": [4, 26, 37, 48, 79, 82, 83], "see": [0, 2, 4, 6, 9, 11, 13, 16, 23, 25, 31, 33, 35, 37, 41, 42, 47, 48, 49, 51, 52, 54, 55, 57, 59, 60, 61, 63, 64, 66, 70, 74, 82, 83, 86, 88, 89, 90, 92, 95, 96, 97], "seek": 78, "seekabl": [78, 79], "seem": [6, 37, 42, 82, 90, 96], "seen": [19, 90, 95], "seen_wizard": 95, "seenwizard": [79, 82], "segment": [45, 46], "select": [1, 3, 6, 9, 10, 11, 21, 23, 31, 33, 37, 42, 45, 46, 47, 49, 51, 52, 55, 61, 62, 66, 81, 82, 83, 85, 95, 97], "select_fil": [79, 81], "select_sd": 46, "selector": [57, 90], "selecttool": [62, 66], "self": [24, 33, 51, 78, 80, 82, 83, 90, 91, 92, 94, 95, 97], "semant": [33, 45, 52, 90], "semantic_vers": 33, "send": [3, 4, 5, 11, 21, 23, 34, 37, 42, 46, 48, 49, 50, 51, 52, 57, 60, 62, 66, 70, 80, 81, 82, 92, 95, 97], "send_initial_callback": [79, 81], "send_plugin_messag": [79, 80], "send_printhead_back": 81, "sendauth": [62, 70], "sendautomat": [79, 82], "sendautomaticallyaft": [79, 82], "sendbusi": 46, "sendchecksumwithunknowncommand": [37, 79, 82], "sendgcod": [60, 62], "sendgcodescript": [60, 62], "sendgcodescriptwithparamet": [60, 62], "sendgcodewithparamet": [60, 62], "sendm112onerror": [79, 82], "sendmessag": [62, 70], "sendwait": 46, "sens": [4, 40, 47, 48, 86, 90, 92, 95], "sensit": [40, 51, 82, 95], "sent": [3, 4, 9, 11, 20, 21, 26, 37, 46, 47, 49, 50, 52, 66, 81, 82, 83, 88, 92, 95, 97], "sent_m106": 92, "sentri": 26, "separ": [9, 27, 28, 40, 42, 46, 66, 78, 80, 86, 95], "sequenc": [77, 92], "sequenti": 86, "serial": [1, 3, 6, 9, 11, 13, 25, 31, 38, 39, 40, 46, 47, 49, 52, 57, 61, 79, 81, 82, 83, 84, 86, 93, 95], "serial_factory_hook": 92, "serial_obj": 92, "serialcap": [79, 82], "serialconfig": [79, 82], "serialfil": 39, "serialmaxtimeout": [79, 82], "serialtimeoutconfig": [79, 82], "serv": [4, 37, 42, 44, 51, 55, 82, 83, 90, 95, 96], "server": [1, 3, 5, 9, 11, 13, 14, 15, 18, 23, 24, 26, 33, 34, 38, 42, 44, 51, 54, 55, 56, 57, 60, 61, 62, 66, 70, 74, 79, 81, 82, 84, 88, 90, 93, 95, 96, 97], "server_bodysize_hook": 92, "server_error": 17, "server_nam": [79, 83], "server_opt": [77, 79], "server_port": [79, 83], "server_rout": 92, "server_route_hook": 92, "serverconfig": [79, 82], "serverfallback": [79, 82], "serverhead": [79, 82], "serverrestartcommand": [37, 79, 82], "servic": [26, 30, 37, 48, 95, 96], "session": [4, 11, 24, 31, 47, 57, 58, 64, 70, 71, 73, 74, 75, 83, 95], "session_id": 83, "session_refresh_each_request": 83, "sessionmanag": 80, "set": [2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 31, 32, 33, 36, 38, 39, 41, 43, 44, 48, 49, 51, 52, 55, 56, 57, 58, 59, 61, 62, 66, 70, 73, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 92, 93, 94, 95, 96, 97], "set_additional_metadata": [78, 79], "set_boolean": [79, 80], "set_close_exec": [79, 86], "set_cooki": [79, 83], "set_ctx_obj_opt": [77, 79], "set_default_head": [79, 83], "set_default_profil": [79, 85], "set_extra_head": [79, 83], "set_float": [79, 80], "set_handl": [79, 83], "set_int": [79, 80], "set_job_on_hold": [79, 81], "set_preprocessor": 80, "set_temperatur": [79, 81], "set_temperature_offset": [79, 81], "setbasefold": [79, 84], "setbedtargettemperatur": [62, 66], "setbedtemperatureoffset": [62, 66], "setboolean": [79, 80, 84], "setchambertargettemperatur": [62, 66], "setchambertemperatureoffset": [62, 66], "setfeedr": [62, 66], "setfloat": [79, 80, 84], "setflowr": [62, 66], "setint": [79, 80, 84], "setpaus": 92, "setter": [80, 81, 84, 95], "setting1": 40, "setting2": 40, "settings_read": 13, "settingscheckupdat": [79, 83], "settingsmanag": 92, "settingsplugin": [13, 90, 92, 93, 94], "settingsupd": [47, 80], "settingsviewmodel": [90, 97], "settooltargettemperatur": [62, 66], "settooltemperatureoffset": [62, 66], "setup": [15, 19, 24, 33, 37, 43, 52, 57, 62, 82, 83, 88, 89, 90, 96], "setuptool": [42, 89, 90], "sever": [4, 47, 96, 97], "sha": 83, "sha1": 78, "shadow": 86, "shall": 83, "shallow": 86, "share": [4, 10, 46, 77, 81, 86, 94, 95], "sharednozzl": [10, 46, 52, 81, 82], "shed": 40, "sheet": 96, "shell": [37, 42], "shift": [42, 90], "shini": 90, "ship": [37, 54, 55, 82], "short": [47, 83, 95], "shortcut": [57, 74, 83, 90], "shorten": [37, 82], "shorthand": 63, "shot": 16, "should": [0, 1, 2, 4, 8, 9, 11, 13, 14, 17, 21, 22, 23, 24, 25, 32, 33, 37, 41, 42, 46, 47, 48, 49, 51, 57, 62, 65, 66, 77, 78, 80, 81, 82, 83, 86, 88, 90, 92, 94, 95, 96, 97], "should_set_cooki": [79, 83], "shouldn": [32, 33, 48, 90], "show": [4, 14, 24, 33, 36, 37, 46, 80, 82, 90, 91, 92, 95], "show_bundl": 80, "show_choic": 77, "show_default": 77, "show_en": 80, "show_envvar": 77, "show_loc": 80, "showfahrenheitalso": [79, 82], "showinternalfilenam": [37, 79, 82], "showloadinganim": [37, 79, 82], "shown": [20, 37, 82, 95, 97], "shut": [37, 47, 82, 95], "shutdown": [15, 34, 37, 47, 48, 49, 54, 55, 82, 95], "shutdownplugin": 93, "sibl": 92, "side": [4, 37, 46, 83, 95], "sidebar": [13, 20, 37, 79, 82, 95, 97], "signal": [11, 21, 23, 49, 92, 95], "signatur": [33, 57, 85, 86, 92], "signifi": [9, 15, 80, 92, 95], "silent": [24, 37, 78, 82, 83, 84], "similar": [13, 22, 40, 80, 83, 86, 92, 96], "similarli": 83, "simpl": [11, 20, 21, 37, 39, 40, 46, 51, 52, 54, 88, 90, 92, 95], "simpleapicommand": [57, 62], "simpleapiget": [57, 62], "simpleapiplugin": [57, 93], "simplecach": 83, "simpli": [37, 42, 48, 52, 95, 96], "simul": [35, 37, 46], "simulated_error": 46, "simulatereset": 46, "sinc": [1, 2, 4, 9, 11, 23, 26, 29, 33, 34, 35, 37, 40, 41, 47, 52, 54, 55, 76, 80, 81, 83, 84, 85, 86, 89, 90, 92, 95], "singl": [5, 9, 11, 17, 24, 32, 33, 40, 47, 48, 51, 81, 82, 89, 90, 92, 97], "single_file_plugin": 33, "singleton": [80, 84], "singular": 62, "site": [83, 90], "situat": [9, 81, 92, 96], "six": 96, "sixteen_nin": [79, 82], "size": [2, 3, 6, 16, 31, 37, 39, 46, 47, 51, 52, 61, 78, 81, 82, 83, 86, 92], "sizethreshold": [13, 29, 37], "skeleton": 90, "skip": [19, 29, 37, 82, 83, 95], "skipuntilthi": 29, "skirt": 14, "skirt_line_count": 14, "slash": 78, "sleep": [9, 46, 86, 92], "sleep_a_bit": 33, "sleep_aft": 46, "sleep_after_next": 46, "slice": [3, 5, 10, 11, 38, 39, 56, 61, 62, 78, 79, 80, 82, 94, 95, 97], "slicer": [3, 5, 11, 37, 47, 54, 69, 79, 82, 85, 90, 95, 97], "slicer_nam": 85, "slicerexcept": [79, 85], "slicernotconfigur": [79, 85], "slicerplugin": [85, 93], "slicing_en": [79, 85], "slicing_manag": 92, "slicingcancel": [47, 79, 85, 95], "slicingconfig": [79, 82], "slicingdon": 47, "slicingexcept": [79, 85], "slicingfail": 47, "slicingmanag": [79, 80, 85, 92, 94], "slicingplugin": [80, 95], "slicingprofil": [37, 79, 82, 85, 95], "slicingprofilead": 47, "slicingprofiledelet": 47, "slicingprofilemodifi": 47, "slicingprogress": 47, "slicingstart": 47, "slicingviewmodel": 97, "slide": 70, "slider": [51, 79, 82], "slightli": [52, 57, 83], "slot": [46, 86], "slower": 70, "slowli": [41, 70], "small": [17, 42, 52, 92, 95, 96], "smaller": [10, 92], "smoothietemperaturereport": 46, "snappi": 56, "snapshot": [13, 16, 37, 74, 79, 81, 82, 83, 92, 95], "snapshotdisplai": [79, 82], "snapshotsslvalid": [79, 82], "snapshottimeout": [79, 82], "snapshoturl": 13, "snapshotwebcam": [79, 82], "snippet": [24, 25, 37, 51, 53, 79, 82, 95], "so": [2, 4, 9, 11, 17, 23, 24, 26, 33, 37, 40, 41, 42, 47, 48, 49, 52, 55, 57, 62, 78, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "socket": [4, 11, 23, 24, 47, 56, 58, 62, 92, 96], "socket_authed_hook": 92, "socket_emit_hook": 92, "socket_registration_hook": 92, "sockj": [11, 56, 62, 70, 79, 93], "sockjsconnecttimeout": [79, 82], "softwar": [13, 25, 30, 56, 89, 92], "softwareupd": [13, 88, 93], "solid": [41, 90], "solv": [37, 81, 96], "solver": 1, "some": [7, 9, 10, 11, 15, 17, 22, 25, 32, 33, 37, 40, 42, 48, 49, 50, 52, 54, 55, 57, 61, 73, 74, 80, 82, 83, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "some_command": 92, "some_custom_hook": 32, "some_depend": 88, "some_div": 97, "some_fil": [78, 95], "some_file_strip": 92, "some_flag": [40, 95], "some_fold": [3, 78], "some_hook": 37, "some_kei": 95, "some_key_unset": 95, "some_method": 95, "some_model": 3, "some_optional_paramet": 95, "some_other_bar": 86, "some_other_custom_hook": 32, "some_other_div": 97, "some_other_fold": 3, "some_other_hook": 37, "some_other_kei": 95, "some_other_key_unset": 95, "some_other_profil": 10, "some_other_set": 37, "some_other_valu": 95, "some_paramet": 95, "some_plugin": [7, 33, 37], "some_profil": 10, "some_set": [37, 40, 95], "some_sub_fold": 78, "some_us": 23, "some_valu": [40, 95], "some_vers": 37, "somedepend": 90, "somefil": 61, "somefunct": 57, "somegist": 33, "someimag": 74, "somekei": 57, "someon": [48, 92], "someotherparamet": 57, "someothervalu": 57, "someotherviewmodel": 97, "someparamet": 57, "somepathstofind": 61, "someplugin": 33, "somerepo": 90, "somesecretkei": 37, "someth": [3, 11, 13, 14, 37, 46, 47, 48, 49, 51, 52, 57, 58, 61, 62, 70, 81, 83, 92, 93, 95, 96, 97], "sometim": [41, 42, 96], "someus": [11, 33, 37, 90], "somevalu": 57, "somewher": [81, 90], "soon": [8, 65, 90], "sooner": 97, "sophist": [51, 52, 82, 95], "sort": [13, 37, 42, 80, 82, 92, 95], "sort_kei": 83, "sortabl": 80, "sortableplugin": [79, 80, 95], "sortimport": 42, "sorting_context": [80, 92], "sorting_ord": [79, 82], "sound": 48, "sourc": [5, 11, 30, 43, 47, 54, 55, 71, 78, 84, 85, 86, 87, 90, 92, 95, 96, 97], "source_file_typ": 95, "source_loc": [11, 95], "source_nam": 47, "source_path": [11, 47, 85, 95], "source_typ": [32, 47], "space": [3, 31, 33, 37, 40, 82], "span": [40, 83], "sparingli": [22, 81, 88], "spars": [37, 82], "spec": 92, "special": [11, 15, 37, 40, 49, 50, 54, 74, 82, 92, 95, 96], "specif": [1, 4, 5, 9, 11, 16, 23, 33, 37, 40, 42, 44, 46, 51, 52, 54, 57, 61, 73, 78, 80, 81, 82, 83, 84, 86, 88, 92, 93, 95], "specifi": [3, 6, 7, 9, 14, 15, 17, 23, 24, 25, 31, 33, 37, 42, 47, 48, 52, 59, 60, 61, 64, 66, 68, 69, 71, 78, 80, 81, 82, 83, 85, 86, 87, 88, 90, 92, 95, 97], "spectrum": 52, "speed": [9, 10, 37, 51, 52, 81, 82, 90, 92], "speed_i": 51, "speed_x": 51, "speed_z": 51, "spent": 2, "sphinx": 42, "split": [74, 78, 92], "split_path": [78, 79], "split_prefix": [79, 83], "splitext": 92, "spot": 41, "spread": 40, "squash": 90, "squish": 90, "src": [4, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42, 62, 74, 80, 90], "ss": 86, "ssdp": [25, 91], "ssdp_brows": 91, "sseof": 82, "ssh": [33, 48], "ssl": [17, 37, 82, 83], "ssliostream": 83, "stabil": 2, "stabl": [26, 29, 33, 37, 41, 42, 82], "stable_branch": [33, 89], "stable_channel": 33, "stablethreshold": [37, 79, 82], "stack": [57, 83, 86], "stacklevel": 86, "stackoverflow": [86, 90], "stage": [41, 42], "stai": [6, 40, 51, 92, 96], "stale": [11, 23], "stall": [1, 92], "stamp": 85, "standard": [24, 25, 37, 77, 82, 86, 88, 90, 92], "standard_opt": [77, 79], "start": [2, 3, 6, 9, 11, 17, 21, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 49, 50, 52, 53, 54, 57, 61, 62, 63, 77, 78, 80, 81, 82, 83, 86, 87, 89, 90, 92, 95, 96, 97], "start_callback": 92, "start_heartbeat": 83, "start_print": [47, 79, 81], "start_sd": 46, "startingdirectori": 42, "startonceinsafemod": [37, 55, 79, 82], "startswith": [80, 86, 92, 95], "startup": [1, 34, 37, 47, 54, 80, 81, 82, 90, 92, 93, 95], "startupplugin": [80, 90, 92, 93], "stat": [9, 11, 48], "state": [1, 4, 5, 6, 11, 13, 33, 37, 46, 47, 48, 49, 51, 66, 73, 80, 81, 82, 86, 92, 95, 97], "state_detect_seri": 92, "state_error": 92, "state_id": 47, "state_str": 47, "statement": [39, 90, 92, 96], "static": [4, 51, 57, 62, 80, 83, 86, 90, 92, 95], "static_fold": 95, "staticdatahandl": [79, 83, 92], "staticfilehandl": [83, 92], "staticzipbundlehandl": [79, 83], "statist": [11, 37, 82], "statisticaltotalprinttim": 92, "statisticaltotalprinttimetyp": 92, "statsweighinguntil": [37, 79, 82], "statu": [0, 1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 23, 31, 37, 74, 82, 83, 90, 92, 95, 97], "status_cod": [83, 92], "stderr": 86, "stdout": [33, 39, 86], "step": [3, 23, 30, 42, 51, 78, 79, 82, 89, 92, 95, 96, 97], "stepper": [48, 52], "stick": 96, "still": [3, 4, 8, 11, 16, 31, 33, 37, 40, 47, 48, 53, 55, 57, 65, 83, 86, 88, 90, 92, 95, 96, 97], "stl": [2, 3, 11, 47, 78, 95], "stl_locat": 47, "stock": [92, 95], "stop": [9, 46, 47, 48, 86, 90, 95, 97], "storag": [3, 15, 33, 47, 56, 79, 81, 92, 95], "storageinterfac": [78, 79], "store": [2, 3, 9, 10, 14, 24, 31, 37, 47, 52, 55, 58, 61, 78, 80, 82, 83, 84, 85, 86, 90, 92, 94, 95], "str": [23, 24, 46, 57, 77, 78, 80, 81, 82, 83, 84, 85, 86, 92, 95, 96], "stranger": 92, "strategi": [4, 43, 56, 96], "stream": [2, 3, 11, 13, 37, 39, 48, 50, 57, 78, 79, 82, 83, 92, 95, 96, 97], "stream_bodi": 83, "streamed_get": [79, 83], "streamer": [37, 82], "streamhandl": 39, "streamlin": [11, 14], "streamratio": [79, 82], "streamtimeout": [79, 82], "streamurl": 13, "streamwebrtciceserv": [79, 82], "streamwrapp": [78, 79, 92], "strict": [37, 40, 79, 82, 86], "string": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 14, 15, 16, 17, 23, 29, 31, 33, 36, 46, 47, 51, 57, 58, 60, 61, 64, 66, 67, 68, 69, 70, 71, 72, 73, 74, 78, 80, 81, 82, 83, 86, 88, 90, 92, 95, 96, 97], "strip": [3, 78, 86, 92], "strip_all_com": 92, "strip_com": 92, "strong": 15, "strongli": 96, "structur": [9, 11, 22, 33, 37, 40, 51, 52, 78, 80, 81, 82, 83, 84, 85, 86, 89, 90, 92, 95], "stuck": 81, "studio": 43, "stuff": [41, 51, 90], "stun": 82, "style": [37, 42, 46, 48, 51, 82, 93, 95], "styles_cont": 95, "styles_link": 95, "styles_wrapp": 95, "stylesheet": [37, 79, 82, 90, 95], "stylesheetenum": [79, 82], "styliz": 47, "sub": [2, 3, 4, 6, 24, 31, 33, 39, 61, 77, 78, 80, 86, 90, 95, 96], "subclass": [57, 78, 83, 86, 90, 92, 95], "subcod": 92, "subcommand": 77, "subdirectori": 83, "subfold": [2, 3, 61, 78, 90], "subgroup": [0, 2], "subject": 95, "submit": [4, 89], "subnet": [17, 37, 48, 82], "subscrib": [9, 11, 26, 82], "subscript": [11, 37, 47, 79, 82], "subscriptiontypeenum": [79, 82], "subset": 77, "subsetting21": 40, "subsetting22": 40, "substitut": 42, "substructur": 78, "subsubsetting221": 40, "subsubsetting222": 40, "subsubsetting223": 40, "subsystem": [24, 80, 88, 89, 94, 95], "subtre": [13, 78, 95], "succe": [14, 70, 85], "succeed": 33, "success": [0, 2, 3, 4, 6, 9, 10, 11, 13, 14, 17, 23, 31, 34, 37, 57, 80, 82, 86, 92, 95], "success_callback": 92, "success_or_failure_callback": 92, "successfulli": [7, 17, 34, 37, 47, 52, 80, 81, 83, 85, 86, 90, 95], "sudo": [37, 42, 48, 96], "suffic": [11, 52, 92], "suffix": [37, 57, 82, 83, 84, 92, 95], "suggest": 96, "suit": 42, "suitabl": 42, "sum": 96, "summari": [42, 96], "summary_limit": 22, "supersed": 47, "suppli": [1, 3, 4, 6, 9, 10, 19, 23, 25, 33, 47, 57, 61, 78, 80, 83, 85, 86, 92, 95, 96], "support": [2, 3, 4, 9, 11, 13, 16, 17, 24, 25, 26, 29, 30, 32, 33, 34, 37, 39, 46, 47, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 74, 78, 80, 82, 83, 84, 85, 86, 89, 90, 92, 95, 96, 97], "support_m503": 46, "support_x3g_machinecod": 92, "supported_stylesheet": 95, "supportedextens": 95, "supportf": 46, "supportfascommand": [37, 79, 82], "supportm112": 46, "supportresendswithoutok": [37, 79, 82], "supportwait": [79, 82], "suppos": [3, 15, 88, 92, 96], "suppress": [37, 47, 81, 82, 92, 95], "suppressapplicationtitl": 42, "suppressedcommand": 47, "sure": [4, 11, 13, 14, 24, 37, 40, 42, 43, 46, 48, 51, 52, 54, 62, 78, 81, 83, 86, 88, 89, 90, 92, 94, 95, 96], "swallowokafterresend": [37, 79, 82], "swap": 21, "switch": [33, 42, 51, 81, 90, 92, 96, 97], "sy": [39, 86, 96], "symptom": 1, "synchron": 9, "syntax": [40, 51, 52, 80, 82, 90], "system": [0, 2, 3, 5, 10, 11, 14, 17, 23, 24, 31, 32, 33, 34, 38, 39, 42, 47, 48, 49, 54, 55, 56, 62, 68, 78, 79, 80, 82, 83, 85, 87, 90, 91, 93, 95, 96], "systemconfig": [79, 82], "systeminfo": [82, 93], "systeminfobundlehandl": [79, 83], "systemmenu": [13, 37, 82], "systemrestartcommand": [37, 79, 82], "systemshutdowncommand": [37, 79, 82], "t": [0, 3, 4, 9, 11, 14, 15, 17, 23, 24, 32, 33, 37, 40, 42, 44, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 61, 70, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97], "t0": [3, 46, 52, 82, 92], "t1": [46, 92], "tab": [10, 13, 37, 40, 46, 48, 50, 51, 79, 81, 82, 90, 95, 97], "tab_plugin_helloworld": 90, "tab_plugin_myplugin": 95, "tab_plugin_myplugin_1st": 95, "tab_plugin_myplugin_2": 95, "tab_plugin_myplugin_2nd": 95, "tabtitl": 42, "tag": [33, 45, 81, 90, 92], "tailor": 34, "take": [3, 4, 6, 9, 25, 33, 37, 40, 41, 48, 50, 51, 52, 57, 62, 70, 78, 81, 82, 83, 84, 89, 90, 92, 95, 96, 97], "take_snapshot": 81, "take_webcam_snapshot": 95, "taken": [3, 10, 13, 33, 52, 61, 80, 83, 86, 90, 92, 94, 95], "talk": [37, 62, 82], "tar": [7, 32], "target": [2, 3, 4, 6, 9, 11, 17, 33, 37, 42, 46, 47, 52, 57, 66, 78, 81, 82, 83, 86, 90, 92, 94, 95, 96, 97], "target_commitish": 33, "target_vers": 33, "targetextr0": [37, 46, 82], "task": [42, 54, 57, 80, 95], "tb": 83, "tcp": 17, "tcpserver": 83, "te": 77, "team": [7, 33], "tell": [21, 42, 78, 88, 90, 92, 93], "temp": [11, 81], "temperatur": [3, 11, 13, 38, 46, 47, 48, 51, 52, 66, 79, 81, 82, 84, 85, 93, 97], "temperature_pol": 92, "temperatureautoreport": [79, 82], "temperatureconfig": [79, 82], "temperaturegraph": [37, 79, 82], "temperatureprofil": [79, 82], "temperaturetargetset": [13, 37, 79, 82], "temperatureviewmodel": 97, "templat": [5, 9, 37, 51, 52, 60, 62, 79, 81, 82, 83, 89, 90, 92, 94, 95, 97], "template_fold": 95, "template_head": 95, "template_kei": 95, "template_rul": 92, "template_sort": 92, "template_typ": 95, "templateplugin": [90, 92, 93], "templatetyp": [93, 95], "templatetype_hook": 92, "temporari": [37, 82, 83, 85], "temporarili": [33, 95, 96], "temporaryprofil": [79, 85], "tempt": 95, "ten": 92, "term": 95, "termin": [9, 13, 38, 42, 46, 48, 50, 82, 97], "terminalfilt": [13, 37, 79, 82], "terminalfilterentri": [79, 82], "terminallogs": [79, 82], "terminalviewmodel": 97, "test": [3, 4, 5, 14, 23, 37, 41, 42, 46, 62, 74, 78, 80, 83, 86, 89, 92, 95, 96], "test2": 3, "testballoon": 17, "testexecut": [62, 74], "testpath": [62, 74], "testpictur": 95, "testresolut": [62, 74], "testserv": [62, 74], "testurl": [62, 74], "text": [2, 9, 15, 17, 18, 21, 24, 37, 39, 40, 47, 48, 51, 55, 57, 62, 81, 82, 83, 90, 92, 95, 96], "textstatu": 57, "textual": [2, 6], "tgz": [7, 32], "than": [3, 4, 7, 10, 11, 15, 23, 33, 37, 42, 51, 52, 57, 70, 78, 80, 82, 84, 85, 90, 92, 95, 97], "thank": [9, 42, 43, 52], "the_end": 40, "thei": [9, 11, 15, 22, 23, 24, 33, 34, 37, 40, 45, 47, 48, 50, 52, 77, 78, 80, 82, 84, 87, 89, 90, 91, 92, 95, 96, 97], "them": [20, 21, 24, 32, 37, 52, 54, 57, 62, 80, 82, 83, 85, 87, 88, 90, 91, 92, 95, 96, 97], "theme": 93, "themselv": [33, 39, 88, 92, 95, 97], "therefor": [4, 90, 95, 97], "therein": [33, 42, 92, 96], "thereof": 92, "thermal": 47, "thi": [1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 66, 67, 74, 77, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 94, 95, 96, 97], "thing": [3, 13, 14, 24, 33, 37, 40, 48, 81, 82, 88, 89, 90, 92, 95, 97], "think": 48, "third": [4, 13, 23, 37, 54, 55, 62, 80, 82, 92, 96], "thirdparti": [13, 37, 82], "thoroughli": 96, "those": [13, 24, 33, 37, 41, 48, 49, 54, 57, 62, 78, 80, 83, 87, 90, 92, 95, 96, 97], "though": [0, 9, 37, 41, 81, 90, 95, 96], "thread": [9, 37, 81, 82, 86, 92], "threadsafesess": [79, 83], "three": [9, 11, 18, 21, 33, 40, 41, 55, 80, 87, 92, 96], "threshold": [37, 82, 83], "throttl": [11, 33, 34, 46, 62, 81], "throttle_highprio": [37, 79, 82], "throttle_lin": [79, 82], "throttle_normalprio": [37, 79, 82], "through": [4, 6, 9, 15, 20, 21, 22, 23, 24, 31, 32, 33, 35, 37, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 54, 55, 57, 78, 80, 81, 82, 83, 85, 86, 87, 88, 91, 92, 95, 96], "throughout": [81, 90, 92], "throw": [46, 57], "thrown": [81, 84, 85], "thu": [3, 4, 24, 33, 37, 41, 47, 48, 78, 82, 83, 88, 90, 92, 95, 96], "thumb": [40, 96], "thumbnail": 16, "tick": [51, 82], "ticket": 37, "tier": [37, 82], "time": [2, 9, 11, 17, 22, 23, 24, 32, 33, 37, 41, 46, 47, 49, 70, 78, 79, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96, 97], "timedelta": 86, "timedrotatingfilehandl": 39, "timelaps": [5, 13, 24, 37, 48, 56, 57, 62, 79, 82, 93, 95, 97], "timelapse_admin": 16, "timelapse_delet": 16, "timelapse_extension_hook": 92, "timelapse_list": 16, "timelapse_manage_unrend": 16, "timelapse_tmp": [13, 37, 79, 82], "timelapseconfig": [79, 82], "timelapseen": [79, 82], "timelapseopt": [79, 82], "timelapsetmp": 13, "timelapsetypeenum": [79, 82], "timelapseviewmodel": 97, "timelas": 82, "timeout": [13, 17, 37, 47, 52, 70, 74, 79, 81, 82, 83, 84, 86, 92], "timeoutcommun": 13, "timeoutconnect": 13, "timeoutdetect": 13, "timeoutsdstatu": 13, "timeouttemperatur": 13, "timeouttemperaturetargetset": 13, "timer": 86, "timestamp": [2, 7, 9, 16, 31, 46, 81, 83], "timezon": 83, "titl": [10, 22, 37, 82, 95], "tmp": [37, 82, 83], "tmpzupkro": 83, "tn": 52, "to_byt": [79, 86, 96], "to_entri": 92, "to_list": 92, "to_native_str": [79, 86], "to_str": [79, 86], "to_unicod": [79, 86, 96], "to_vers": 33, "todo": [83, 90], "togeth": [17, 51, 78, 82, 90], "toggl": 6, "toggle_pause_print": [79, 81], "toggleabl": 2, "togglepaus": [62, 63], "token": [4, 23, 31, 33, 57, 64, 71, 73, 74, 75, 83], "too": [3, 9, 11, 37, 42, 52, 82, 89, 90, 92, 95], "took": [47, 90], "tool": [2, 5, 33, 37, 41, 45, 46, 47, 52, 66, 78, 81, 82, 92], "tool0": [6, 9, 66, 78, 81], "tool1": [9, 66, 78, 81], "toolchang": 47, "toolx": 78, "top": [22, 37, 40, 48, 51, 81, 82, 87, 88, 90, 95, 96], "topic": 96, "tornado": [56, 79, 92], "tornadorouteplugin": 92, "total": [2, 37, 57, 82, 90], "touch": [24, 25, 32, 37, 48, 56, 82, 90], "toward": [4, 81, 96], "trace": [83, 90], "traceback": 86, "track": [9, 29, 30, 33, 37, 40, 47, 52, 56, 95], "tracker": 55, "traffic": 92, "trail": [57, 78], "transfer": [47, 92], "transferdon": 47, "transfering_fil": 81, "transferstart": 47, "transform": [92, 95], "transifex": 7, "translat": [7, 55, 79, 82, 90, 95], "transmit": [2, 83, 97], "transpar": [37, 82, 97], "transport": [81, 93], "travel": [2, 9, 78], "travelarea": [2, 78], "traveldimens": [2, 78], "treat": 4, "tree": [2, 13, 42, 61, 92, 95], "tremend": [40, 41, 90], "tri": [57, 58, 70, 80], "trick": [40, 92], "trigger": [9, 11, 20, 21, 23, 24, 37, 42, 46, 47, 49, 50, 51, 59, 80, 82, 87, 92, 94, 95, 97], "trigger_ev": [47, 80, 84], "trigger_missing_checksum": 46, "trigger_missing_lineno": 46, "trigger_resend_checksum": 46, "trigger_resend_lineno": 46, "triggerokform29": [37, 79, 82], "trip": 70, "trivial": 57, "troubl": 96, "troublesom": 96, "true": [0, 1, 2, 3, 4, 9, 10, 11, 13, 14, 15, 16, 17, 19, 21, 23, 24, 25, 33, 34, 37, 40, 42, 46, 47, 48, 51, 55, 57, 58, 61, 66, 70, 72, 77, 78, 80, 81, 82, 83, 84, 85, 86, 88, 91, 92, 95, 96], "truncat": 78, "trust": [37, 48, 82, 83], "trustbasicauthent": [37, 79, 82], "trusteddownstream": [37, 79, 82], "trustedsubnet": [37, 79, 82], "trustremoteus": [37, 79, 82], "truthi": 61, "try": [3, 17, 37, 47, 80, 81, 82, 86, 88, 90, 92, 95, 96, 97], "ttl": [22, 33, 37, 79, 82], "ttyacm0": [1, 37, 84], "tune": 46, "tupl": [10, 78, 80, 81, 83, 84, 85, 86, 92, 95, 97], "turn": [9, 40, 51, 82, 83, 90, 92, 95, 96, 97], "turtl": 2, "tutori": [56, 89, 93, 95], "tweak": 37, "twice": [11, 90], "twitter": 37, "two": [4, 9, 10, 12, 24, 37, 40, 48, 51, 52, 55, 61, 78, 80, 81, 82, 83, 86, 89, 90, 92, 95, 96], "txt": [17, 24, 25, 90, 95], "txt_record": 25, "typ": 83, "type": [0, 1, 2, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23, 24, 31, 32, 33, 37, 38, 42, 47, 52, 53, 54, 56, 57, 61, 62, 70, 74, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 92, 94, 95, 96, 97], "typealreadyinqueu": [79, 86], "typedqueu": [79, 86], "typeof": 57, "typeok": 17, "typepath": [2, 3, 78], "typic": 95, "u": [23, 25, 42, 90], "ubuntu": 42, "udp": [17, 74], "ugli": 90, "ui": [4, 10, 11, 13, 19, 20, 22, 33, 37, 47, 48, 51, 80, 82, 88, 90, 93, 95, 97], "ui_theming_hook": 92, "uiapikei": 95, "uiplugin": 93, "ul": 95, "umlaut": 3, "un": 78, "unauthent": 4, "unauthor": [4, 95], "unavail": 24, "unbind": 90, "uncaught": 83, "unchang": [77, 83], "uncom": 52, "uncommit": 45, "uncompress": 83, "unconfigur": [81, 85], "undefin": [61, 97], "under": [4, 6, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 37, 40, 41, 42, 47, 48, 51, 52, 56, 57, 78, 82, 85, 89, 90, 92, 95, 96, 97], "underestim": 48, "underli": [31, 34, 61, 64, 67, 68, 69, 71, 72, 73, 74, 75, 78, 83, 86], "underneath": [86, 90], "understand": [48, 90], "unequ": 33, "unexpect": [52, 90], "unicod": [2, 37, 78, 82, 93], "unicode_liter": 96, "uninstal": [32, 34, 55, 80, 87], "union": 83, "uniqu": [22, 26, 29, 34, 81, 90, 95], "unique_id": [26, 34], "unit": 86, "univers": [37, 82], "unix": [2, 31, 83], "unknown": [0, 3, 4, 11, 14, 47, 78, 81, 85, 95], "unknowncommandsneedack": [37, 79, 82], "unknownprofil": [79, 85], "unknownrol": [76, 79], "unknownscriptexcept": 81, "unknownslic": [79, 85], "unknownus": [76, 79], "unless": [10, 23, 33, 37, 39, 45, 48, 52, 82, 90, 95], "unload": [21, 79, 80, 87, 88], "unpack": 54, "unquot": 40, "unrecover": [2, 47], "unregist": [80, 81], "unregister_callback": [79, 81], "unregister_finish_callback": 78, "unregister_message_receiv": [79, 80], "unrel": 95, "unreleas": [26, 29], "unrend": [5, 37, 57, 72, 82], "unresolv": 83, "unsecur": 48, "unselect": [3, 81], "unselect_fil": [79, 81], "unset": [3, 4, 9, 10, 23, 25, 32, 33, 37, 47, 52, 57, 61, 73, 80, 81, 82, 95], "unsolv": 57, "unstructur": 82, "unsupport": [3, 17], "unsupportedoper": 78, "until": [23, 29, 37, 40, 45, 46, 57, 79, 82, 86, 95, 96], "unto": [73, 97], "untouch": 92, "unus": [22, 23, 37, 82, 95], "up": [4, 11, 13, 14, 24, 29, 33, 37, 41, 43, 44, 45, 48, 55, 56, 57, 70, 77, 80, 82, 83, 87, 88, 92, 93, 95, 96, 97], "upcom": 96, "updat": [5, 7, 9, 13, 16, 22, 30, 34, 37, 41, 42, 47, 56, 57, 62, 67, 69, 73, 81, 82, 83, 89, 90, 91, 92, 96], "update_check_overlai": 33, "update_config_hook": 33, "update_fold": 33, "update_script": 33, "updatedfil": 47, "updateplugindemo": 33, "updateprofileforslic": [62, 69], "upgrad": 42, "upload": [2, 4, 5, 24, 32, 37, 47, 48, 54, 57, 61, 62, 64, 79, 81, 82, 83, 84, 92, 95], "uploadoverwriteconfirm": [79, 82], "uploadsconfig": [79, 82], "uploadstoragefallbackhandl": [79, 83], "upnp": 25, "upnpuuid": 25, "upon": [3, 6, 7, 9, 10, 11, 14, 23, 37, 47, 48, 51, 78, 80, 81, 82, 83, 85, 88, 89, 90, 92, 95, 97], "upper": [32, 33, 70, 92, 95], "uppercas": [37, 82, 92], "upward": 52, "url": [2, 3, 10, 14, 15, 16, 22, 23, 24, 25, 31, 32, 33, 37, 48, 54, 57, 62, 74, 78, 79, 80, 82, 83, 88, 90, 92, 95], "url_for": [62, 92, 95], "urlforwardhandl": 92, "urlproxyhandl": [79, 83, 92], "us": [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 37, 39, 40, 41, 42, 44, 45, 46, 47, 51, 52, 54, 55, 57, 58, 59, 61, 62, 64, 65, 66, 69, 70, 71, 73, 74, 75, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 94, 95, 96, 97], "usabl": [57, 78, 80], "usag": [2, 11, 23, 30, 35, 36, 51, 56, 78, 83, 85, 86, 90, 92, 95], "use_enum_valu": 82, "usefrozendictforprinterst": [79, 82], "useparityworkaround": [79, 82], "user": [3, 5, 9, 11, 15, 17, 20, 21, 23, 25, 32, 33, 37, 42, 47, 48, 49, 51, 52, 54, 55, 56, 61, 62, 79, 82, 83, 85, 86, 87, 89, 93, 94, 95, 96, 97], "user_ag": 95, "user_group": 92, "user_id": [23, 83], "user_manag": 92, "user_manager_factory_hook": 92, "user_onli": 95, "user_token": 23, "userag": 95, "useralreadyexist": [76, 79], "userdata": [3, 47, 61], "userfil": [37, 79, 82], "userid": [70, 92], "userloggedin": 47, "userloggedout": 47, "usermanag": [37, 79, 80, 82, 83, 92, 94], "usernam": [0, 4, 23, 25, 33, 47, 58, 70, 76], "userset": [13, 37, 79, 82], "usersettingsviewmodel": 97, "usersviewmodel": 97, "usessl": 25, "usr": 96, "ustyantsev": 29, "usual": [4, 11, 23, 25, 33, 37, 39, 41, 44, 45, 48, 77, 82, 83, 90, 92, 95, 96, 97], "utc": 83, "utf": [3, 4, 24, 83, 86, 90, 92, 95, 96], "util": [4, 5, 11, 37, 48, 52, 56, 57, 61, 62, 70, 77, 79, 82, 84, 88, 90, 91, 92, 94, 95, 96], "uuid": 25, "v": [2, 37, 42, 53, 82, 86, 91, 92, 93], "v3": 56, "v6": 82, "v6_onli": 77, "valid": [3, 6, 9, 10, 11, 17, 24, 25, 33, 37, 40, 47, 51, 70, 79, 80, 81, 82, 83, 84, 92, 95, 97], "valid_ax": [79, 81], "valid_boolean_tru": [79, 84], "valid_file_typ": [92, 95], "valid_heater_regex": [79, 81], "valid_tool_regex": [79, 81], "validate_local_redirect": [79, 83], "validityrang": [37, 79, 82], "validssl": 17, "valu": [0, 2, 3, 4, 6, 9, 10, 11, 12, 14, 17, 23, 25, 33, 36, 37, 40, 47, 51, 52, 57, 60, 61, 66, 70, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 90, 92, 95, 96], "valuabl": [26, 34], "value1": [25, 40, 86], "value11": 40, "value2": [25, 86], "valueerror": [78, 80, 83, 84, 85, 86], "vanish": 81, "var": [57, 58, 61, 62, 70, 74, 90, 97], "variabl": [9, 24, 39, 51, 52, 62, 81, 82, 86, 90, 92, 95], "variable_deprec": [79, 86], "variable_pending_deprec": [79, 86], "variant": [4, 33, 40, 62, 89, 92], "variou": [5, 25, 33, 34, 35, 37, 51, 57, 62, 78, 80, 84, 88, 90, 92, 95], "vase": 16, "vcodec": 82, "ve": [90, 96], "vendor": [25, 32], "vendorurl": 25, "venv": [42, 90, 96], "venv2": 96, "venv3": 96, "venv37": 96, "verbos": 77, "veri": [40, 41, 48, 54, 62, 70, 81, 90, 95, 97], "verifi": [24, 83, 89, 95], "versa": 84, "version": [2, 4, 5, 6, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 41, 42, 43, 47, 48, 49, 50, 54, 55, 56, 57, 74, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 90, 92, 93, 94, 95], "versionad": 33, "vertic": [37, 51, 79, 82], "via": [4, 6, 9, 11, 15, 16, 17, 21, 22, 23, 24, 25, 32, 33, 37, 39, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 58, 66, 74, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 93, 95, 96], "vice": 84, "video": [16, 17, 37, 82, 95], "videocodec": [37, 82], "view": [51, 83, 84, 86, 90, 92, 95, 97], "viewer": [13, 30, 38, 48, 56, 97], "viewmodel": [56, 93], "viewport": 95, "violet": [37, 79, 82], "virtual": [1, 30, 37, 42, 43, 56, 78, 82, 89, 90, 92, 93], "virtual_print": [35, 46, 92], "virtualenv": [42, 90, 96], "virtualsd": [37, 79, 82], "visibl": [40, 95, 97], "visual": [10, 13, 43, 51, 57, 82, 95], "visualstudio": 42, "void": 90, "volum": [2, 3, 6, 10, 51, 52, 78, 81], "vscode": 43, "w": [17, 24, 46, 95], "wa": [2, 3, 4, 6, 7, 8, 9, 11, 14, 15, 17, 19, 24, 25, 28, 31, 32, 33, 37, 39, 40, 42, 45, 47, 52, 65, 66, 70, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "wai": [4, 9, 13, 37, 40, 41, 52, 55, 57, 62, 82, 87, 89, 90, 92, 95, 96], "wait": [9, 15, 21, 37, 46, 47, 82, 86, 92, 95, 96], "wait_for_handshak": 83, "waitforstartonconnect": [37, 79, 82], "waitinterv": 46, "waittoloadsdfilelist": [37, 79, 82], "want": [3, 9, 11, 13, 14, 24, 33, 37, 39, 40, 41, 42, 46, 48, 49, 51, 52, 54, 57, 62, 80, 81, 82, 83, 89, 90, 92, 95, 96, 97], "warn": [13, 34, 37, 47, 52, 57, 79, 82, 83, 86, 95, 96], "warn_about_risky_set": [79, 84], "wasn": 9, "watch": [37, 42, 79, 82, 95], "watcher": 42, "watermark": [37, 79, 82], "we": [40, 83, 88, 91, 92, 93, 95, 96, 97], "web": [4, 9, 11, 23, 25, 32, 37, 54, 55, 56, 62, 78, 82, 83, 93, 95], "webasset": [37, 62, 79, 82, 90], "webcam": [13, 38, 48, 56, 74, 79, 81, 83, 92, 95, 97], "webcamcompat": [79, 82], "webcamconfig": [79, 82], "webcamen": [79, 82], "webcamnam": 95, "webcamproviderplugin": 93, "webcamsnapshothandl": [79, 83], "webinterfac": [4, 23], "webkitformboundarydec2e3iwbtv1pwmc": 3, "webkitformboundarydec2e3iwbtv1pwmd": 3, "webkitformboundarypyisux63abamht5c": 83, "webpag": 88, "webrtc": 82, "webserv": [9, 92], "websit": [4, 22, 56, 78, 80, 90], "websocket": 83, "websockethandl": 83, "weight": [23, 37, 82], "weird": 96, "well": [3, 4, 17, 23, 24, 37, 39, 46, 55, 74, 80, 83, 84, 87, 90, 92, 95, 96, 97], "welt": 90, "went": [48, 57], "were": [19, 47, 55, 78, 90, 92, 95, 96], "werkzeug": 95, "what": [9, 13, 17, 34, 37, 41, 47, 48, 54, 61, 77, 82, 83, 87, 88, 90, 92, 95, 96], "whatev": [88, 92, 95], "when": [2, 3, 4, 11, 13, 14, 16, 17, 24, 26, 31, 32, 33, 37, 39, 40, 42, 46, 47, 48, 49, 51, 52, 54, 55, 57, 62, 66, 70, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 95, 96, 97], "whenev": [33, 48, 55, 95], "where": [10, 24, 37, 42, 48, 51, 55, 57, 78, 82, 83, 85, 87, 92, 93, 94, 95, 96], "wherev": 55, "whether": [0, 1, 2, 3, 4, 9, 10, 11, 14, 15, 16, 17, 19, 20, 21, 23, 24, 26, 29, 32, 33, 34, 37, 42, 46, 47, 48, 51, 52, 61, 66, 78, 80, 81, 82, 83, 84, 85, 86, 87, 92, 95, 96], "which": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 17, 19, 22, 23, 25, 26, 32, 33, 37, 39, 40, 46, 47, 48, 49, 51, 52, 54, 57, 61, 62, 64, 66, 68, 69, 70, 71, 72, 73, 78, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 94, 95, 96, 97], "whichev": 96, "while": [3, 6, 9, 11, 14, 23, 27, 28, 37, 45, 47, 48, 78, 80, 81, 82, 83, 85, 86, 90, 92, 95, 96], "whistle_": 3, "whistle_v2": [3, 6], "whistle_v2_copi": 3, "white": 40, "whitelist": [17, 86], "whitespac": 40, "whl": 32, "who": [23, 47, 48, 83, 95], "whole": [9, 13, 24, 33, 37, 52, 54, 57, 78, 82, 83, 92, 95], "whose": [86, 88, 92, 95], "why": [9, 26, 37, 40, 52, 66, 80, 88, 96], "wide": [5, 42, 68], "width": [2, 10, 51, 78, 81, 90, 95], "wiki": [37, 49, 54, 90], "wikipedia": 90, "will_handle_ui": 95, "win32": 86, "window": [23, 24, 25, 37, 39, 43, 51, 52, 54, 55, 57, 70, 84, 89, 90, 96], "winless": 90, "wish": [11, 37, 82, 87, 90, 92], "within": [2, 3, 10, 11, 14, 17, 19, 24, 37, 39, 40, 45, 47, 51, 55, 61, 74, 78, 80, 81, 82, 84, 86, 89, 90, 92, 95, 96], "without": [0, 2, 3, 4, 11, 14, 24, 33, 37, 40, 46, 47, 49, 51, 54, 56, 78, 82, 83, 86, 90, 92, 95, 96], "wizard": [5, 13, 37, 48, 56, 62, 79, 82, 95, 97], "wizardplugin": [19, 93, 97], "wizardviewmodel": 97, "wlan0": 48, "won": [9, 32, 48, 87, 91, 95], "wonder": 9, "word": [47, 84], "work": [4, 6, 8, 29, 33, 37, 40, 42, 48, 49, 52, 57, 65, 80, 81, 82, 83, 84, 86, 87, 89, 90, 92, 95, 96], "workflow": [4, 30, 62, 95], "workspacefold": 42, "world": [20, 37, 86, 90, 92, 95], "wors": 9, "worst": 92, "would": [3, 4, 9, 21, 39, 40, 47, 52, 77, 83, 84, 86, 89, 90, 92, 95, 96, 97], "wouldn": 56, "wrap": [33, 40, 51, 52, 57, 77, 78, 80, 83, 86, 92, 95, 96], "wrapper": [78, 83, 85, 95], "wrench": [32, 33], "writabl": [17, 78, 79], "write": [17, 24, 37, 40, 51, 52, 70, 78, 82, 86, 89, 92, 95, 96], "writetimeout": 92, "writeup": 89, "written": [37, 80, 82, 83, 96], "wrong": [4, 23, 48, 52, 57, 92], "wrote": 96, "wsgi": [9, 83], "wsgi_app": 83, "wsgi_appl": 83, "wsgicontain": 83, "wsgiinputcontain": [79, 83], "www": [37, 82, 83, 86], "x": [1, 2, 3, 4, 6, 7, 9, 10, 12, 13, 14, 15, 17, 18, 21, 23, 31, 37, 41, 43, 45, 47, 51, 52, 57, 66, 74, 78, 80, 81, 82, 83, 85, 92, 95, 96], "x0": [51, 52], "x10": [51, 92], "x145": 9, "x147": 9, "x148": 9, "x149": 9, "x2": 51, "x3g": 92, "x64": 42, "x86": 42, "x_max": 81, "x_min": 81, "xcode": 42, "xcodebuild": 42, "xmlhttprequest": [4, 57], "xormedia": 86, "xxlarg": 90, "xyz": 52, "xyze": 52, "y": [2, 3, 9, 10, 21, 41, 45, 47, 51, 52, 66, 78, 81, 82, 85, 92, 95], "y0": [51, 52], "y107": 9, "y108": 9, "y112": 9, "y2": 51, "y_max": 81, "y_min": 81, "yai": 40, "yaml": [9, 13, 15, 20, 21, 22, 25, 32, 33, 35, 36, 38, 46, 47, 51, 55, 56, 80, 82, 84, 88, 90, 92, 95, 96], "yamlpatch": 55, "ye": [9, 40, 96], "year": 96, "yellow": [10, 22, 37, 79, 82], "yet": [9, 14, 17, 21, 23, 46, 78, 80, 83, 84, 85, 90, 92, 95, 96, 97], "yetanotherhook": 92, "yh5baeaaaaalaaaaaabaaeaaaibraa7": 17, "yield": [51, 78, 86, 90], "yml": [4, 90], "you": [3, 4, 9, 11, 13, 14, 15, 20, 21, 24, 25, 26, 32, 33, 34, 37, 39, 40, 41, 42, 43, 44, 46, 47, 50, 51, 52, 54, 55, 56, 57, 61, 62, 70, 78, 81, 82, 83, 84, 86, 87, 88, 89, 90, 92, 95, 96, 97], "your": [11, 15, 24, 25, 32, 33, 37, 39, 40, 42, 47, 50, 51, 52, 54, 55, 56, 57, 62, 78, 80, 82, 88, 92, 93, 95, 97], "your_plugins_slicing_progress": 95, "youraddressrang": 48, "yourcustomviewmodel": 97, "yourgithubnam": 90, "yourself": [4, 24, 37, 78, 82, 90, 92, 95], "yourusernam": 48, "yte": 86, "yyyi": 86, "z": [2, 9, 10, 11, 37, 41, 47, 51, 52, 66, 78, 81, 82, 92, 95], "z0": 92, "z1": 51, "z10": 51, "z_max": 81, "z_min": 81, "zchang": [16, 37, 47, 79, 82], "zero": [15, 86], "zeroconf": 91, "zeroconf_brows": 91, "zeroconf_regist": 91, "zeroconf_unregist": 91, "zip": [7, 24, 32, 33, 54, 90, 93], "zlib": 86}, "titles": ["Access control", "Connection handling", "Common data model", "File operations", "General information", "REST API", "Job operations", "Languages", "Log file management", "Printer operations", "Printer profile operations", "Push updates", "Server information", "Settings", "Slicing", "System", "Timelapse", "Util", "Version information", "Wizard", "Action Command Notification support", "Action Command Prompt support", "Announcement Plugin", "Application Keys Plugin", "Backup Plugin", "Discovery Plugin", "Error Tracking Plugin", "File Check", "Firmware Check", "GCode Viewer Plugin", "Bundled Plugins", "Logging", "Plugin Manager", "Software Update Plugin", "Anonymous Usage Tracking Plugin", "Virtual Printer", "CLI", "config.yaml", "Configuration", "logging.yaml", "A YAML Primer", "OctoPrint\u2019s branching model", "Setting up a Development environment", "Development", "Profiling requests", "OctoPrint\u2019s versioning strategy", "Setting up the virtual printer for debugging", "Events", "Access Control", "Action Commands", "@ Commands", "Custom Controls", "GCODE Scripts", "Features", "Plugins", "Safe mode", "Welcome to OctoPrint\u2019s documentation!", "OctoPrintClient", "OctoPrintClient.browser", "OctoPrintClient.connection", "OctoPrintClient.control", "OctoPrintClient.files", "JavaScript Client Library", "OctoPrintClient.job", "OctoPrintClient.languages", "OctoPrintClient.logs", "OctoPrintClient.printer", "OctoPrintClient.printerprofiles", "OctoPrintClient.settings", "OctoPrintClient.slicing", "OctoPrintClient.socket", "OctoPrintClient.system", "OctoPrintClient.timelapse", "OctoPrintClient.users", "OctoPrintClient.util", "OctoPrintClient.wizard", "octoprint.access.users", "octoprint.cli", "octoprint.filemanager", "Internal Modules", "octoprint.plugin", "octoprint.printer", "octoprint.schema", "octoprint.server", "octoprint.settings", "octoprint.slicing", "octoprint.util", "General Concepts", "Control Properties", "Distributing your plugin", "Plugin Tutorial", "Helpers", "Hooks", "Developing Plugins", "Injected Properties", "Mixins", "Migrating to Python 3", "Viewmodels"], "titleterms": {"": [0, 3, 41, 45, 56, 90], "3": 96, "A": 40, "If": 48, "The": 48, "_http": 25, "_octoprint": 25, "_tcp": 25, "about": [6, 9, 19], "abridg": 2, "absolut": [48, 96], "access": [0, 2, 37, 48, 76, 92], "access_valid": 92, "accesscontrol": 92, "action": [20, 21, 49, 92], "actual": 90, "ad": 90, "add": [0, 10, 14, 90], "addit": 19, "additional_bundle_fil": 92, "additional_command": 92, "additional_exclud": [24, 92], "additional_port_nam": 92, "additional_state_data": 92, "address": 17, "adjust": 90, "after": 89, "after_backup": [24, 92], "after_request": 92, "after_restor": [24, 92], "all": [0, 3, 10, 14, 15], "an": [9, 10, 16, 23, 70], "analysi": [2, 37, 78, 92], "announc": [22, 25], "anonym": 34, "api": [0, 5, 13, 23, 31, 37, 92], "appear": 37, "applic": 23, "ar": 48, "arbitrari": 9, "assetplugin": 95, "atcommand": 92, "auth": [23, 70, 92], "author": [4, 23], "autologin": 48, "autologinconfig": 48, "avail": [31, 47, 48, 92, 95], "backup": [24, 92], "basic": 40, "bed": 9, "before_backup": [24, 92], "before_request": 92, "before_restor": [24, 92], "blueprintplugin": 95, "bodys": 92, "boolean": 40, "branch": 41, "browser": 58, "build": 42, "bundl": [30, 52], "byte": 96, "callback": 97, "capability_report": 92, "capabl": 92, "captur": 92, "chamber": 9, "chang": [0, 16, 39], "check": [27, 28, 33], "check_config": [33, 92], "checklist": 96, "cli": [36, 77, 92], "client": [15, 23, 31, 62], "code": [20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "comm": 92, "command": [1, 3, 6, 9, 15, 16, 20, 21, 23, 24, 33, 46, 49, 50, 92], "commandlin": 86, "common": [2, 33, 96], "commun": [20, 21, 47, 70], "compon": [7, 90], "concept": [87, 92, 95], "config": [16, 37, 48, 82], "configur": [16, 20, 21, 22, 24, 25, 26, 29, 32, 33, 34, 35, 38, 46, 47, 48], "connect": [1, 11, 59], "contain": 51, "content": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 16, 19, 37, 47, 51, 52, 56], "context": 52, "control": [0, 2, 9, 37, 48, 51, 60, 88], "core": 80, "creat": 3, "create_backup": 24, "credenti": 33, "cross": 4, "csrf": 4, "css": 90, "current": [4, 6, 9, 11, 13, 16], "custom": [9, 51, 90, 97], "data": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 40], "debug": 46, "decid": 23, "decis": 23, "definit": 15, "delet": [0, 3, 7, 14, 16, 31], "delete_backup": 24, "depend": 97, "destin": 78, "dev": 77, "develop": [37, 42, 43, 54, 93], "diagram": 97, "dialog": [23, 92], "dictionari": 40, "differ": 55, "disabl": 48, "discoveri": 25, "distribut": [89, 90], "divis": 96, "do": 90, "document": 56, "dure": 96, "easi": 48, "edit": 48, "emit": 92, "enabl": 46, "encod": 4, "entri": [19, 23], "environ": [42, 96], "error": [9, 26, 44, 92], "estim": [37, 92], "event": [11, 24, 32, 33, 37, 47, 52, 92], "eventhandlerplugin": 95, "exampl": [20, 21, 25, 40, 47, 51, 52], "except": [33, 85], "execut": [15, 92, 95], "exist": [10, 23], "extens": [48, 92], "extension_tre": 92, "factori": 92, "featur": [37, 53], "fetch": [13, 23], "file": [2, 3, 8, 27, 31, 46, 47, 61, 89], "filemanag": [78, 92], "filter": [37, 96], "find": 54, "finish": 19, "firmwar": [20, 21, 28, 92], "first": 33, "flask": 83, "float": 40, "folder": [2, 3, 37], "formatt": 39, "from": [3, 90, 96], "frontend": 90, "full": 9, "fun": 90, "function": 90, "further": [25, 96], "galor": 90, "gather": 48, "gcode": [2, 29, 37, 47, 51, 52, 92], "gener": [4, 87, 92, 95], "get": [0, 1, 96], "global": 33, "go": 90, "group": [0, 2], "grow": 90, "handl": [1, 47], "handle_connect": 92, "handler": 39, "hard": 48, "head": 9, "hello": 90, "helper": [24, 33, 91], "here": 90, "histor": 2, "histori": [2, 11], "hook": [24, 32, 33, 48, 92], "how": [55, 90, 96], "http": 92, "i": 96, "id": 42, "import": 96, "info": 92, "inform": [2, 3, 4, 6, 9, 12, 18, 31, 48], "inject": [90, 94, 95], "instal": [7, 54, 89], "instead": 96, "int": 40, "integ": 96, "interest": 40, "interfac": [90, 97], "intern": [48, 79], "issu": [1, 3, 6, 9, 16, 23], "iter": 96, "j": 31, "javascript": [23, 62, 90], "job": [2, 6, 63], "kei": [0, 13, 23], "keyvalid": 92, "languag": [7, 64], "last": 9, "level": 39, "librari": [23, 31, 62], "lifecycl": [87, 97], "line": [24, 33], "linux": 42, "list": [0, 7, 10, 14, 15, 16, 23, 31, 40, 96], "locat": 3, "log": [8, 31, 39, 46, 65], "logfil": 31, "login": [4, 48], "logout": 4, "mac": 42, "make": 90, "manag": [8, 32, 89], "manual": [48, 54, 89], "map": 96, "matter": 90, "metadata": 7, "method": 33, "migrat": 96, "mixin": 95, "mode": 55, "model": [0, 2, 3, 4, 6, 7, 9, 10, 11, 13, 14, 15, 16, 17, 19, 23, 31, 41], "modul": 79, "more": [52, 90], "need": 2, "new": [0, 10], "nifti": 52, "normal": 55, "notif": 20, "o": 42, "obtain": 42, "octopi": 48, "octoprint": [24, 32, 33, 41, 45, 48, 55, 56, 76, 77, 78, 80, 81, 82, 83, 84, 85, 86, 90, 92, 96], "octoprintcli": [31, 57, 58, 59, 60, 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "offici": 89, "offset": 2, "oper": [3, 6, 9, 10, 55], "option": [42, 46], "order": [92, 95], "origin": 4, "pack": 7, "packag": 89, "page": 90, "parameter": 51, "part": 90, "password": 0, "path": 17, "pattern": 33, "paus": 52, "payload": 11, "pend": 23, "permiss": [0, 2, 48, 92], "phase": 92, "pip": 89, "pitfal": 96, "placehold": 47, "platform": 86, "plugin": [20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 35, 37, 48, 54, 77, 80, 89, 90, 92, 93, 95, 96], "pluginmanag": [32, 92], "point": 2, "poll": 23, "post": 92, "pre": 92, "predefin": 52, "prepar": 48, "preprocessor": 92, "primer": 40, "print": [2, 9, 47], "printer": [2, 9, 10, 35, 37, 46, 47, 66, 81, 92], "printerprofil": 67, "probe": 23, "process": [23, 47], "profil": [10, 14, 37, 44, 47, 81], "progress": 2, "progressplugin": 95, "prompt": 21, "proper": 89, "properti": [88, 94, 95], "protect": 4, "protocol": 92, "push": 11, "pycharm": 42, "python": 96, "read": 96, "readi": 96, "receiv": 92, "recommend": 42, "reconnect": 97, "reconnect_hook": [32, 92], "record": 2, "redirect": 23, "refer": [2, 31], "regener": [0, 13], "regist": [15, 19, 89, 92, 97], "register_custom_ev": 92, "registr": 0, "relat": 2, "releas": 89, "reloadneedingplugin": 95, "remov": 10, "render": 16, "repositori": 89, "request": [0, 4, 9, 10, 14, 23, 44], "requir": 48, "resend": 2, "resolut": 17, "respons": [0, 3, 4, 6, 7, 9, 15, 23, 31], "rest": 5, "restartneedingplugin": 95, "result": 17, "resum": 52, "retriev": [0, 3, 6, 7, 9, 10, 13, 14, 16, 19, 31], "rout": 92, "rule": 40, "run": 42, "safe": 55, "sai": 90, "sampl": 70, "save": 13, "scalar": 40, "schema": 82, "script": [37, 51, 52, 92], "sd": 9, "sdcardupload": 92, "send": 9, "serial": [37, 92], "server": [12, 17, 37, 47, 77, 83, 92], "servic": 25, "set": [0, 1, 13, 37, 42, 46, 47, 68, 84, 90], "settingsplugin": 95, "setup": [42, 48, 70], "shutdownplugin": 95, "simpleapiplugin": 95, "singl": 10, "slice": [14, 37, 47, 69, 85], "slicer": 14, "slicerplugin": 95, "slicingprogress": 11, "snippet": 52, "socket": 70, "sockj": [83, 92], "softwar": 33, "softwareupd": [33, 92], "someth": 90, "sourc": [15, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32, 33, 34, 35, 42], "specif": [3, 14, 31, 48, 96], "start": [23, 55], "startup": 97, "startupplugin": 95, "stat": 2, "state": [2, 9], "statist": 2, "step": [33, 48], "storag": 78, "strategi": 45, "string": 40, "studio": 42, "style": 90, "support": [20, 21, 23], "system": [13, 15, 37, 71, 92], "systeminfo": 92, "tell": 96, "temperatur": [2, 9, 37, 92], "templat": 13, "templateplugin": 95, "templatetyp": 92, "termin": 37, "test": 17, "theme": [48, 92], "throttl": 70, "time": 16, "timelaps": [16, 47, 72, 92], "todo": 42, "tool": [9, 42], "tornado": 83, "track": [26, 34], "transport": 92, "trigger": 16, "tutori": 90, "type": [4, 40, 51, 80], "ui": 92, "uiplugin": 95, "unicod": 96, "unrend": 16, "up": [42, 46, 90], "updat": [0, 10, 11, 14, 33], "upload": [3, 7], "url": 17, "us": 48, "usag": [24, 33, 34], "user": [0, 2, 4, 73, 76, 90, 92], "util": [17, 33, 74, 78, 83, 86], "v": [55, 96], "variou": 17, "version": [18, 33, 45, 89, 96], "version_check": 33, "via": 89, "viewer": [29, 37], "viewmodel": 97, "virtual": [35, 46, 96], "visual": 42, "vpn": 48, "vscode": 42, "wai": 48, "we": 90, "web": [90, 92, 97], "webcam": [37, 82], "webcamproviderplugin": 95, "welcom": 56, "where": 90, "wide": 13, "window": 42, "wizard": [19, 75], "wizardplugin": 95, "workflow": 23, "x": 42, "yaml": [37, 39, 40, 48], "you": 48, "your": [48, 89, 90, 96], "z": 16, "zeroconf": 25, "zip": 96}}) \ No newline at end of file

                        order